IP 命令是現代 Linux 發行版上默認安裝的 iproute 包的一部分。 Linux 使用 IP 命令來管理和顯示網絡接口、IP 地址、IP 路由表和 IP 鄰居條目。它通常用於為網絡接口分配 IP 地址和配置網絡接口設置。

在本教程中,您將學習 Linux IP 命令 帶有使用示例。

Linux IP 命令用法

以下是 IP 命令語法。

$ ip [ OPTIONS ] OBJECT { COMMAND | help }
$ ip help

OBJECT 是要管理的對像類型,包括:

  1. 鏈接 (l):查看和更改網絡接口。
  2. 地址 (a):查看和更改 IP 地址。
  3. route(r):顯示/修改路由表。
  4. neigh (n):顯示和修改 ARP 表。

命令可以以完整或簡短的形式執行。例如, ip addrip address 您將看到相同的輸出。

1.查看和管理IP地址

ip addr 命令允許您查看、分配和刪除 Linux 系統上的 IP 地址。 ip addr 對象使用以下語法:

ip addr [ COMMAND ] ADDRESS dev IFNAME

有關地址命令的更多信息,請使用幫助命令。

ip addr help
IP地址幫助命令

顯示所有網絡接口的列表

ip addr show 命令列出所有網絡接口及其分配的 IP 地址。

例如:

ip addr show
IP地址顯示命令

要僅查看 IPv4 或 IPv6 輸出,請使用以下命令:

To display IPv4 ip address
ip -4 addr

To display IPv6 ip address
ip -6 addr

顯示有​​關特定網絡接口的信息

要顯示有關特定接口的信息,請使用以下語法。

ip addr show dev [Device Name]

例如,要顯示有關 ens33 的信息,請鍵入:

ip addr show dev ens33
IP地址顯示設備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鏈接幫助命令

獲取網絡接口信息

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

$ ip link show
IP鏈路顯示命令

要顯示有關特定設備的信息,請使用以下語法。

$ ip link show dev [Device Name]

例如,要顯示有關 ens33 的網絡信息,可以使用以下命令:

$ ip link show dev ens33
IP鏈接顯示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路由幫助命令

顯示路由表

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

ip route
ip route list
IP 路由列表命令

上面的輸出是內核中的所有根條目。要進行過濾,請添加一個 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
IP 鄰居幫助命令

顯示鄰居/arp 緩存

使用以下命令顯示鄰居/ARP 緩存:

ip neigh show
IP 鄰居顯示命令

添加 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 命令手冊頁.

感謝您的閱讀。請向我們發送您的反饋和建議。