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

顯示所有網絡接口的列表
ip addr show 命令列出所有網絡接口和分配的 IP 地址。
為了 example:
ip addr show

要僅顯示 IPv4 或 IPv6 的輸出,請使用以下命令。
顯示 IPv4 ip 地址
ip -4 addr
顯示 IPv6 ip 地址
ip -6 addr
顯示有關特定網絡接口的信息
要顯示有關特定接口的信息,請使用以下語法。
ip addr show dev [Device Name]
為了 example, 要顯示有關 ens33 的信息,請鍵入以下內容。
ip addr show dev ens33

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

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

要顯示有關特定設備的信息,請使用以下語法。
$ ip link show dev [Device Name]
為了 example, 要顯示有關 ens33 的網絡信息,您將使用以下命令。
$ ip link show dev ens33

設置接口狀態為UP或DOWN
要向上或向下設置接口,請使用以下語法。
ip link set dev [ Device Name ] [ up/down ]
為了 example, 要使 ens33 聯機,請使用以下命令。
ip link set dev ens33 up
如果打開設備或顯示錯誤,則不顯示任何輸出。
同樣,要關閉 ens33,請使用以下命令。
ip link set dev ens33 down
如果設備關閉或顯示錯誤,則不顯示任何輸出。
更改設備的 txqueuelen
要更改設備的傳輸隊列,請使用以下語法。
ip link set txqueuelen [ Number ] dev [ Interface Name ]
為了 example, 設置ens33設備的傳輸隊列5,使用如下命令。
ip link set txqueuelen 5 dev ens33
如果設置了傳輸隊列或顯示錯誤,則不顯示任何輸出。
更改 MTU
要更改 MTU(最大傳輸單位),請使用以下語法。
ip link set mtu [ Number ] dev [ Interface Name ]
為了 example,設置設備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 命令刪除虛擬接口。 為了 example
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 ]
為了 example:
ip link add br0 type bridge
這將創建一個名為 br0 的網橋。
3. 顯示和管理 IP 路由表
路由對像用於顯示和管理 IP 路由表。
要顯示 IP 路由命令列表,請使用如下幫助命令。
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 ]
為了 example, 要通過網關 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 對象。 要顯示所有 neigh 命令的列表,請使用 help 命令,如下所示。
ip neigh help

顯示鄰居/arp 緩存
要顯示鄰居/arp 緩存,請使用以下命令。
ip neigh show

添加 ARP 條目
要添加 ARP 條目,請使用以下語法。
ip neigh add [ IP ADDRESS ] dev [ Interface Name ]
為了 example, 要將 192.168.239.140 添加到設備 ens33,請使用以下命令。
ip neigh add 192.168.239.140 dev ens33
刪除ARP表項
要添加 ARP 條目,請使用以下語法。
ip neigh del [ IP ADDRESS ] dev [ Interface Name ]
為了 example, 要從設備 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 ]
為了 example, 要刷新 192.168.239.140 的 arp 條目,請使用以下命令。
ip -s -s n flush 192.168.239.140
結論
在本教程中,我們介紹了 Linux IP 命令及其用法示例。 有關更多信息,您可以找到 ip 命令的手冊頁.
感謝您的閱讀,請提供您的反饋和建議。