找回密码
 立即注册
搜索
热搜: SDN 云计算 H3C
查看: 4244|回复: 0

[CentOS] CentOS7 添加临时和永久静态路由的方法

[复制链接]

57

主题

13

精华

8

回帖

管理员

体力
314 卡
贡献
161 个
金币
256 枚
注册时间
2018-8-25
最后登录
2025-3-1

活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老最佳新人

发表于 2018-8-26 01:15:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
一、项目需求
linux 服务器所在局域网,不止一个IP号段。需要多个IP号段访问该服务器,所以需要配置静态路由,并且要永久添加路由,在服务器重启后也可以正常生效

二、教程说明
检查IP route状况
先检查一下服务器的路由情况
ip route show | column -t
然后确定一下要添加的IP号段

三、添加临时的route路由
临时添加一条路由的方式很简单。直接写
route  add  -net  10.227.97.11  netmask  255.255.255.0  gw  10.227.96.22
route  add  -host  8.8.8.8  gw  10.30.0.254    (32位掩码的主机路由必须通过该方式添加)

其中 97.11 是需要访问该服务器的另外局域网的号段 255.255.255.0 是子网掩码 96.22 这个IP是当前服务器所在的网络的网关IP
但是这个有一个问题就是当服务器重启之后,路由状态会消失。所以需要永久添加静态路由的方式

四、添加永久静态路由

CentOS7静态路由添加有多种方式,经测试通过route add、ip route命令添加的方式,再服务器重启后或network服务重启后会出现路由丢失。

如果想添加永久静态路由,centos7可行的两种方法:

【方法一】
永久静态路由需要写到 /etc/sysconfig/network-scripts/route-ens33文件中,故在/etc/sysconfig/network-scripts/下,新建文件名为route-ens33的文件,(ens33代表当前网卡名)
vim 修改一下。这里要注意一下格式 :TARGET via GW
比如添加两条静态路由:(网卡的设备名叫eth0)
[root@centos7 ~]# vim /etc/sysconfig/network-scripts/route-eth0
192.168.0.0/24 via 172.16.0.1
10.15.150.0/24 via 10.10.10.1 dev eth0
8.8.8.8/32 via 10.30.0.254    (32位掩码的主机路由必须通过该方式添加)
0.0.0.0/0 via 172.16.10.2 dev eth0 (可以省略dev eth0 ,注意这里的掩码是0而不是32,因为这里是网段而不是路由。

查看路由表
[root@centos7 ~]# route  -n
Kernel IP  routing table
Destination     Gateway         Genmask           Flags Metric  Ref    Use Iface
10.25.250.0     10.10.10.1      255.255.255.0   UG    0         0        0 eth0
10.10.10.0       0.0.0.0            255.255.255.0   U       0         0        0 eth0
10.15.150.0     10.10.10.1      255.255.255.0   UG    0         0        0 eth0
169.254.0.0      0.0.0.0           255.255.0.0       U      1002    0        0 eth0

centos6多出一条路由
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
这个是LinuxZeroconfig的结果,通过修改/etc/sysconfig/network,在文件结尾添加即可解决。
NOZEROCONF=yes

Flags标记:
U - 路由是活动的
H - 目标是一个主机
G - 路由指向网关


【方法二】
vim编辑/etc/sysconfig/static-routes文件,参照如下方式添加想要的路由:
any net 192.168.99.0/24  gw  192.168.1.254
any net 10.1.1.0 netmask 255.255.255.0 gw 192.168.1.254
any host 8.8.8.8 gw 10.30.0.254     (32位掩码的主机路由必须通过该方式添加)

保存退出后,service network restart。
使用route -n或netstat -r,  ip route show | column  -t 查看路由表

【方法三】
在/etc/rc.local文件中添加:
route add -net 192.168.99.0/24 dev bond0
route add -net 192.168.100.0/24 gw 192.168.1.254
保存。

语法:
route (选项) (参数)

选项:
-A:设置地址类型;
-C:打印将Linux核心的路由缓存;
-v:详细信息模式;
-n:不执行DNS反向查找,直接显示数字形式的IP地址;
-e:netstat格式显示路由表;
-net:到一个网络的路由表;
-host:到一个主机的路由表;

参数:
add:增加指定的路由记录;
del:删除指定的路由记录;
target:目的网络或目的主机;
gw:设置默认网关;
mss:设置tcp的最大区块长度MSS,单位MB;
windows:指定通过路由表的TCP连接的TCP窗口大小;
dev:路由记录所表示的网络接口。



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表