天天看點

Linux TCP/IP網絡小課堂:net-tools與iproute2大比較

如今許多系統管理者仍結合使用ifconfig、route、arp和netstat等指令行工具(它們統稱為net-tools),管理和排查各種網絡配置。這類工具原先起源于BSD TCP/IP工具箱,旨在配置老式Linux核心的網絡功能。自2001年以後,它在Linux社群的發展就止步不前了。Arch Linux和CentOS/RHEL 7等一些Linux發行版已經棄用了net-tools,其他發行版計劃棄用net-tools,改而使用iproute2。

iproute2是另一個系列的網絡配置工具,它旨在取代net-tools的功能。net-tools可以通過procfs(/proc)和ioctl系統調用,通路和更改核心網絡配置,iproute2則通過網絡鍊路套接字接口與核心進行聯系。/proc接口比網絡鍊路接口來得更笨拙。抛開性能不講,iproute2的使用者界面比net-tools的使用者界面要來得直覺。比如說,網絡資源(比如鍊路、IP位址、路由和隧道等)用“對象”抽象進行了恰當的定義,你可以使用一緻的文法來管理不同的對象。最重要的是,迄今為止iproute2一直在積極開發當中。

如果你仍在使用net-tools,是時候改用iproute2了,如果你想跟上Linux核心的最新最好的網絡功能特性,更是如此。很可能有好多操作可以用iproute2來實作,卻無法用net-tools來實作,無論是基于源的路由、服務品質、虛拟區域網路(VLAN)、綁定,還是網橋其他什麼操作。另外值得一提的是,網絡管理器等更進階網絡配置工具依賴iproute2。

對于想要改用iproute2的那些人來說,下面對net-tools與iproute2進行了一番全面的比較。

顯示所有連接配接的網絡接口

下列指令顯示了所有可用的網絡接口(無論是不是活動網絡接口)。

使用net-tools:

使用iproute2:

Linux TCP/IP網絡小課堂:net-tools與iproute2大比較

激活或禁止網絡接口

想激活/禁止某一個網絡接口,可以使用這些指令。

将一個或多個IPv4位址配置設定給網絡接口

使用這些指令,即可配置網絡接口的IPv4位址。

注意:如果使用iproute2,你可以将多個IP位址配置設定給某個接口;如果換成ifconfig,就無法做到這點。就ifconfig而言,一個變通辦法就是使用IP别名。

從網絡接口删除IPv4位址

就删除IP位址而言,如果使用net-tools,除了配置設定0給接口外,沒有合适的方法從網絡接口删除IPv4位址。iproute2可以合理地處理這個問題。

顯示網絡接口的一個或多個IPv4位址

可以通過下列方法,檢查某一個網絡接口的IPv4位址。

同樣,要是有多個IP位址配置設定給了某個接口,iproute2就會顯示所有IP位址,而net-tools隻能顯示一個IP位址。

Linux TCP/IP網絡小課堂:net-tools與iproute2大比較

配置設定IPv6位址給網絡接口

使用這些指令,即可将一個或多個IPv6位址添加給某個網絡接口。net-tools和iproute2都讓你可以将多個IPv6位址添加給某個接口。

顯示網絡接口的一個或多個IPv6位址

可以通過以下方法顯示某一個網絡接口的IPv6位址。net-tools和iproute2都能顯示所有已配置設定的IPv6位址。

Linux TCP/IP網絡小課堂:net-tools與iproute2大比較

删除網絡接口的IPv6位址

使用這些指令即可删除某個接口的任何不必要的IPv6位址。

更改網絡接口的MAC位址

若想欺騙網絡接口的MAC位址,請使用下列指令。要注意:在更改MAC位址之前,你需要先禁止該接口。

檢視IP路由表

net-tools有兩個選項可用于顯示核心的IP路由表:route或netstat。如果是iproute2,隻需使用ip route指令。

Linux TCP/IP網絡小課堂:net-tools與iproute2大比較

添加或改動預設路由

下面這些指令可以添加或改動核心IP路由表中的預設路由。要注意:如果使用net-tools,隻要添加一個新的預設路由,就可以實作改動預設路由這個操作。如果使用iproute2,隻需使用ip route replace指令。

添加或删除靜态路由

可使用下列指令添加或删除靜态路由。

檢視套接字統計資料

下面這些指令可以檢視套接字統計資料(比如激活/偵聽TCP/UDP套接字)。

Linux TCP/IP網絡小課堂:net-tools與iproute2大比較

檢視ARP表

你可以使用這些指令來顯示核心的ARP表。

Linux TCP/IP網絡小課堂:net-tools與iproute2大比較

添加或删除靜态ARP項

添加或删除本地ARP表中的靜态ARP項可通過以下方法來實作。

添加、删除或檢視多點傳播位址

想配置或檢視某個網絡接口上的多點傳播位址,可以使用下列指令。

英文:http://xmodulo.com/2014/09/linux-tcpip-networking-net-tools-iproute2.html

繼續閱讀