Centos7添加靜态路由
本文摘取自 Centos7系統配置上的變化(二)網絡管理基礎
一、ip route顯示和設定路由
1、顯示路由表
[root@centos7 ~]# ip route show
default via 192.168.150.254 dev enp0s3 proto static metric 1024
192.168.150.0/24 dev enp0s3 proto kernel scope link src 192.168.150.110
複制
太難看了,格式化一下(顯示的是預設網關和區域網路路由,兩行的内容沒有共通性):
[root@centos7 tmp]# ip route show|column -t
default via 192.168.150.254 dev enp0s3 proto static metric 1024
192.168.150.0/24 dev enp0s3 proto kernel scope link src 192.168.150.110
複制
2、添加靜态路由

[root@centos7 ~]# ip route add 10.15.150.0/24 via 192.168.150.253 dev enp0s3
[root@centos7 ~]#
[root@centos7 ~]# ip route show|column -t
default via 192.168.150.254 dev enp0s3 proto static metric 1024
10.15.150.0/24 via 192.168.150.253 dev enp0s3 proto static metric 1
192.168.150.0/24 dev enp0s3 proto kernel scope link src 192.168.150.110
[root@centos7 ~]#
[root@centos7 ~]# ping 10.15.150.1
PING 10.15.150.1 (10.15.150.1) 56(84) bytes of data.
64 bytes from 10.15.150.1: icmp_seq=1 ttl=63 time=1.77 ms
64 bytes from 10.15.150.1: icmp_seq=1 ttl=63 time=1.08 ms
64 bytes from 10.15.150.1: icmp_seq=1 ttl=63 time=1.57 ms
^C
複制

3、删除靜态路由
隻需要把 add 替換成 del,或者更簡單的隻寫目标網絡
[root@centos7 ~]# ip route del 10.15.150.0/24
複制
二、設定永久的靜态路由
1、添加永久靜态路由
ip route 指令對路由的修改不能儲存,重新開機就沒了。把 ip route 指令寫到 /etc/rc.local 也是徒勞的。
RHEL7官網文檔沒有提到 /etc/sysconfig/static-routes,經測試此檔案已經無效;
/etc/sysconfig/network 配置檔案僅僅可以提供全局預設網關,文法同 Centos6 一樣: GATEWAY=<ip address> ;
永久靜态路由需要寫到 /etc/sysconfig/network-scripts/route-interface 檔案中,比如添加兩條靜态路由:
[root@centos7 ~]# vi /etc/sysconfig/network-scripts/route-enp0s3
10.15.150.0/24 via 192.168.150.253 dev enp0s3
10.25.250.0/24 via 192.168.150.253 dev enp0s3
複制
重新開機計算機,或者重新啟用裝置enp0s3才能生效。
[root@centos7 ~]# nmcli dev connect enp0s3
複制
一般直接連接配接一次裝置即可,如果不成功就先斷開裝置再連接配接裝置,注意必須兩個指令一起運作,否則,,,,,,你曉得。
[root@centos7 ~]# nmcli dev disconnect enp0s3 && nmcli dev connect enp0s3
複制
2、清除永久靜态路由
可以删除 ifcfg-enp0s3檔案或者注釋掉檔案裡的相應靜态路由條目,重新開機計算機。
想要讓修改後的靜态路由立即生效,隻能用 ip route del 手工删除靜态路由條目。
實驗的過程中出現兩個奇怪的現象:
1)有時候路由生效了但是在 ip route show 卻沒有顯示,重新開機計算機後是肯定顯示的,原因暫時不明。
2)存在多個網卡時,預設路由似乎是随機經由某個網卡裝置。檢查了所有連接配接配置檔案後發現,第一網卡的預設連接配接配置檔案 ifcfg-eth0 設定了GATEWAY0(此設定會覆寫/etc/sysconfig/network 定義的全局預設網關),第二網卡的連接配接配置檔案 ifcfg-eth1 使用的是dhcp,會在啟動時也配置設定預設網關,兩個預設網關讓計算機糊塗了。這是在測試系統裡經常發生的現象,生産系統一般不會讓網卡用dhcp,或者即使是用了也會仔細配置設定預設網關防止沖突。
其他需要注意的:
1)連接配接配置檔案 ifcfg-* 裡可以設定多個GATEWAY,一般第一個是 GATEWAY0,然後GATEWAY1, GATEWAY2... ,尾号最大的有效;
2)如果必須在/etc/sysconfig/network 檔案定義全局網關,連接配接配置檔案 ifcfg-* 就不要設定GATEWAY了,dhcp的連接配接要注意dhcp伺服器不要定義預設網關。
3)ifcfg-enp0s3 檔案改名為 ifcfg-eth0 後,route-enp0s3 檔案也要改名為 route-eth0。
分類 Linux
标簽 centos7 , 靜态路由
« 上一篇: Centos7系統配置上的變化(三)為網絡接口添加多IP
(adsbygoogle = window.adsbygoogle || []).push({});