试图了解在 CentOS 中创建静态路由的正确方法,请协助

试图了解在 CentOS 中创建静态路由的正确方法,请协助

我一直在尝试了解在 CentOS 6.x 机器上添加静态路由的正确方法。在一些论坛中,他们说要创建一个名为route-dev_name(例如 route-eth0)的文件,其中包含相关路由并将其放在 中/etc/sysconfig/network-scripts,在一些论坛中,他们说文件应该命名为static-routes,在这两种情况下,我都无法设置静态路由。似乎在某些 CentOS 版本中,它仅在命名文件时才有效,route-dev_name而在某些 CentOS 版本中,它仅在命名文件时才有效static-routes。有人能帮助我吗?这是我的路由文件的内容:

192.168.20.0/24 via 192.168.20.253 dev eth0

提前致谢

答案1

使用文件定义的 RH 样式设备相关路由/etc/sysconfig/network-scripts/route-device已导致很多问题。

因此真正的系统管理员只使用/etc/sysconfig/static-routes不依赖设备的文件:

any net 10.0.0.0 netmask 255.255.255.0 gw 192.168.0.1

问题:

  • 当物理设备绑定时,你需要记住改变路由-设备归档
  • 当您在虚拟机中重新组织适配器时。

当然,人们应该总是使用设备,这样人们就可以避免路线设备文件问题。

/etc/sysconfig/static-routes还请注意文件 中的语法,sniplet来自/etc/init.d/network

    # Add non interface-specific static-routes.
    if [ -f /etc/sysconfig/static-routes ]; then
       if [ -x /sbin/route ]; then
           grep "^any" /etc/sysconfig/static-routes | while read ignore args ; do
               /sbin/route add -$args
           done
       else
           net_log $"Legacy static-route support not available: /sbin/route not found"
       fi
    fi

答案2

在 /etc/syconfig/network-scripts/route-eth0 中创建一个文件

添加添加以下内容

192.168.20.0/24 via 192.168.20.253 dev eth0

我一直使用这种方法。我发现这是最好的方法。

仅供参考:检查——https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s1-networkscripts-static-routes.html

答案3

有一种更简单的方法来添加路线...

此文件 - /etc/init.d/network- 在 PC 启动时启动,它使用文件/etc/sysconfig/static-routes来添加静态路由

您必须创建它,因为它不存在。

如果您仔细阅读该文件/etc/init.d/network,它会读取此文件中的每一行来添加路线,这些行必须以“any”开头,并且“route add -”是已知的。

因此,在您要创建的文件 >> /etc/sysconfig/static-routes 中,您必须写入:

any net 10.0.0.0 netmask 255.255.255.0 gw 192.168.0.1 eth0
  • 其中 10.0.0.0/24 是您想要访问的网络(255.255.255.0 是掩码)
  • 其中 gw 1​​92.168.0.1 是要到达的网关(当然是路由器)
  • 其中 eth0 是要使用的接口。

这是添加静态路由的最佳方式,所有内容都使用 1 个文件(而不是为 X 接口使用 X 文件)

答案4

/etc/sysconfig/网络脚本有一个脚本ifup-路由. 它查找名为 route-dev_name 的文件,例如 route-eth0。

相关内容