Linux中12個(gè)IP命令的范例
一年又一年,我們一直在使用 ifconfig
命令來執(zhí)行網(wǎng)絡(luò)相關(guān)的任務(wù),比如檢查和配置網(wǎng)卡信息。但是 ifconfig
已經(jīng)不再被維護(hù),并且在最近版本的 Linux 中被廢除了! ifconfig
命令已經(jīng)被 ip
命令所替代了。
ip
命令跟 ifconfig
命令有些類似,但要強(qiáng)力的多,它有許多新功能。ip
命令完成很多 ifconfig
命令無法完成的任務(wù)。
本教程將會(huì)討論 ip
命令的 12 中最常用法,讓我們開始吧。
案例 1:檢查網(wǎng)卡信息
檢查網(wǎng)卡的諸如 IP 地址,子網(wǎng)等網(wǎng)絡(luò)信息,使用 ip addr show
命令:
[linuxtechi@localhost]$ ip addr show
或
[linuxtechi@localhost]$ ip a s
這會(huì)顯示系統(tǒng)中所有可用網(wǎng)卡的相關(guān)網(wǎng)絡(luò)信息,不過如果你想查看某塊網(wǎng)卡的信息,則命令為:
[linuxtechi@localhost]$ ip addr show enp0s3
這里 enp0s3
是網(wǎng)卡的名字。
IP-addr-show-commant-output
案例 2:啟用/禁用網(wǎng)卡
使用 ip
命令來啟用一個(gè)被禁用的網(wǎng)卡:
[linuxtechi@localhost]$ sudo ip link set enp0s3 up
而要禁用網(wǎng)卡則使用 down
觸發(fā)器:
[linuxtechi@localhost]$ sudo ip link set enp0s3 down
案例 3:為網(wǎng)卡分配 IP 地址以及其他網(wǎng)絡(luò)信息
要為網(wǎng)卡分配 IP 地址,我們使用下面命令:
[linuxtechi@localhost]$ sudo ip addr add 192.168.0.50/255.255.255.0 dev enp0s3
也可以使用 ip
命令來設(shè)置廣播地址。默認(rèn)是沒有設(shè)置廣播地址的,設(shè)置廣播地址的命令為:
[linuxtechi@localhost]$ sudo ip addr add broadcast 192.168.0.255 dev enp0s3
我們也可以使用下面命令來根據(jù) IP 地址設(shè)置標(biāo)準(zhǔn)的廣播地址:
[linuxtechi@localhost]$ sudo ip addr add 192.168.0.10/24 brd + dev enp0s3
如上面例子所示,我們可以使用 brd
代替 broadcast
來設(shè)置廣播地址。
案例 4:刪除網(wǎng)卡中配置的 IP 地址
若想從網(wǎng)卡中刪掉某個(gè) IP,使用如下 ip
命令:
[linuxtechi@localhost]$ sudo ip addr del 192.168.0.10/24 dev enp0s3
案例 5:為網(wǎng)卡添加別名(假設(shè)網(wǎng)卡名為 enp0s3)
添加別名,即為網(wǎng)卡添加不止一個(gè) IP,執(zhí)行下面命令:
[linuxtechi@localhost]$ sudo ip addr add 192.168.0.20/24 dev enp0s3 label enp0s3:1
ip-command-add-alias-linux
案例 6:檢查路由/默認(rèn)網(wǎng)關(guān)的信息
查看路由信息會(huì)給我們顯示數(shù)據(jù)包到達(dá)目的地的路由路徑。要查看網(wǎng)絡(luò)路由信息,執(zhí)行下面命令:
[linuxtechi@localhost]$ ip route show
ip-route-command-output
在上面輸出結(jié)果中,我們能夠看到所有網(wǎng)卡上數(shù)據(jù)包的路由信息。我們也可以獲取特定 IP 的路由信息,方法是:
[linuxtechi@localhost]$ sudo ip route get 192.168.0.1
案例 7:添加靜態(tài)路由
我們也可以使用 IP 來修改數(shù)據(jù)包的默認(rèn)路由。方法是使用 ip route
命令:
[linuxtechi@localhost]$ sudo ip route add default via 192.168.0.150/24
這樣所有的網(wǎng)絡(luò)數(shù)據(jù)包通過 192.168.0.150
來轉(zhuǎn)發(fā),而不是以前的默認(rèn)路由了。若要修改某個(gè)網(wǎng)卡的默認(rèn)路由,執(zhí)行:
[linuxtechi@localhost]$ sudo ip route add 172.16.32.32 via 192.168.0.150/24 dev enp0s3
案例 8:刪除默認(rèn)路由
要?jiǎng)h除之前設(shè)置的默認(rèn)路由,打開終端然后運(yùn)行:
[linuxtechi@localhost]$ sudo ip route del 192.168.0.150/24
注意: 用上面方法修改的默認(rèn)路由只是臨時(shí)有效的,在系統(tǒng)重啟后所有的改動(dòng)都會(huì)丟失。要***修改路由,需要修改或創(chuàng)建 route-enp0s3
文件。將下面這行加入其中:
[linuxtechi@localhost]$ sudo vi /etc/sysconfig/network-scripts/route-enp0s3
172.16.32.32 via 192.168.0.150/24 dev enp0s3
保存并退出該文件。
若你使用的是基于 Ubuntu 或 debian 的操作系統(tǒng),則該要修改的文件為 /etc/network/interfaces
,然后添加 ip route add 172.16.32.32 via 192.168.0.150/24 dev enp0s3
這行到文件末尾。
案例 9:檢查所有的 ARP 記錄
ARP,是地址解析協(xié)議的縮寫,用于將 IP 地址轉(zhuǎn)換為物理地址(也就是 MAC 地址)。所有的 IP 和其對(duì)應(yīng)的 MAC 明細(xì)都存儲(chǔ)在一張表中,這張表叫做 ARP 緩存。
要查看 ARP 緩存中的記錄,即連接到局域網(wǎng)中設(shè)備的 MAC 地址,則使用如下 ip 命令:
[linuxtechi@localhost]$ ip neigh
ip-neigh-command-linux
案例 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
的意思是 “neghbour state”(網(wǎng)絡(luò)鄰居狀態(tài)),它的值可以是:
perm
- ***有效并且只能被管理員刪除noarp
- 記錄有效,但在生命周期過期后就允許被刪除了stale
- 記錄有效,但可能已經(jīng)過期reachable
- 記錄有效,但超時(shí)后就失效了
案例 11:查看網(wǎng)絡(luò)統(tǒng)計(jì)信息
通過 ip
命令還能查看網(wǎng)絡(luò)的統(tǒng)計(jì)信息,比如所有網(wǎng)卡上傳輸?shù)淖止?jié)數(shù)和報(bào)文數(shù),錯(cuò)誤或丟棄的報(bào)文數(shù)等。使用 ip -s link
命令來查看:
[linuxtechi@localhost]$ ip -s link
ip-s-command-linux
案例 12:獲取幫助
若你想查看某個(gè)上面例子中沒有的選項(xiàng),那么你可以查看幫助。事實(shí)上對(duì)任何命令你都可以尋求幫助。要列出 ip
命令的所有可選項(xiàng),執(zhí)行:
[linuxtechi@localhost]$ ip help
記住,ip
命令是一個(gè)對(duì) Linux 系統(tǒng)管理來說特別重要的命令,學(xué)習(xí)并掌握它能夠讓配置網(wǎng)絡(luò)變得容易。本教程就此結(jié)束了,若有任何建議歡迎在下面留言框中留言。