如何在 Linux 中使用 IP 命令及示例?
IP 命令是 Linux 中強大的網路配置工具。它用於顯示、操作路由、裝置、策略路由和隧道。IP 命令是 iproute2 軟體包的一部分,該軟體包在大多數 Linux 發行版中預設安裝。本文將指導您瞭解 IP 命令的基礎知識,並提供示例以幫助您理解其用法。
顯示 IP 地址
要顯示所有網路介面的 IP 地址,請使用以下命令:
示例
ip addr show
輸出
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:15:64:b3 brd ff:ff:ff:ff:ff:ff inet 192.168.1.10/24 brd 192.168.1.255 scope global dynamic eth0 valid_lft 86378sec preferred_lft 86378sec
新增 IP 地址
要向網路介面新增 IP 地址,請使用以下命令:
sudo ip addr add 192.168.1.100/24 dev eth0
此命令將 IP 地址 192.168.1.100 新增到網路介面 eth0。IP 地址末尾的 /24 是子網掩碼。
刪除 IP 地址
要從網路介面刪除 IP 地址,請使用以下命令:
sudo ip addr del 192.168.1.100/24 dev eth0
此命令從網路介面 eth0 刪除 IP 地址 192.168.1.100。
顯示路由表
要顯示路由表,請使用以下命令:
示例
ip route show
輸出
default via 192.168.1.1 dev eth0 proto static 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.10
新增路由
要新增路由,請使用以下命令:
sudo ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0
此命令透過網路介面 eth0 上的閘道器 192.168.1.1 新增到網路 192.168.2.0/24 的路由。
刪除路由
要刪除路由,請使用以下命令:
sudo ip route del 192.168.2.0/24
此命令刪除到網路 192.168.2.0/24 的路由。
顯示網路介面的統計資訊
ip -s link 命令顯示網路介面的統計資訊:
示例
ip −s link
輸出
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 RX: bytes packets errors dropped overrun mcast 166114 1982 0 0 0 0 TX: bytes packets errors dropped carrier collsns 166114 1982 0 0 0 0
顯示鄰居物件
ip neigh 命令顯示鄰居物件;本質上,它顯示 ARP 表:
示例
ip neigh
輸出
192.168.1.1 dev eth0 lladdr 00:14:bf:b1:cb:31 REACHABLE
新增鄰居
要新增鄰居,請使用以下命令:
sudo ip neigh add 192.168.1.101 lladdr 1:2:3:4:5:6 dev eth0
此命令將具有 IP 地址 192.168.1.101 和 MAC 地址 1:2:3:4:5:6 的鄰居新增到網路介面 eth0。
刪除鄰居
要刪除鄰居,請使用以下命令:
sudo ip neigh del 192.168.1.101 dev eth0
此命令從網路介面 eth0 刪除 IP 地址為 192.168.1.101 的鄰居。
顯示多播資訊
ip maddr 命令顯示多播地址:
示例
ip maddr
輸出
1: lo inet 224.0.0.1 inet6 ff02::1 2: eth0 inet 224.0.0.251 inet 224.0.0.1 inet6 ff02::1:ff00:1 inet6 ff02::1
顯示網路介面
ip link show 命令顯示有關網路介面的資訊:
示例
ip link show
輸出
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether 08:00:27:15:64:b3 brd ff:ff:ff:ff:ff:ff
更改網路介面的狀態
要更改網路介面的狀態,請使用以下命令:
sudo ip link set eth0 down sudo ip link set eth0 up
第一個命令使網路介面 eth0 停止執行,第二個命令將其恢復執行。
更改網路介面的 MTU
要更改網路介面的最大傳輸單元 (MTU),請使用以下命令:
sudo ip link set eth0 mtu 1400
此命令將網路介面 eth0 的 MTU 設定為 1400。
顯示 TCP 和 UDP 套接字
ip −s −s −t tcp show 和 ip −s −s −t udp show 命令分別顯示 TCP 和 UDP 套接字:
示例
ip −s −s −t tcp show ip −s −s −t udp show
輸出
輸出將類似於以下內容:
TCP: inuse 23 orphan 0 tw 10 alloc 25 mem 6 TCP: inuse 23 orphan 0 tw 10 alloc 25 mem 6
顯示網路名稱空間
ip netns 命令用於管理網路名稱空間。要顯示網路名稱空間列表,請使用以下命令:
ip netns
如果您尚未建立任何網路名稱空間,則此命令將不會返回任何輸出。
新增網路名稱空間
要新增網路名稱空間,請使用以下命令:
sudo ip netns add mynamespace
此命令建立一個名為“mynamespace”的新網路名稱空間。
刪除網路名稱空間
要刪除網路名稱空間,請使用以下命令:
sudo ip netns del mynamespace
此命令刪除名為“mynamespace”的網路名稱空間。
顯示網路名稱空間的 IP 地址
要顯示網路名稱空間的 IP 地址,請使用以下命令:
sudo ip netns exec mynamespace ip addr
此命令顯示名為“mynamespace”的網路名稱空間的 IP 地址。
顯示網路名稱空間的路由表
要顯示網路名稱空間的路由表,請使用以下命令:
sudo ip netns exec mynamespace ip route
儲存到 grepper
此命令顯示名為“mynamespace”的網路名稱空間的路由表。
這些只是 Linux 中 ip 命令提供的眾多命令和選項中的一些示例。與往常一樣,您可以參考手冊頁 (man ip) 以獲取更詳細的資訊。
結論
Linux 中的 IP 命令是一個用於管理網路介面和路由的多功能工具。本文提供的示例僅是基礎知識。IP 命令還有更多選項和功能。有關更詳細的資訊,您始終可以透過在終端中鍵入 man ip 來參考手冊頁。
請記住,使用 IP 命令進行的更改在重新啟動後不會持續存在。要進行持久更改,您需要編輯網路配置檔案,這些檔案因 Linux 發行版和網路管理器而異。在更改網路配置時務必謹慎,因為錯誤的設定可能會中斷網路連線。