IP 命令是現代 Linux 發行版上默認安裝的 iproute 包的一部分。 Linux 使用 IP 命令來管理和顯示網絡接口、IP 地址、IP 路由表和 IP 鄰居條目。它通常用於為網絡接口分配 IP 地址和配置網絡接口設置。
在本教程中,您將學習 Linux IP 命令 帶有使用示例。
Linux IP 命令用法
以下是 IP 命令語法。
$ ip [ OPTIONS ] OBJECT { COMMAND | help }
$ ip help
OBJECT 是要管理的對像類型,包括:
- 鏈接 (l):查看和更改網絡接口。
- 地址 (a):查看和更改 IP 地址。
- route(r):顯示/修改路由表。
- neigh (n):顯示和修改 ARP 表。
命令可以以完整或簡短的形式執行。例如, ip addr
還 ip address
您將看到相同的輸出。
1.查看和管理IP地址
ip addr 命令允許您查看、分配和刪除 Linux 系統上的 IP 地址。 ip addr 對象使用以下語法:
ip addr [ COMMAND ] ADDRESS dev IFNAME
有關地址命令的更多信息,請使用幫助命令。
ip addr help

顯示所有網絡接口的列表
ip addr show 命令列出所有網絡接口及其分配的 IP 地址。
例如:
ip addr show

要僅查看 IPv4 或 IPv6 輸出,請使用以下命令:
To display IPv4 ip addressip -4 addr
To display IPv6 ip addressip -6 addr
顯示有關特定網絡接口的信息
要顯示有關特定接口的信息,請使用以下語法。
ip addr show dev [Device Name]
例如,要顯示有關 ens33 的信息,請鍵入:
ip addr show dev ens33

為接口分配 IP 地址
要將 IP 地址分配給接口,請使用 ip addr add 命令。
句法:
ip addr add [ ADDRESS ] dev [Interface Name]
這個 [ ADDRESS ] 想分配給 [Interface Name].
例如,要將地址 192.168.239.140 和子網掩碼 24 添加到設備 ens33:
ip addr add 192.168.239.140/24 dev ens33
如果將 IP 地址添加到設備或顯示錯誤,則不會顯示任何輸出。
向一個接口添加多個 IP 地址
要為一個接口添加多個 IP 地址,您需要多次使用上述相同的命令。
例如,要將子網掩碼為 24 的地址 192.168.239.140 和 192.168.239.135 添加到設備 ens33,請鍵入:
ip addr add 192.168.239.140/24 dev ens33
ip addr add 192.168.239.135/24 dev ens33
從接口中刪除 IP 地址
使用以下語法從接口中刪除 IP 地址:
ip addr del [ ADDRESS ] dev [ Interface Name ]
例如,要從設備 ens33 中刪除子網掩碼為 24 的地址 192.168.30.12,請鍵入:
ip addr del 192.168.239.140/24 dev ens33
如果從設備中刪除 IP 地址或顯示錯誤,則不會顯示任何輸出。
2.查看和管理網絡接口
ip link 命令用於管理和顯示所有網絡接口的狀態。 可以配置txqueuelen、interface up/down、MTU等TCP/IP棧網絡接口值。我們可以用 ip link set
為此命令。
要查看鏈接對象命令列表,可以使用幫助命令,如下所示:
$ ip link help

獲取網絡接口信息
ip link show 命令顯示所有網絡接口的信息。
$ ip link show

要顯示有關特定設備的信息,請使用以下語法。
$ ip link show dev [Device Name]
例如,要顯示有關 ens33 的網絡信息,可以使用以下命令:
$ ip link show dev ens33

