1. ip route 顯示和設定路由
1.1 顯示路由表
[root@linux-node1 ~]# ip route show
default via 192.168.56.2 dev eth0
169.254.0.0/16 dev eth0 scope link metric 1002
192.168.56.0/24 dev eth0 proto kernel scope link src 192.168.56.11
[root@linux-node1 ~]# ip route show | column -t # 格式化一下
default via 192.168.56.2 dev eth0
169.254.0.0/16 dev eth0 scope link metric 1002
192.168.56.0/24 dev eth0 proto kernel scope link src 192.168.56.1
1.2 添加靜態路由
[root@linux-node1 ~]# ip route add 192.168.56.0/24 via 192.168.56.2 dev eth0
1.3 刪除靜態路由
只需要把 add 替換成 del,或者更簡單的只寫目標網絡
[root@linux-node1 ~]# ip route del 192.168.56.0/24
1.4設置默認路由
[root@linux-node1 ~]# ip route add 192.168.56.0/24 via 192.168.56.2 dev eth0
2 設置永久的靜態路由
2.1 添加永久靜態路由
ip route指令對路由的修改不能保存,重啟就沒了。把ip route指令寫到/etc/rc.local也是徒勞的。 RHEL7 官網文檔沒有提到/etc/sysconfig/static-routes,經測試此文件已經無效; /etc/sysconfig/network配置文件僅僅可以提供全局默認網關,語法同 CentOS 6 一樣: GATEWAY= ; 永久靜態路由需要寫到`/etc/sysconfig/network-scripts/route-interface`文件中,比如添加兩條靜態路由:
[root@linux-node1 network-scripts]# cat /etc/sysconfig/network-scripts/route-eth0
10.18.196.0/255.255.254.0 via 192.168.56.11 dev eth0
[root@linux-node1 network-scripts]# nmcli dev connect eth0 # 重啟計算機,或者重新啟用設備 eth0 才能生效。
[root@linux-node1 network-scripts]# nmcli dev disconnect eth0 && nmcli dev connect eth0
# 一般直接連接一次設備即可,如果不成功就先斷開設備再連接設備,注意必須兩個指令一起運行
2.2 清除永久靜態路由
可以刪除 route-eth0 文件或者注釋掉文件里的相應靜態路由條目,重啟計算機。
想要讓修改后的靜態路由立即生效,只能用ip route del手工刪除靜態路由條目。