1. 程式人生 > >linux網路工具iproute2

linux網路工具iproute2

文章來源: https://blog.csdn.net/edu_enth/article/details/58065987
沒找到轉載功能,只好複製到這裡了,很食用的文章,感謝作者“汙湖洞主”

一、寫本文的目的
本文完全是自己在學習iproute2的過程中搜集的大雜燴,記錄在這裡,方便以後自己查詢學習,圖片都是來自網路,在此表示感謝!

二、簡單瞭解iproute2工具套裝
iproute2是linux下管理控制TCP/IP網路和流量控制的新一代工具包,旨在替代老派的工具鏈net-tools,即大家比較熟悉的ifconfig,arp,route,netstat等命令。
要說這兩套工具本質的區別,應該是net-tools是通過procfs(/proc)和ioctl系統呼叫去訪問和改變核心網路配置,而iproute2則通過netlink套接字介面與核心通訊。
其次,net-tools的用法給人的感覺是比較亂,而iproute2的使用者介面相對net-tools來說相對來說,更加直觀。比如,各種網路資源(如link、IP地址、路由和隧道等)均使用合適的物件抽象去定義,使得使用者可使用一致的語法去管理不同的物件。
所以,net-tools和iproute2都需要去學習掌握了。
iproute2的核心命令是ip:

這裡寫圖片描述
這裡寫圖片描述
三、iproute2的典型應用
本小節,我會使用net-tools和iproute2的命令做對比,做到簡單明瞭,分別演示如何去獲取、配置和作業系統網路資訊。
以下是net-tools和iproute2的大致對比:
這裡寫圖片描述
(一)網路介面相關
(1) 查詢所有已連線的網路介面(network interface)
使用net-tools:
[email protected]:~# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:0c:29:0d:ce:93
inet addr:192.168.6.138 Bcast:192.168.6.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe0d:ce93/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:202741 errors:1 dropped:3312 overruns:0 frame:0
TX packets:60730 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:27472662 (27.4 MB) TX bytes:51025509 (51.0 MB)
Interrupt:18 Base address:0x2000
eth0:1Link encap:Ethernet HWaddr 00:0c:29:0d:ce:93
inet addr:192.168.6.139 Bcast:192.168.6.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:18 Base address:0x2000
loLink encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:5 errors:0 dropped:0 overruns:0 frame:0
TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:512 (512.0 B) TX bytes:512 (512.0 B)
ifconfig -a顯示的是系統所有的網路介面,不管是啟用的還是未啟用的。
這裡簡單對ifconfig的輸出做個解釋:
第一行:Link encap(連線型別) HWaddr(網絡卡的硬體地址,即MAC地址)
第二行:inet addr(網絡卡的IPv4地址) Bcast(廣播地址) Mask(子網掩碼)
第三行:inet6 addr(網絡卡的IPv6地址)
第四行:UP(代表網絡卡是啟用狀態) BROADCAST(支援廣播) RUNNING(代表網絡卡的網線被接上) MULTICAST(支援組播) MTU(最大傳輸單元) Metric(用於計算路由的成本)
第五、六行: 表示網路啟動到現在接收和傳送的網路包(packets)數量
第七行:collisions(衝突資訊包的數目) txqueuelen(傳送佇列的大小)
第八行:表示網路啟動到現在接收和傳送的總位元組量(bytes)
HWaddr :網絡卡的硬體地址,即MAC地址
inet addr:IPv4的IP 地址
Bcast:廣播地址
mask:子網掩碼
inet6 addr:IPv6地址
MTU:最大傳輸單元
Metric:用於計算路由的成本
RX:表示網路啟動到現在的封包接受情況 (Receive)
packets:表示接包數
errors:表示接包發生錯誤的數量
dropped:表示丟棄的包數量
overruns:表示接收時因過速而丟失的資料包數
frame:表示發生frame錯誤而丟失的資料包數
TX:從網路啟動到現在傳送的情況 (Transmit)
collisions:衝突資訊包的數目
txqueuelen:傳送佇列的大小
RX byte、TX byte:總傳送/接受的量
注:由RX和TX可以瞭解網路是否非常繁忙
注:errors:0 dropped:0 overruns:0 frame:0,都為0 說明網路比較穩定
注:collisions發生太多次表示網路狀況不太好
如果只想知道特定網路介面的資訊,可以指定具體網路介面名稱,例如ifconfig eth0,ifconfig lo
使用iproute2:

[email protected]:~# ip link show
1: lo: