centos7 永久新增靜態路由

strivechao發表於2020-09-02

檢視路由表

ip route show|column -t
route -n

永久新增路由

vim /etc/sysconfig/network-scripts/route-ens224
./ via ../ via

重啟網路生效

systemctl restart network


Centos6 

C、# vi /etc/sysconfig/static-routes (沒有static-routes的話就手動建立一個這樣的檔案,推薦使用)
語句:
any net 0.0.0.0 gw 192.168.209.128
any net 192.168.3.0/24 gw 192.168.3.254
any net 10.250.228.128 netmask 255.255.255.192 gw 10.250.228.129


一、使用route命令 新增route 命令

設定和檢視路由表都可以用 route 命令,設定核心路由表的命令格式是:

# route  [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]

其中:

  • add : 新增一條路由規則
  • del : 刪除一條路由規則
  • -net : 目的地址是一個網路
  • -host : 目的地址是一個主機
  • target : 目的網路或主機
  • netmask : 目的地址的網路掩碼
  • gw : 路由資料包透過的閘道器
  •  route 命令的輸出項說明 輸出項  說明
Destination 目標網段或者主機
Gateway 閘道器地址,”*” 表示目標是本主機所屬的網路,不需要路由
Genmask 網路掩碼
Flags 標記。一些可能的標記如下:

U — 路由是活動的

H — 目標是一個主機

G — 路由指向閘道器

R — 恢復動態路由產生的表項

D — 由路由的後臺程式動態地安裝

M — 由路由的後臺程式修改

! — 拒絕路由
Metric 路由距離,到達指定網路所需的中轉數(linux 核心中沒有使用)
Ref 路由項引用次數(linux 核心中沒有使用)
Use 此路由項被路由軟體查詢的次數
Iface 該路由表項對應的輸出介面
  • dev : 為路由指定的網路介面
  •  
  • 使用route 命令新增的路由,機器重啟或者網路卡重啟後路由就失效了,方法:
    A、新增到主機的路由
    # route add –host 192.168.1.10 dev eth0
    # route add –host 192.168.1.10 gw 192.168.1.1
    B、新增到網路的路由
    # route add –net 192.168.1.0  netmask 255.255.255.0 eth0
    # route add –net 192.168.1.0  netmask 255.255.255.0 gw 192.168.1.1
    # route add –net 192.168.1.0/24 eth1
    C、新增預設閘道器
    # route add default gw 192.168.1.1
    D、刪除路由
    # route del –host 192.168.1.10 dev eth0

ip route add 192.178.18.0/24 via 192.178.17.200 dev em4




CentOS7、CentOS6新增永久靜態路由

本人在實際工作中經常需要新增 永久靜態路由,故整理此文。我這裡只列舉最快捷有效的新增方法,其他方法大家可自行查詢,本文不再贅述。

假設我這臺機器有三塊兒網路卡,ip192.168.102.30配置在網路卡eth0上,掩碼是255.255.255.0,閘道器是192.168.102.1,需要與192.168.100.0段內所有伺服器通訊,以下是路由設定方法。

1. CentOS7新增永久靜態路由方法

輸入 ip route show | column -t檢視當前路由表:

[root@test ~]# ip route show | column -t
192.168.102.0/24	dev	 eth0	proto	kernel	scope	link	src	  192.168.102.107	metric	100
[root@test ~]# 
123

輸入命令 ip addr檢視所需經過的網路卡的名稱:

[root@test ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
	link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
	inet 127.0.0.1/8 scope host lo
		valid_Ift forever preferred_Ift forever
	inet6 ::1/128 scop host
		valid_Ift forever prefeered_Ift forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
	link/ether 00:13:dd:a2:08:00 brd ff:ff:ff:ff:ff:ff
	inet 192.168.102.30/24 brd 192.168.102.255 scope global noprefixroute eth0
		valid_Ift forever preferred_Ift forever
	inet6 ed20::21c:5dff:fe64:3000/64 scop link
		valid_Ift forever prefeered_Ift forever
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
	link/ether 00:13:dd:a2:08:01 brd ff:ff:ff:ff:ff:ff
4: eth2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
	link/ether 00:13:dd:a2:08:02 brd ff:ff:ff:ff:ff:ff
[root@test ~]# 
123456789101112131415161718

從以上回顯中可以得知所需經過的網路卡名為 eth0,然後我們用 vi編輯器在以下路徑建立檔案 route-eth0並編輯:

[root@test ~]# vi /etc/sysconfig/network-scripts/route-eth01

在route-eth0檔案中新增以下行: 192.168.100.0/24 via 192.168.102.1 dev eth0
其中,192.168.100.0/24是目標網段及掩碼,192.168.102.10是閘道器,dev eth0是途徑裝置。

192.168.100.0/24 via 192.168.102.1 dev eth0
~
~
~
~
~
~
~
"/etc/sysconfig/network-scripts/route-eth0" 3L, 89C123456789

新增完成後按 Esc退出編輯,輸入“ :wq”,敲擊回車儲存並退出:

192.168.100.0/24 via 192.168.102.1 dev eth0
~
~
~
~
~
~
~
:wq123456789

隨後輸入 service network restart重啟網路服務:

[root@test ~]# service network restart
Restarting network (via systemctl):						[  ok  ]
[root@test ~]# 
123

ping一下目標網段的機器,看看通不通,按Ctrl+C中斷:

[root@test ~]# ping 192.168.100.226
PING 192.168.100.226 (192.168.100.226) 56(84) bytes of data.
64 bytes from 192.168.100.226: icmp_seq=1 ttl=255 time=1.33 ms
64 bytes from 192.168.100.226: icmp_seq=2 ttl=255 time=1.34 ms
64 bytes from 192.168.100.226: icmp_seq=3 ttl=255 time=1.56 ms
^C
--- 192.168.100.226 ping statistics ---
3packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 1.339/1.417/1.565/0.104 ms
[root@test ~]# 
12345678910

輸入 ip route show | column -t檢視路由表中是否有剛才新增的路由:

[root@test ~]# ip route show | column -t
192.168.100.0/24	via	  192.168.102.1	dev		eth0	proto	static	metric	100
192.168.102.0/24	dev	  eth0				proto	kernel	scope	link	src		192.168.102.30	metric	100
[root@test ~]# 
1234
至此,CentOS7作業系統下永久靜態路由設定完成。

2. CentOS6新增永久靜態路由方法

CentOS6要比CentOS7簡單粗暴的多。

輸入 route -n檢視當前路由表:

[root@test2 ~]# route -n
Kernel IP routing table
Destination	Gateway			Genmask			Flags	Metric	Ref	Use	Iface
0.0.0.0			192.168.102.1	255.255.255.0	UG		0		0	0	eth0
[root@test2 ~]# 
12345

輸入命令 ifconfig檢視所需經過的網路卡的名稱:

[root@test2 ~]# ifconfig
eth0		Link encap:Ethernet  HWaddr 00:13:DD:A2:08:00
		inet addr:192.168.102.30  Bcast:192.168.102.255 Mask:255.255.255.0
		inet6 addr: ed20::21c:5dff:fe64::3000/64 Scope:Global
		inet6 addr: fe80::215:5d66::1100/64 Scope:Link
		UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
		RX packets:32609036 errors:0 dropped:0 overruns:0 carrier:0
		TX packets:83149 errors:0 dropped:0 overruns:0 carrier:0
		collisions:0 txqueuelen:1000
		RX bytes:3808450527 (3.5 GiB)  TX bytes:5266402 (5.0 MiB)
lo		Link encap:Local Loopback
		inet addr:127.0.0.1 Mask:255.0.0.0
		inet6 addr: ::1/128 Scope:Host
		UP LOOPBACK RUNNING  MTU:65536  Metric:1
		RX packets:346915 errors:0 dropped:0 overruns:0 frame:0
		TX packets:346915 errors:0 dropped:0 overruns:0 carrier:0
		collisions:0 txqueuelen:0
		RX bytes:24878697 (23.7 MiB)  TX bytes:24878697 (23.7 MiB)
			
[root@test2 ~]# 
123456789101112131415161718192021

從以上回顯中可以得知所需經過的網路卡名為 eth0,然後我們用 vi編輯器在以下路徑建立檔案 static-routes並編輯:

[root@test2 ~]# vi /etc/sysconfig/static-routes

static-routes檔案中新增以下行: any net 192.168.100.0 netmask 255.255.255.0 gw 192.168.102.1
其中,192.168.100.0是目標網段,netmask是子網掩碼,192.168.102.1是途徑閘道器。

any net 192.168.100.0 netmask 255.255.255.0 gw 192.168.102.1
~
~
~
~
~
~
~
"/etc/sysconfig/static-routes" 3L, 189C123456789

新增完成後按 Esc退出編輯,輸入“ :wq”,敲擊回車儲存並退出:

192.168.100.0/24 via 192.168.102.1 dev eth0
~
~
~
~
~
~
~
:wq123456789

隨後輸入 service network restart重啟網路服務:

[root@test2 ~]# service network restart
Shutting down interface eth0:							[  ok  ]
Shutting down loopback interface:						[  ok  ]
Bringing up loopback interface:						[  ok  ]
Shutting down interface eth0:  Determining if ip address 192.168.102.30 is already in use for device eth0...
														[  ok  ]
[root@test2 ~]# 
1234567

ping一下目標網段的機器,看看通不通,按Ctrl+C中斷:

[root@test2 ~]# ping 192.168.100.226
PING 192.168.100.226 (192.168.100.226) 56(84) bytes of data.
64 bytes from 192.168.100.226: icmp_seq=1 ttl=255 time=1.81 ms
64 bytes from 192.168.100.226: icmp_seq=2 ttl=255 time=1.24 ms
64 bytes from 192.168.100.226: icmp_seq=3 ttl=255 time=1.89 ms
64 bytes from 192.168.100.226: icmp_seq=4 ttl=255 time=1.21 ms
^C
--- 192.168.100.226 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3272ms
rtt min/avg/max/mdev = 1.213/1.542/1.897/0.318 ms
[root@test2 ~]# 
1234567891011

輸入 route -n檢視路由表,看看剛才新增的路由是否存在:

[root@test2 ~]# route -n
Kernel IP routing table
Destination	Gateway			Genmask			Flags	Metric	Ref	Use	Iface
192.168.100.0	192.168.102.1	255.255.255.0	UG		0		0	0	eth0
0.0.0.0			192.168.102.1	255.255.255.0	UG		0		0	0	eth0
[root@test2 ~]# 
123456
至此,CentOS6作業系統下永久靜態路由設定完成。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25469263/viewspace-2716435/,如需轉載,請註明出處,否則將追究法律責任。

相關文章