[轉]iproute 安裝包中 12個 ip 常用命令

本教程將會討論 ip 命令的 12 中最常用法,讓我們開始吧。

案例 1:檢查網卡信息

檢查網卡的諸如 IP 地址,子網等網絡信息,使用 ip addr show 命令:

[linuxtechi@localhost]$ ip addr show

或

[linuxtechi@localhost]$ ip a s

這會顯示系統中所有可用網卡的相關網絡信息,不過如果你想查看某塊網卡的信息,則命令爲:

[linuxtechi@localhost]$ ip addr show enp0s3

這裏 enp0s3 是網卡的名字。

iproute 安裝包中 12個  ip 常用命令iproute 安裝包中 12個  ip 常用命令

IP-addr-show-commant-output

案例 2:啓用/禁用網卡

使用 ip 命令來啓用一個被禁用的網卡:

[linuxtechi@localhost]$ sudo ip link set enp0s3 up

而要禁用網卡則使用 down 觸發器:

[linuxtechi@localhost]$ sudo ip link set enp0s3 down
案例 3:爲網卡分配 IP 地址以及其他網絡信息

要爲網卡分配 IP 地址,我們使用下面命令:

[linuxtechi@localhost]$ sudo ip addr add 192.168.0.50/255.255.255.0 dev enp0s3

也可以使用 ip 命令來設置廣播地址。默認是沒有設置廣播地址的,設置廣播地址的命令爲:

[linuxtechi@localhost]$ sudo  ip addr add broadcast 192.168.0.255 dev enp0s3

我們也可以使用下面命令來根據 IP 地址設置標準的廣播地址:

[linuxtechi@localhost]$  sudo ip addr add 192.168.0.10/24 brd + dev enp0s3

如上面例子所示,我們可以使用 brd 代替 broadcast 來設置廣播地址。

案例 4:刪除網卡中配置的 IP 地址

若想從網卡中刪掉某個 IP,使用如下 ip 命令:

[linuxtechi@localhost]$ sudo ip addr del 192.168.0.10/24 dev enp0s3
案例 5:爲網卡添加別名(假設網卡名爲 enp0s3)

添加別名,即爲網卡添加不止一個 IP,執行下面命令:
iproute 安裝包中 12個  ip 常用命令iproute 安裝包中 12個  ip 常用命令

[linuxtechi@localhost]$  sudo ip addr add 192.168.0.20/24 dev enp0s3 label enp0s3:1

ip-command-add-alias-linux

案例 6:檢查路由/默認網關的信息

查看路由信息會給我們顯示數據包到達目的地的路由路徑。要查看網絡路由信息,執行下面命令:

[linuxtechi@localhost]$  ip route show

iproute 安裝包中 12個  ip 常用命令iproute 安裝包中 12個  ip 常用命令

ip-route-command-output

在上面輸出結果中,我們能夠看到所有網卡上數據包的路由信息。我們也可以獲取特定 IP 的路由信息,方法是:

[linuxtechi@localhost]$ sudo ip route get 192.168.0.1
案例 7:添加靜態路由

我們也可以使用 IP 來修改數據包的默認路由。方法是使用 ip route 命令:

[linuxtechi@localhost]$ sudo ip route add default via 192.168.0.150/24

這樣所有的網絡數據包通過 192.168.0.150 來轉發,而不是以前的默認路由了。若要修改某個網卡的默認路由,執行:

[linuxtechi@localhost]$ sudo ip route add 172.16.32.32 via 192.168.0.150/24 dev enp0s3
案例 8:刪除默認路由

要刪除之前設置的默認路由,打開終端然後運行:

[linuxtechi@localhost]$  sudo ip route del 192.168.0.150/24

注意: 用上面方法修改的默認路由只是臨時有效的,在系統重啓後所有的改動都會丟失。要永久修改路由,需要修改或創建 route-enp0s3 文件。將下面這行加入其中:

[linuxtechi@localhost]$  sudo vi /etc/sysconfig/network-scripts/route-enp0s3

172.16.32.32 via 192.168.0.150/24 dev enp0s3

保存並退出該文件。

若你使用的是基於 Ubuntu 或 debian 的操作系統,則該要修改的文件爲 /etc/network/interfaces,然後添加 ip route add 172.16.32.32 via 192.168.0.150/24 dev enp0s3 這行到文件末尾。

案例 9:檢查所有的 ARP 記錄

ARP,是地址解析協議Address Resolution Protocol的縮寫,用於將 IP 地址轉換爲物理地址(也就是 MAC 地址)。所有的 IP 和其對應的 MAC 明細都存儲在一張表中,這張表叫做 ARP 緩存。

要查看 ARP 緩存中的記錄,即連接到局域網中設備的 MAC 地址,則使用如下 ip 命令:

[linuxtechi@localhost]$  ip neigh

iproute 安裝包中 12個  ip 常用命令iproute 安裝包中 12個  ip 常用命令

ip-neigh-command-linux

案例 10:修改 ARP 記錄

刪除 ARP 記錄的命令爲:

[linuxtechi@localhost]$ sudo ip neigh del 192.168.0.106 dev enp0s3

若想往 ARP 緩存中添加新記錄,則命令爲:

[linuxtechi@localhost]$ sudo ip neigh add 192.168.0.150 lladdr 33:1g:75:37:r3:84 dev enp0s3 nud perm

這裏 nud 的意思是 “neghbour state”(網絡鄰居狀態),它的值可以是:

  • perm - 永久有效並且只能被管理員刪除
  • noarp - 記錄有效,但在生命週期過期後就允許被刪除了
  • stale - 記錄有效,但可能已經過期
  • reachable - 記錄有效,但超時後就失效了
案例 11:查看網絡統計信息

通過 ip 命令還能查看網絡的統計信息,比如所有網卡上傳輸的字節數和報文數,錯誤或丟棄的報文數等。使用 ip -s link 命令來查看:

[linuxtechi@localhost]$ ip -s link

iproute 安裝包中 12個  ip 常用命令iproute 安裝包中 12個  ip 常用命令

ip-s-command-linux

案例 12:獲取幫助

若你想查看某個上面例子中沒有的選項,那麼你可以查看幫助。事實上對任何命令你都可以尋求幫助。要列出 ip 命令的所有可選項,執行:

[linuxtechi@localhost]$ ip help
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章