CentOS 7 持久路由问题?

CentOS 7 持久路由问题?

我在 Google 上搜索了很多,但仍然找不到如何在 centOS 7 上创建一些持久路由的工作方法。

[root@asd network-scripts]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.23.40.1     0.0.0.0         UG    1024   0        0 enp10s0f1
172.23.40.0     0.0.0.0         255.255.255.0   U     0      0        0 enp10s0f1


enp10s0f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet6 fe80::226:55ff:fed1:9123  prefixlen 64  scopeid 0x20<link>
ether 00:26:55:d1:91:23  txqueuelen 1000  (Ethernet)
RX packets 1096  bytes 291485 (284.6 KiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 12  bytes 2040 (1.9 KiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
device interrupt 34  memory 0xfbfe0000-fc000000

enp10s0f1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet 172.23.40.77  netmask 255.255.255.0  broadcast 172.23.40.255
inet6 fe80::226:55ff:fed1:9122  prefixlen 64  scopeid 0x20<link>
ether 00:26:55:d1:91:22  txqueuelen 1000  (Ethernet)
RX packets 2865  bytes 457736 (447.0 KiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 1995  bytes 345793 (337.6 KiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
device interrupt 24  memory 0xfbee0000-fbf00000

我在 Google 上搜索的所有地方都说要在文件下面的文件夹中进行配置route-eth0。但我的文件不是这样的,它们是“ifcfg-enp10s0f0”。我这里有这个文件/etc/sysconfig/network-scripts::

-rw-r--r--. 1 root root   321 Sep 15 13:34 ifcfg-enp10s0f1
-rw-r--r--. 1 root root   440 Sep 15 14:44 ifcfg-enp10s0f0
[root@asd network-scripts]#

我尝试添加一个像route-enp10s0f0.我在文件中添加了路线/etc/sysconfig/network,但没有任何效果。每次我这样做,service network restart一切都会消失!

我已经添加了ifcfg-enp10s0f0

GATEWAY0=0.0.0.0
NETMASK0=255.255.255.0
ADDRESS0=192.168.0.0
GATEWAY1=0.0.0.0
NETMASK1=255.255.0.0
ADDRESS1=169.254.0.0

我究竟做错了什么?

答案1

您在 Google 上找到的信息是正确的。您需要创建一个路由(ifname)文件。

内容需要类似于“ip”命令,但只有最后一部分。像这样:

192.168.1.0/24 via 192.168.2.1

更多信息可以在RHEL 7 网络指南

答案2

我认为为了让持久的 ip 路由和规则发挥作用,您需要执行以下任务:

  1. 首先,通过编辑/etc/iproute2/rt_tables并添加一行来为您的路由创建一个新的路由表,'mytable' 可以更改为更合适的内容,100 是相对于其他表的优先级:

     100  mytable
    
  2. 接下来通过创建文件来指定您的接口(例如 eth1)所需的规则和路由(所选的规则和路由是示例,请更改它们以适合您的设置):

/etc/sysconfig/network-scripts/rule-eth1

    fr10.10.244/32 table myta
    to 10.10.10.244/32 table mytable

/etc/sysconfig/network-scripts/route-eth1

    dlt via 10.10.10.1 dev eth1 tableable
  1. 最后,安装并启用 NetworkManager 扩展,以允许读取路由和规则文件:

     $ sudo yum installworkger-config-routing-rules`
     $ sudo systemctl start NetworkManager-dispatcher.service`
    
  2. 然后重新启动以检查是否一切正常。

答案3

其中所说的route-eth0,思考route-enp10s0f0route-enp10s0f1

本质上,文件中的路由规则在启动route-<interface-name>时应用,在删除时删除。<interface-name><interface-name>

相关内容