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


8

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

192.168.20.0/24 via 192.168.20.253 dev eth0

提前致谢


我在不同的服务器上使用了不同的CentOS版本,但主要是CentOS 6.3-6.5
Itai Ganot 2014年

Answers:


7

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

因此,真正的系统管理员只使用/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

8

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

添加添加以下内容

192.168.20.0/24 via 192.168.20.253 dev eth0

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

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


1
好的,那是我到目前为止一直在使用的方法,但是最近在CentOS 6.5机器上,我发现route-devX文件被忽略并且服务器在重新启动服务器或重新启动网络服务时没有沿着路由运行,任何想法是什么原因造成的?
Itai Ganot 2014年

不确定。接口是否在启动/重新启动时出现?..我没有CENTOS / RHEL 6.5测试盒ATM。.我不确定RHEL 6.5的ifup-routes是否有任何变化。
vijay rajah 2014年

是的,接口运行正常...仅路由未显示,我指的是新安装的机器或大约2-3个月的旧机器。无论如何,我看到我使用正确的方法,所以我只接受您的问题,谢谢。
Itai Ganot 2014年

4

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

该文件-- /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 192.168.0.1是要访问的网关(一定是路由器)
  • 其中eth0是要使用的接口。

这是添加静态路由的最佳方法,所有内容都添加1个文件(X接口不包含X文件)


1

我总是route-ethX在CentOS 6.4和6.5上使用文件方法:

创建/编辑文件/etc/sysconfig/network-scripts/route-ethX(其中X是您的接口号),并在此文件中设置路由:

192.168.20.0/24 via 192.168.20.253 dev eth0

您还可以使用以下格式编辑此文件(我个人更喜欢第一种语法):

GATEWAY0=192.168.20.253
NETMASK0=255.255.255.0
ADDRESS0=192.168.20.0

然后重新启动网络以应用更改:

service network restart

进一步阅读:https : //www.centos.org/docs/5/html/5.2/Deployment_Guide/s1-networkscripts-static-routes.html


0

/ etc / sysconfig / network-scripts中,有一个脚本ifup-routes。它查找名称为route-dev_name的文件,例如route-eth0。


0

就我而言,文件“ / etc / sysconfig / network-scripts / route-device ”不存在。

我继续在文件“ / etc / sysconfig / static-routes ”上添加所需的网络或IP ”并使其永久生效,我重新启动了计算机,事实证明它可以正常工作。

这是在: cat /etc/centos-release CentOS Linux release 7.5.1804 (Core)

最好的祝福,

曼努埃尔·拉佐(Manuel Lazo)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.