多年來,我們一直在使用 ifconfig 命令來執行網絡相關的任務,例如檢查網絡接口或配置它們。但是 ifconfig 不再維護,在最新版本的 linux 上已棄用。ifconfig 命令已替換為 IP 命令。
ip 命令有點類似于 ifconfig 命令,但它更強大,附加了更多的功能。ip 命令可以執行 ifconfig 命令無法執行的一些任務。
(1) 查看當前網絡接口信息 ( LAN Cards )
查詢網絡接口的 IP 地址和子網等信息,使用如下命令
[linuxtechi@localhost]$ ip addr show
or
[linuxtechi@localhost]$ ip a s
如果我們想查看單個接口的相同信息,則使用如下命令
[linuxtechi@localhost]$ ip addr show enp0s3
(2) 啟用和禁用網絡接口 (or LAN card)
使用 ip 命令啟用網絡接口 (enp0s3),如下所示
[linuxtechi@localhost]$ sudo ip link set enp0s3 up
使用 ip 命令禁用網絡接口 (enp0s3),如下所示
[linuxtechi@localhost]$ sudo ip link set enp0s3 down
(3) 配置接口的 IP 地址和廣播地址
使用 IP 命令為接口分配 IP 地址,如下所示
[linuxtechi@localhost]$ sudo ip addr add 192.168.0.50/255.255.255.0 dev enp0s3
使用 IP 命令為接口設置廣播地址,如下所示
[linuxtechi@localhost]$ sudo ip addr add broadcast 192.168.0.255 dev enp0s3
我們還可以設置標準廣播地址和 IP 地址,如下所示
[linuxtechi@localhost]$ sudo ip addr add 192.168.0.10/24 brd + dev enp0s3
(4) 刪除接口的 IP 地址
從接口中清除或刪除已分配的 IP,運行如下命令
[linuxtechi@localhost]$ sudo ip addr del 192.168.0.10/24 dev enp0s3
(5) 為接口添加別名 (enp0s3)
要添加別名,即為一個接口分配多個 IP 地址,請執行以下命令
[linuxtechi@localhost]$ sudo ip addr add 192.168.0.20/24 dev enp0s3 label enp0s3:1
(6) 查看路由表和默認網關信息
查看路由表和默認網關信息,執行如下命令
[linuxtechi@localhost]$ ip route show
獲取到達特定 ip 的路由信息,使用如下命令
[linuxtechi@localhost]$ sudo ip route get 192.168.0.1
(7) 添加靜態路由
如果要改變報文的缺省路由,可以通過 IP 命令添加靜態路由來實現。
如果要分配一個新的默認網關,執行如下命令
[linuxtechi@localhost]$ sudo ip route add default via 192.168.0.150/24
現在所有的網絡數據包都將通過 192.168.0.150 傳輸,而不是舊的默認路由。
如果需要修改單個接口的缺省路由,執行如下命令
[linuxtechi@localhost]$ sudo ip route add 172.16.32.32 via 192.168.0.150/24 dev enp0s3
(8) 刪除靜態路由
刪除或移除先前添加的默認路由,執行如下命令
[linuxtechi@localhost]$ sudo ip route del 192.168.0.150/24
注意: 使用上述命令對默認路由進行的更改只是暫時的,在系統重新啟動后將丟失所有更改。為了持久性改變路由,我們需要修改 / 創建相關配置文件。
For RHEL / centos
編輯
/etc/sysconfig.NETwork-scripts/route-enp0s3 文件
[linuxtechi@localhost]$ sudo vi /etc/sysconfig/network-scripts/route-enp0s3
添加如下行,保存并退出文件
172.16.32.32 via 192.168.0.150/24 dev enp0s3
For Ubuntu / Debian
編輯 /etc/network/interfaces 文件
[linuxtechi@localhost]$ sudo vi /etc/network/interfaces
添加如下行,保存并退出文件
ip route add 172.16.32.32 via 192.168.0.150/24 dev enp0s3
(9) 查看所有 ARP 表項 (ip neigh)
ARP (Address Resolution Protocol) 用于將 IP 地址轉換為 mac 地址,所有的 IP 及其對應的 MAC 地址信息存儲在一個稱為 ARP 緩存的表中。
要查看 ARP 緩存中的表項,即局域網中連接的設備的 MAC 地址,使用如下命令
[linuxtechi@localhost]$ ip neigh
要查看 arp 表項,使用如下命令
$ arp -a
(10) 修改 ARP 表項
刪除 ARP 表項,使用如下命令
[linuxtechi@localhost]$ sudo ip neigh del 192.168.0.106 dev enp0s3
如果我們想添加一個新的條目到 ARP 緩存,使用如下命令
[linuxtechi@localhost]$ sudo ip neigh add 192.168.0.150 lladdr 33:1g:75:37:r3:84 dev enp0s3 nud perm
其中 nud 表示 neighbour state,它的值可以是:
- perm – permanent & can only be removed by administrator,
- noarp – entry is valid but can be removed after lifetime expires,
- stale – entry is valid but suspicious,
- reachable – entry is valid until timeout expires.
(11) 查看網絡統計信息
我們還可以查看所有接口的網絡統計信息,如傳輸的字節和數據包,錯誤或丟棄的數據包等。
[linuxtechi@localhost]$ ip -s link
(12)查看幫助
如果要查看幫助,使用如下命令
[linuxtechi@localhost]$ ip --help
請記住 ip 命令對于 Linux 管理員來說是非常重要的命令,應該學習和掌握它,以便輕松地配置網絡。到此為止,請提供您的建議并在下面的評論框中留下您的疑問。