如何在 Linux 中使用 ip 命令管理網絡
Linux 管理和故障排除最基本的部分是檢查系統的 IP 配置以確保系統具有有效的 IP 並且可以在本地網絡上訪問。
Linux 中的 ip 命令是一個強大的工具,它不僅可以顯示系統當前的 IP 地址,還可以讓您查看和管理網絡接口、IP 地址、路由和 ARP 表的當前配置。
讓我們看一下 Linux 中 ip 命令的一些常見用例。
在 Linux 上查找 IP 地址
要查找 Linux 系統的 IP 地址,請使用 ip 命令,後跟address、addr或一個選項:
ip address
這將顯示所有網絡接口的配置,包括它們的 IP 地址。
在下面的示例中,您可以看到系統具有三個網絡接口:lo(環回地址)、ens33和ens37。輸出包括以下信息:
- 第 1 層信息,例如接口功能和物理層連接狀態、MTU、接口的操作狀態(例如,UP 或 DOWN)以及傳輸隊列長度 (qlen)。
- 第 2 層信息,例如接口的 MAC 地址。
- 第 3 層信息包括 IP 地址及其類型(動態 IP 尋址或靜態 IP 尋址)。
要顯示有關網絡接口的簡要信息,請使用帶有–brief選項的 ip 命令,如下所示:
ip --brief address show
要僅顯示 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
要查看特定接口的 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
查看網絡接口統計信息
使用 ip 命令還可以查看網絡接口的統計信息。使用以下 ip 命令查看系統上所有網絡接口的統計信息:
ip -s link
輸出包括傳輸和接收的字節/數據包、錯誤、丟棄的數據包、多播等統計信息。要顯示特定接口的統計信息,請使用以下語法:
ip -s link show dev [interface]
使用 ip 修改鏈接屬性
要打開接口,請使用以下 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
在 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 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 地址)、發送數據包的接口和度量(當有多個路由時用於確定首選路由的值可到達目的地)。在這種情況下,具有較低度量的路由是首選。
在上面的示例中,前兩個條目表示默認路由,當沒有其他路由可用於目標地址時使用默認路由。192.168.42.2和192.168.10.1是路由器的 IP 地址。dev ens33和ens37指示將用於將數據包發送到路由器的接口。proto dhcp字段表示默認路由是從 DHCP 獲悉的。
第二個條目表示 APIPA 地址(自動專用 IP 尋址)169.254.0.0/16。當主機無法從 DHCP 服務器獲取 IP 地址時,它會從該網絡中為自己分配一個隨機 IP 地址。它允許它們與子網中也未能獲得 IP 地址的其他主機通信。
第三和第四項顯示系統所連接的本地網絡的網絡地址。192.168.10.0是接口ens37所連接的網絡,而192.168.42.0是ens33 所連接的網絡。
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
使用以下命令添加默認路由:
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]
在 Linux 上管理鄰居表
在 Linux 中可以使用ip neigh命令來查看和修改鄰居表,也就是 ARP 表。要查看當前鄰居表條目,請使用以下命令:
ip neigh show
要在鄰居表中添加新條目,請使用以下語法:
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
在 Linux 上管理網絡和 IP 地址
Linux 中的 ip 命令是用於管理和排除網絡連接故障的有用工具。從查看網絡接口和修改鏈接屬性到查找 IP 地址和管理路由,ip 命令可讓您通過命令行執行多項系統管理任務。
發佈留言