Linux ip命令詳解
前言
我之前一直都使用ifconfig
命令,覺的這個命令挺好用的,後來有次安裝Linux髮型版本,發現沒有了ifconfig
這個工具了,無奈之下,到處百度,發現了ip
這個命令,一頓學習後,發現ip
命令完全可以替代ifconfig
命令,而且功能還比ifconfig
命令強大,所以,還等什麼,借用現在的一個網路流行詞:盤它。
命令簡介
作為每個Linux網路管理員和所有的Linux使用者們,ip
命令是必備工具,這個命令完美的取代了ifconfig
命令,所以這篇文章就將全面的總結ip
命令,希望通過我的這篇總結,讓大家可以更熟悉ip
命令。
命令詳解
ip
常用命令格式如下:
ip [ OPTIONS ] OBJECT { COMMAND | help }
物件OBJECT={ link | addr | addrlabel | route | rule | neigh | ntable | tunnel | maddr | mroute | mrule | monitor | xfrm | token }
選項OPTIONS={ -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] | -h[uman-readable] | -iec | -f[amily] { inet | inet6 | ipx | dnet | link } | -o[neline] | -t[imestamp] | -b[atch] [filename] | -rc[vbuf] [size] }
常用物件的取值含義如下:
link address addrlabel route rule
常用選項的取值含義如下:
-V,-Version -s,-stats,statistics -h,-human,-human-readable -o,-oneline
使用例項-檢查網絡卡資訊
說實話這個ip
命令真的好複雜,選項引數有那麼多,所以吧,我們不可能每個功能面面俱到。所以呢,我這裡就對我們日常工作中經常用到的一些用法進行總結。
-
命令:
ip addr show
說明:顯示網絡卡及配置的地址資訊
輸出:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:1e:4f:c8:43:fc brd ff:ff:ff:ff:ff:ff inet 192.168.0.24/24 brd 192.168.0.255 scope global eth0 valid_lft forever preferred_lft forever
輸出內容詳解:
首先這個系統有兩個介面:
lo
和eth0
,lo
是環回介面,而我們重點關注的則是eth0
這個普通網路介面;下面在看看每個子項的含義:-
<BROADCAST,MULTICAST,UP,LOWER_UP>
:BROADCAST
表示該介面支援廣播;MULTICAST
表示該介面支援多播;UP
表示該網路介面已啟用;LOWER_UP
表示網路電纜已插入,裝置已連線至網路 -
mtu 1500
:最大傳輸單位(資料包大小)為1,500位元組 -
qdisc pfifo_fast
:用於資料包排隊 -
state UP
:網路介面已啟用 -
qlen 1000
:傳輸佇列長度 -
link/ether 00:1e:4f:c8:43:fc
:介面的MAC(硬體)地址 -
brd ff:ff:ff:ff:ff:ff
:廣播地址 -
inet 192.168.0.24/24
:IPv4地址 -
brd 192.168.0.255
:廣播地址 -
scope global
:全域性有效 -
dynamic enp0s25
:地址是動態分配的 -
valid_lft forever
:IPv4地址的有效使用期限 -
preferred_lft forever
:IPv4地址的首選生存期 -
inet6 fe80::2c8e:1de0:a862:14fd/64
:IPv6地址 -
scope link
:僅在此裝置上有效 -
valid_lft forever
:IPv6地址的有效使用期限 -
preferred_lft forever
:IPv6地址的首選生存期
-
使用例項-IP管理
-
命令:
ip addr add 192.168.0.123/24 dev eth0
說明:設定IP -
命令:
ip add del 192.168.0.123/24 dev eth0
說明:刪除配置的IP
使用例項-啟用/禁用網絡卡
-
命令:
ip link set eth0 up
說明:啟用被禁用的網絡卡 -
命令:
ip link set eth0 down
說明:禁用網絡卡
使用例項-路由配置
-
命令:
ip route show
說明:檢視路由資訊
輸出:
default via 172.17.175.253 dev eth0 169.254.0.0/16 dev eth0 scope link metric 1002 172.17.160.0/20 dev eth0 proto kernel scope link src 172.17.169.20
輸出內容詳解:
- 輸出內容第一條是預設的路由,我們可以根據我們的需要改動它
-
metric 1002
:跳躍計數,確定閘道器的優先順序,預設20,數值越小優先順序越高 -
proto kernel
:該路由的協議,主要有redirect
,kernel
,boot
,static
,ra
等,其中kernel
指的是直接由核心判斷自動設定
-
命令:
ip route get 119.75.216.20
說明:通過IP地址查詢路由包從哪條路由來 -
命令:
ip route add default via 192.168.0.150/24
說明:所有的網路資料包都通過192.168.0.150來轉發,而不是以前的預設路由 -
命令:
ip route add 172.16.32.32 via 192.168.0.150/24 dev enp0s3
說明:修改特定網絡卡的預設路由 -
命令:
ip route del 172.17.160.0/20
說明:刪除路由 -
命令:
ip route flush cache
說明:重新整理路由表
使用例項-顯示網路統計資料
這個顯示網路統計資料則是ip
命令非常重要的一個功能,很多時候,我們都依靠該功能來進行排除網路故障。
-
命令:
ip -s link
說明:顯示所有網路介面的統計資料
輸出:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 RX: bytespacketserrorsdropped overrun mcast 361849729592 174114258 0000 TX: bytespacketserrorsdropped carrier collsns 361849729592 174114258 0000 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000 link/ether 00:16:3e:08:08:55 brd ff:ff:ff:ff:ff:ff RX: bytespacketserrorsdropped overrun mcast 32345193376 115901261 0000 TX: bytespacketserrorsdropped carrier collsns 139742200499 114451909 0000
輸出重點內容詳解:
RX TX bytes packets errors dropped overrun mcast carrier collsns
-
命令:
ip -s -s link ls eth0
說明:獲取一個特定網路介面的資訊;在網路介面名字後面新增選項ls
即可。使用多個選項-s
會輸出指定介面詳細的資訊;特別是在排除網路連線故障時,這會非常有用。
輸出:2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000 link/ether 00:16:3e:08:08:55 brd ff:ff:ff:ff:ff:ff RX: bytespacketserrorsdropped overrun mcast 32469801665 116402997 0000 RX errors: lengthcrcframefifomissed 00000 TX: bytespacketserrorsdropped carrier collsns 140235841575 115066014 0000 TX errors: abortedfifowindow heartbeat transns 00002
總結
ip
命令就是運維人員手中的瑞士軍刀,接下來就需要我們去熟練的用起來。我這裡就是簡單的總結了一下ip
命令,接下來就靠大家去領悟、學習和運用了。到此,ip
命令的總結就到此結束,後續如有特殊用法,我再繼續補充。
果凍想,認真玩技術的地方。
2019年1月31日,於內蒙古呼和浩特。