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。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章