將接口狀態設置為 UP 或 DOWN
要設置接口打開或關閉,請使用以下語法:
ip link set dev [ Device Name ] [ up/down ]
例如,要使 ens33 聯機,請使用以下命令:
ip link set dev ens33 up
設備上電或顯示錯誤時不顯示輸出。
同樣,要關閉 ens33,請使用以下命令:
ip link set dev ens33 down
設備關閉或顯示錯誤時不顯示輸出。
更改設備的 txqueuelen
要更改設備的傳輸隊列,請使用以下語法:
ip link set txqueuelen [ Number ] dev [ Interface Name ]
例如,要為 ens33 設備設置傳輸隊列 5,請使用以下命令:
ip link set txqueuelen 5 dev ens33
如果配置了傳輸隊列或顯示錯誤,則不顯示任何輸出。
更改 MTU
要更改 MTU(最大傳輸單元),請使用以下語法:
ip link set mtu [ Number ] dev [ Interface Name ]
例如,要將 ens33 設備的 MTU 設置為 1400,請使用以下命令:
ip link set mtu 1400 dev ens33
如果更改 MTU,則不會顯示任何輸出。如果設備名稱不存在或 MTU 設置小於設備的最小值,則會顯示錯誤。
更改 MAC 地址
要更改設備的 MAC 地址,請使用以下語法:
ip link set dev [ Device Name ] address [ MAC ADDRESS ]
刪除虛擬接口
您可以使用 ip link delete 命令刪除虛擬接口。例如
ip link delete vip
這將刪除名為 vip 的虛擬接口。
添加網橋和虛擬接口
您可以使用 ip link add 添加網橋、虛擬機和 VLAN。
句法:
ip link add [ link DEVICE ] type TYPE [ ARGS ]
TYPE := [ bridge | can | dummy | ifb | ipoib | macvlan | vcan | veth | vlan | vxlan |
ip6tnl | ipip | sit | gre | gretap | ip6gre | ip6gretap ]
例如:
ip link add br0 type bridge
這將創建一個名為 br0 的網橋。
3.查看和管理IP路由表
路由對像用於顯示和管理 IP 路由表。
要查看 IP 路由命令列表,請使用 help 命令,如下所示:
ip route help

顯示路由表
要獲取所有路由條目的列表,請使用以下命令之一:
ip route
ip route list

上面的輸出是內核中的所有根條目。要進行過濾,請添加一個 SELECTOR 對象,如下所示:
ip route list SELECTOR
要顯示特定網絡的路由,請使用以下語法:
ip route list [ IP ADDRESS ]
添加新路線
要將新路由添加到路由表,請使用以下語法:
ip route add [ IP ADDRESS ] dev [ Interface Name ]
您可以使用以下語法通過網關添加新路由。
ip route add [ IP ADDRESS ] via [ Gateway ]
例如,要通過網關 192.168.239.1 添加新路由 192.168.239.0/24,請使用以下命令:
ip route add 132.168.239.0/24 via 192.168.239.1
刪除路線
要刪除路由表中的現有條目,請使用以下語法。
ip route del [ IP ADDRESS ]
要刪除默認路由,請使用以下命令:
ip route del default
您可以使用以下語法刪除通過網關的路由:
ip route del [ IP ADDRESS ] dev [ Interface Name ]
4.查看和修改IP鄰居表項
查看和修改 IP 鄰居條目需要一個 neigh 對象。要查看所有鄰居命令的列表,請使用幫助命令,如下所示。
ip neigh help

顯示鄰居/arp 緩存
使用以下命令顯示鄰居/ARP 緩存:
ip neigh show

添加 ARP 條目
使用以下語法添加 ARP 條目:
ip neigh add [ IP ADDRESS ] dev [ Interface Name ]
例如,要將 192.168.239.140 添加到設備 ens33,請使用以下命令:
ip neigh add 192.168.239.140 dev ens33
刪除 ARP 條目
使用以下語法添加 ARP 條目:
ip neigh del [ IP ADDRESS ] dev [ Interface Name ]
例如,要從設備 ens33 中刪除 192.168.239.140,請使用以下命令:
ip neigh del 192.168.239.140 dev ens33
更新 ARP 條目
flush 或 f 命令刷新 ARP 條目。 要刷新 ARP 條目,請使用以下語法:
ip -s -s n flush [ IP ADDRESS ]
例如,要刷新 192.168.239.140 的 arp 條目,請使用以下命令:
ip -s -s n flush 192.168.239.140
結論是
本教程介紹了 Linux IP 命令及其使用示例。有關更多信息,您可以找到 ip 命令手冊頁.
感謝您的閱讀。請向我們發送您的反饋和建議。