如何在 Linux 中使用 ip 命令管理網絡

如何在 Linux 中使用 ip 命令管理網絡

Linux 管理和故障排除最基本的部分是檢查系統的 IP 配置以確保系統具有有效的 IP 並且可以在本地網絡上訪問。

Linux 中的 ip 命令是一個強大的工具,它不僅可以顯示系統當前的 IP 地址,還可以讓您查看和管理網絡接口、IP 地址、路由和 ARP 表的當前配置。

讓我們看一下 Linux 中 ip 命令的一些常見用例。

在 Linux 上查找 IP 地址

要查找 Linux 系統的 IP 地址,請使用 ip 命令,後跟addressaddr一個選項:

ip address

這將顯示所有網絡接口的配置,包括它們的 IP 地址。

在下面的示例中,您可以看到系統具有三個網絡接口:lo(環回地址)、ens33ens37。輸出包括以下信息:

  • 第 1 層信息,例如接口功能和物理層連接狀態、MTU、接口的操作狀態(例如,UP 或 DOWN)以及傳輸隊列長度 (qlen)。
  • 第 2 層信息,例如接口的 MAC 地址。
  • 第 3 層信息包括 IP 地址及其類型(動態 IP 尋址或靜態 IP 尋址)。
ip地址命令

要顯示有關網絡接口的簡要信息,請使用帶有–brief選項的 ip 命令,如下所示:

ip --brief address show

IP地址的簡要顯示

要僅顯示 IPv4 地址信息,請使用以下命令:

ip -4 addr

要找出特定網絡接口的 IP 地址信息,請使用以下語法:

ip address show dev [interface]

例如,要查看網絡接口ens33的 IP 地址,命令為:

ip address show dev ens33

查看和更改 MAC 地址

使用 ip 命令,您還可以查看和更改系統的 MAC 地址。

要查看 Linux 系統的 MAC 地址,請使用以下命令:

ip --brief link show

ip link show 簡要輸出

要查看特定接口的 MAC 地址,請使用:

ip --brief link show dev [interface]

要更改 MAC 地址,首先關閉接口:

sudo ip link set dev [interface] down

然後使用以下命令更改接口的 MAC 地址:

sudo ip link set dev [interface] address [new-mac-adddress]

之後,調出界面:

sudo ip link set dev [interface] up

更改 mac 地址

查看網絡接口統計信息

使用 ip 命令還可以查看網絡接口的統計信息。使用以下 ip 命令查看系統上所有網絡接口的統計信息:

ip -s link

界面統計順式

輸出包括傳輸和接收的字節/數據包、錯誤、丟棄的數據包、多播等統計信息。要顯示特定接口的統計信息,請使用以下語法:

ip -s link show dev [interface]

要打開接口,請使用以下 ip 命令:

sudo ip link set [interface] up

要關閉界面,請運行:

sudo ip link set [interface] down

您還可以使用以下命令更改接口的 MTU(最大傳輸單元):

sudo ip link set mtu [number] dev [interface]

例如,要將網絡接口ens33的 MTU 設置為8000,命令為:

sudo ip link set mtu 8000 dev ens33

設置接口的MTU

在 Linux 上添加/刪除 IP 地址

要將 IP 地址添加到網絡接口,請使用以下語法:

ip addr add [ip-address] dev [interface]

要將 IP 地址192.168.42.140/24添加到網絡接口ens33,命令為:

ip addr add 192.168.42.140/24 dev ens33

添加IP地址到接口

使用以下命令語法從接口中刪除 IP 地址:

ip addr del [ip-address] dev [interface]

要從接口ens33中刪除 IP 地址192.168.42.140/24,命令為:

ip addr del 192.168.42.140/24 dev ens33

在 Linux 上查看路由表

ip route命令用於查看和修改Linux系統中的路由。要顯示系統的路由表,請使用不帶任何選項的 ip route 命令:

ip route

ip路由命令

輸出中的每一行代表一個配置的路由。路由由目標網絡地址、下一跳(即路由器的 IP 地址)、發送數據包的接口和度量(當有多個路由時用於確定首選路由的值可到達目的地)。在這種情況下,具有較低度量的路由是首選。

在上面的示例中,前兩個條目表示默認路由,當沒有其他路由可用於目標地址時使用默認路由。192.168.42.2192.168.10.1是路由器的 IP 地址。dev ens33ens37指示將用於將數據包發送到路由器的接口。proto dhcp字段表示默認路由是從 DHCP 獲悉的。

第二個條目表示 APIPA 地址(自動專用 IP 尋址)169.254.0.0/16。當主機無法從 DHCP 服務器獲取 IP 地址時,它會從該網絡中為自己分配一個隨機 IP 地址。它允許它們與子網中也未能獲得 IP 地址的其他主機通信。

第三和第四項顯示系統所連接的本地網絡的網絡地址。192.168.10.0是接口ens37所連接的網絡,而192.168.42.0ens33 所連接的網絡

src字段表示通過該路由發送數據包時用作源地址的接口的IP 地址。

使用ip修改路由表

要手動添加路由,請使用 ip route 命令,後跟目標網絡地址和網關 IP:

sudo ip route add [network-id] via [gateway-ip]

例如,要添加一條路由,將發往192.168.20.0網絡的所有流量發送到192.168.10.16的網關,您可以使用以下命令:

sudo ip route add 192.168.20.0/24 via 192.168.10.16

ip路由命令

使用以下命令添加默認路由:

sudo ip route add default via [ip-address] dev [interface]

例如,要添加通過ens33將流量定向到路由器192.168.10.1的默認路由,命令為:

sudo ip route add default via 192.168.10.1 dev ens33
ip route get [ip-address]

要刪除路由表條目,請使用以下語法:

sudo ip route delete [network-address] via [gateway-ip]

您還可以使用以下語法查看地址將採用的路由:

ip route get [ip-address]

顯示 IP 地址的路由

在 Linux 上管理鄰居表

在 Linux 中可以使用ip neigh命令來查看和修改鄰居表,也就是 ARP 表。要查看當前鄰居表條目,請使用以下命令:

ip neigh show

ip 鄰居命令

要在鄰居表中添加新條目,請使用以下語法:

sudo ip neigh add [ip-address] lladdr [mac-address] dev [interface]

要從鄰居表中刪除條目,請使用以下語法:

sudo ip neigh del [ip-address] dev [interface]

為 ip 命令的輸出添加顏色

為了使輸出更容易和更快地理解,您可以使用-c選項為 ip 命令輸出添加顏色:

ip -c a

為 ip 命令添加顏色

在 Linux 上管理網絡和 IP 地址

Linux 中的 ip 命令是用於管理和排除網絡連接故障的有用工具。從查看網絡接口和修改鏈接屬性到查找 IP 地址和管理路由,ip 命令可讓您通過命令行執行多項系統管理任務。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *