适用于v 4.x/5.x/6.x/7.x的Red Hat Enterprise Linux静态路由配置

时间:2020-01-09 10:43:09  来源:igfitidea点击:

我有两个连接到两个不同路由器的网络接口,如下所示:

eth0 LAN网络10.0.0.0/8网关IP 10.8.2.65

eth1 ISP分配的网络

  • ISP 192.54.22.128/28网关IP 192.54.22.129

我只能ping通公共服务器,而不能ping通我局域网内的其他服务器吗?
我无法通过10.8.2.65路由流量。
如何在Red Hat Enterprise Linux 5.x/6.x/7.x或者CentOS Linux 5.2/6.x/7.x下配置静态路由?
在Red Hat Enterprise Linux或者CentOS Linux下,您需要使用route命令或者ip命令定义静态路由。
该配置存储在eth0接口的/etc/sysconfig/network-scripts/route-eth0下。

使用route命令更新路由

执行以下命令:

# route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.8.2.65 eth0
# route -n

或者使用ip命令为您更新/设置新路由:

# ip route add 10.0.0.0/8 via 10.8.2.65
# ip r

或者

# ip route add 10.0.0.0/8 via 10.8.2.65 dev eth0
# ip r

RHEL 7/CentOS 7.x可以使用以下语法来设置静态路由:

# nmcli connection modify eth0 +ipv4.routes "10.0.0.0/8 via 10.8.2.65"

仅为CentOS/RHEL版本4.x/5.x/6.x和更早版本创建静态路由文件

上述route命令的缺点是,当RHEL/CentOS服务器重新引导时,它将忘记静态路由。
因此,将它们存储在eth0接口的配置文件中:

# echo '10.0.0.0/8 via 10.8.2.65' >> /etc/sysconfig/network-scripts/route-eth0

重新启动网络:

# service network restart

验证新更改:

# route -n
# ip r
# ip a
# ping 10.8.2.65
# ping 10.8.2.10
# ping google.com
# traceroute google.com
# traceroute 10.8.2.10

如何在CentOS/RHEL 7.x及更高版本上添加新的静态路由

要查看当前的IP设置,请运行:

# ip a
# ip r

创建一个名为/etc/sysconfig/network-scripts/route-enp6s0的文件,以通过用于enp6s0接口的10.8.2.65路由子网10.0.0.0/8的流量:

# echo "10.0.0.0/8 via 10.8.2.65 dev enp6s0" >> /etc/sysconfig/network-scripts/route-enp6s0

最后重新启动网络:

# systemctl restart network
# ip r
# ping 10.8.2.65
# ping 10.8.2.10
# ping google.com