临时路由

1、通过ip命令进行配置(推荐)

临时路由指在系统运行期间设置的路由,一旦系统重启,路由规则就会失效。适用于运行重要业务而无法重启的系统。

典型的例子在OpenVPN配置中经常需要将特定网段的数据包全部路由到OpenVPN隧道。

ip route add 192.168.0.0/24 via 10.10.10.1 dev tun0

上面这条命令创建了一条路由,所有发往192.168.0.0/24网段的数据包都会被路由到10.10.10.1这个网关。

也可以通过此命令配置默认网关。

ip route add default via 192.168.88.1 dev eth0

配置完成后查看路由的方法:

ip route list

使用route命令配置

route命令在net-tools工具包中,采用Minimal安装的系统没有这个软件包,需要自行安装。如果你查看net-tools说明会发现,他推荐使用iproute包代替。也就是ip命令所在的包。可能大部分人都习惯了route,ifconfig等命令。所以这个包目前仍在使用。推荐学习一下iproute包中的工具。

sudo yum install -y net-tools

上述规则用route命令配置方式如下。需要区分主机(host)还是网络(net)。

route add -net 192.168.0.0/24 gw 10.10.10.1
route add -host 192.168.9.1 gw dev tun0

配置默认网关的方法如下,可以指定接口或者IP。

route add default gw 192.168.88.1
route add default dev eth0

查看路由方法

route -n
netstat -nr
netstat也是net-tools工具包中的一个命令。

更多用法可以查询手册:

man ip
man route
man netstat

永久路由

在配置完临时路由后,暂时可以不用重启系统,但是我们希望下次重启(无论是意外还是计划重启)能够自动创建所需的路由,可以参照下面的方法配置。

创建文件/etc/sysconfig/network-scripts/route-{interface}(推荐)

interface为网卡接口名称。

例如,还是OpenVPN的路由规则,创建文件/etc/sysconfig/network-scripts/route-tun0,按照ip route命令参数格式写入。

192.168.0.0/24 via 10.10.10.1 dev tun0

/etc/sysconfig/static-routes

此配置文件会被/etc/init.d/network调用,但是init现已由systemd替代,所以此方式或许以后会失效。

编写规则方式如下:

any net any gw 192.168.88.1
any net 192.168.0.0/24 gw 10.10.10.1
any net 192.168.2.0 netmask 255.255.252.0 gw 10.10.10.1 

/etc/rc.local

将配置路由的命令写入开机脚本,此脚本CentOS 7已不推荐使用,默认是没有执行权限的,需要添加可执行权限。建议不要使用这种方式。

最后修改:2023 年 09 月 20 日
如果觉得我的文章对你有用,请随意赞赏