Linux下常用的配置IP及route的命令彙編
- 2019 年 10 月 5 日
- 筆記
Linux下用於配置或者查看IP地址、路由表的命令有很多,本文打算將其都羅列出來,後面想到其它的命令再一一補充。
內容有點雜亂。。。。。
1.配置、及查看IP地址的命令
常用的有ifconfig、ifcfg、ip命令。
下面主要以常用的實例來說明其用法。具體的參數請參考man幫助文檔。
1.1 ifconfig命令:
ifconfig -a # 顯示所有網絡接口信息【含down狀態的接口】
ifconfig eth0 # 顯示eth0接口信息
ifcfg eth0 down|up # 關閉|啟用eth0
ifconfig eth0 192.168.10.2/24 up # 修改eth0的IP地址為192.168.10.2/24【重啟網絡服務i配置即失效】
ifconfig eth0 192.168.10.2 netmask 255.255.255.0 # 設置ip地址,同上一條命令效果一樣
ifconfig eth0:0 192.168.20.2/24 up # 添加虛擬網卡eth0:0,IP地址為192.168.20.2/24【重啟網絡服務i配置即失效】
1.2 ifcfg命令:
ifcfg是用來取代ifconfig命令的,和ifconfig命令功用基本一致。
ifcfg eth0:0 add 192.168.10.2/24 # 添加虛擬網卡eth0:0,IP地址為192.168.10.2/24【重啟網絡服務i配置即失效】
ifcfg eth0:0 del 192.168.10.2/24
1.3 ip 命令:
ip link sh # 顯示的所有接口的鏈路狀態【down 或者up,MTU等信息】
ip link sh eth0 # 顯示eth0的鏈路狀態
ip link sh eth0 # 顯示eth0的鏈路狀態
ip link sh up # 僅顯示狀態為up的接口信息
ip link set eth1 down|up # 激活或禁止eth1接口
ip addr sh # 顯示網卡及IP等信息
ip addr sh eth1 # 顯示eth1的IP信息
ip addr sh label eth1* # 顯示匹配label為eth1的網卡信息【支持通配符】
ip addr add 192.168.2.11/24 dev eth0 label eth0:0 # 添加虛擬網卡,並指定網卡別名
ip addr del 192.168.2.11/24 dev eth0 # 刪除虛擬網卡
Note:下面的幾個 ip addr 命令不常用
ip addr add 10.10.10.20/24 dev eth1 scope link
上面的[scope {global|link|host}]:指明作用域【global: 全局可用;link: 僅鏈接可用;host: 本機可用;】
此外,還可以設置broadcast廣播地址,如:ip addr add 10.10.20.20 broadcast 10.255.255.255 dev eth1
ip addr flush eth0 # 清空eth0網卡的配置
ip addr flush eth1 to 192.168.2.10/24 # 清空eth1上的192.168.2.10/24
ip addr flush 的各種參數格式和ip addr show類似,請參考上面。
2.配置及查看路由的命令
常用的有route、ip命令。
下面主要以常用的實例來說明其用法。更多的參數請參考man幫助文檔。
2.1 route命令:
route -n # 以數字形式顯示路由條目【自動將域名解析為IP地址】
添加一條主機路由
route add -host 192.168.3.1 gw 172.16.0.1 dev eth0
# 添加一條到達主機192.168.3.1的路由,經由eth0接口, ,網關為172.16.0.1
注意:添加主機路由時候,不要加掩碼
添加一條網段路由
route add -net 192.168.4.0/24 gw 172.16.0.1 dev eth0
# 添加一條到達192.168.4.0/24網段的路由,經由eth0接口,網關為172.16.0.1
添加默認路由
route add default gw 172.16.0.1
或者route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
刪除路由
route del -host 192.168.1.3 # 刪除到192.168.1.3的主機路由
route del -net 192.168.0.0 netmask 255.255.255.0 # 刪除到192.168.0.0/24網段的路由
2.2 ip命令:
ip route sh # 顯示本機路由表信息
常用的還有:ip route { add | del | change | append | replace | monitor } ROUTE
添加路由
ip route add TARGET via GW dev IFACE src SOURCE_IP
TARGET可以是:
主機路由:具體IP地址
網絡路由:NETWORK/MASK
例如:
ip route add 192.168.20.2 via 192.168.2.2 dev eth0 src 192.168.2.13 # 添加主機路由【不加掩碼】
# 如果只有一塊網卡的話,其中的src Source_IP可以不寫
ip route add 192.168.20.0/24 via 192.168.2.2 dev eth0 src 192.168.2.13 # 添加網絡路由【需要加掩碼】
添加網關:
ip route add defalt via GW dev IFACE
刪除路由:
格式:ip route del TARGET
ip route del 192.168.20.2 # 刪除主機路由【del後面接的是單個IP地址】
ip route del 192.168.20.0/24 # 刪除網絡路由【del後面接的是網段】
ip route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]
清空路由表
ip route flush
[dev IFACE]
[via PREFIX]
例如:
ip route flush # 清空所有路由表
ip route flush dev eth1 # 清空與eth1 接口
ip route flush dev eth1 via 192.168.10.10
補充一:
路由表格式:
Destination列:是遠程路由地址,可以是主機地址或者網段
Gateway列:
GenMask列:Destination的掩碼
Flags列:
U表示該路由可用
G表示該路由需要經網關轉發
H表示該行的路由為一台主機,而非一個網段

補充二:
配置IP過程中,一些也會用到的命令,如:
ifup eth1 # 啟用eth1
ifdown eth1 # 禁掉eth1
