ip是iproute2軟體包裡面的乙個強大的網路配置工具,用來顯示或操作路由、網路裝置、策略路由和隧道,它能夠替代一些傳統的網路管理工具,例如ifconfig、route等。用ip配置的裝置資訊,大部分會在裝置重啟後還原,如果想永久保留配置,請盡量進入配置檔案修改。
linux的ip命令和ifconfig類似,但前者功能更強大,並旨在取代後者。使用ip命令,只需乙個命令,你就能很輕鬆地執行一些網路管理任務。ifconfig是net-tools中已被廢棄使用的乙個命令,許多年前就已經沒有維護了。iproute2套件裡提供了許多增強功能的命令,ip命令即是其中之一。
(1).物件
link 網路裝置
address 裝置上的協議(ip或ipv6)位址
addrlabel 協議位址選擇的標籤配置
neighbour arp或ndisc快取條目
route 路由表條目
rule 路由策略資料庫中的規則
maddress 組播位址
mroute 組播路由快取條目
tunnel ip隧道
xfrm ipsec協議框架
所有物件的名稱可以用完整或縮寫形式書寫,例如address可以縮寫成addr或只是a。
(2).選項
-v,-version 顯示指令版本資訊
-s,-stats,statistics 輸出詳細資訊
-h,-human,-human-readable 輸出人類可讀的統計資訊和字尾
-iec 以iec標準單位列印人類可讀速率(例如1k=1024)
-f,-family 指定要使用的協議族。協議族標識可以是inet、inet6、ipx、dnet或link之一。如果此選項不存在,則從其他引數中推測協議族。如果命令列的其餘部分沒有提供足夠的資訊來推測該族,則ip會退回到預設值,通常是inet或any。link是乙個特殊的系列識別符號,表示不涉及網路協議。
-4 –family inet的快捷方式
-6 –family inet6的快捷方式
-0 –family link的快捷方式
-o,-oneline 將每條記錄輸出到一行,用』\』字元替換換行符。
-r,-resolve 使用系統名稱解析程式來列印dns名稱而不是主機位址。
(3).例項
注意:以下介紹的ip命令都是臨時配置,一但重啟就會還原,如"service network restart"
檢視所有ip位址
ip a/addr/address
ip a/addr/address sh/show
檢視指定ip位址
ip a/addr/address sh/show dev eth1
ip a/addr/address sh/show eth1
增加或刪除ip位址
ip a/addr/address add 192.168.78.130/24 dev eth1
ip a/addr/address del/delete 192.168.78.130/24 dev eth1
刪除eth1所有ip位址
ip a flush dev eth1
刪除eth1的所有ipv4的ip位址
ip -4 a flush dev eth1
檢視網路裝置資訊
ip link sh/show/l/list/ls
ip link sh/show/l/ls/lsit eth1
ip link sh/show/l/ls/list dev eth1
停止與啟用網路裝置
ip link set dev eth1 down
ip link set dev eth1 up
檢視路由表
ip r/ro/route
ip r/ro/route sh/show
ip r/ro/route sh/show dev eth1
新增或刪除路由
ip r/ro/route add 192.168.79.0/24 dev eth1
ip r/ro/route d/del/delete 192.168.79.0/24
ip r/ro/route d/del/delete 192.168.79.0/24 dev eth1
預設路由的刪除、新增與修改
ip r/ro/route d/del/delete default
ip r/ro/route add default via 192.168.78.1
ip r/ro/route chg/change default via 192.168.78.2
檢視arp表
ip n/neigh/neighbuor sh/show
使用ip命令還可以顯示不同網路介面的統計資料
ip -s link
當你需要獲取乙個特定網路介面的資訊時,在網路介面名字後面新增選項ls即可。使用多個選項-s會給你這個特定介面更詳細的資訊。特別是在排除網路連線故障時,這會非常有用:
ip -s -s link ls ens33
也可以使用ip命令檢視netlink訊息。monitor選項允許你檢視網路裝置的狀態。比如,所在區域網的一台電腦根據它的狀態可以被分類成reachable或者stale。使用下面的命令:
ip monitor all
可以使用iproute2給同乙個介面分配多個ip位址,ifconfig則無法這麼做。使用ifconfig的變通方案是使用ip別名。
使用net-tools配置多ip:
$ sudo ifconfig eth0:1 192.168.10.10 netmask 255.255.255.0 up
$ sudo ifconfig eth0:2 192.168.10.15 netmask 255.255.255.0 up
使用iproute2配置多ip:
$ sudo ip addr add 10.0.0.1/24 broadcast 10.0.0.255 dev eth1
$ sudo ip addr add 10.0.0.2/24 broadcast 10.0.0.255 dev eth1
$ sudo ip addr add 10.0.0.3/24 broadcast 10.0.0.255 dev eth1
改變網路介面的mac位址,使用下面的命令可篡改網路介面的mac位址,請注意在更改mac位址前,需要停用介面:
ip link set dev eth1 address 08:00:27:75:2a:67
參考資料:
Linux IP 命令略解
help 為該命令的幫助資訊。例項ip link show 顯示網路介面資訊 ip link set eth0 up 開啟網絡卡 ip link set eth0 down 關閉網絡卡 ip link set eth0 promisc on 開啟網絡卡的混合模式 ip link set eth0 p...
linux IP類常用命令
此外目前我在github上準備一些李航的 統計學習方法 的實現演算法,目標將書內演算法全部手打實現,歡迎參觀並打星。githib傳送門 檢視主機名 hostname修改主機名 vi etc sysconfig network修改其中的hostname 巨集定義ip位址 eg.用hadoop102表示...
Linux IP位址配置
底層修改ip 1 修改 etc sysconfig network scripts ifcfg eth0裡面的ip,子網掩碼,預設閘道器等資訊 我的虛擬機器裡沒有eth0這個檔案,只有eto33?資訊如下圖所示 type為乙太網連線 bootproto引導時為dhcp協議 defroute 將介面設...