网络重新启动或系统重新引导时,我的默认路由将从路由表中消失。
其内容/etc/sysconfig/network
为:
NETWORKING=yes
HOSTNAME=server
NTPSERVERARGS=iburst
GATEWAY=192.1.1.250
GATEWAYDEV=Wired_connection_1
其内容/etc/sysconfig/network-script/ifcfg-Wired_connection_1
为:
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
GATEWAY0=192.1.1.250
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="Wired connection 1"
UUID=4aef50a9-b5fe-4b60-abe9-e7de5d4c194e
ONBOOT=yes
DEVICE=Wired_connection_1
USERCTL=no
HWADDR=2C:27:D7:33:6D:9E
PEERDNS=yes
PEERROUTES=yes
有什么建议如何使我的默认路由持久化吗?
答案1
解决方案是将这一行添加到/etc/sysconfig/network-scripts/
目录下特定于适配器的 ifcfg(接口配置)文件中。
default via ip_address hardware_interface_name
答案2
使用适配器名称创建一个静态文件 例如,如果您有 ens192,则指定名称“/etc/sysconfig/network-scripts/route-ens192”
并添加内容,例如
IP_where_you_to_go/32 via Gateway src IP_of_your_interface
172.16.6.20/32 via 192.168.10.254 src 192.168.10.11
然后重新启动NetworkManager或网络服务
答案3
那是哪个版本的 RHEL?
指定默认网关/etc/sysconfig/network
是已弃用的旧式(至少在 RHEL 5.x 之前的版本)。并GATEWAYDEV
期望一个设备名称类似于eth0
或eno1
,而不是 NetworkManager连接名称喜欢Wired_connection_1
。如果您使用 NetworkManager,GATEWAY
则不应GATEWAYDEV
在/etc/sysconfig/network
.
GATEWAY0
是文件中使用的旧三行路由语法的一部分/etc/sysconfig/network-scripts/route-<interface>
:要在文件中指定默认网关/etc/sysconfig/network-scripts/ifcfg-*
,只需使用GATEWAY=
不带数字的网关。
这BOOTPROTO=dhcp
通常意味着 DHCP 服务器应该告诉系统默认网关。我不确定 NetworkManager 是否允许您像这样覆盖默认网关设置:根据表 93网络管理器参考手册,如果本地未设置 IP 地址,NetworkManager 将忽略网关设置。
如果您特别需要覆盖DHCP 配置的默认网关(或者 DHCP 服务器根本不提供默认网关),同时仍然使用 NetworkManager,您可以尝试创建/etc/sysconfig/network-scripts/route-Wired_connection_1
包含以下内容的文件:
default via 192.1.1.250
在 NetworkManager 中,它应该映射到ipv4.routes
(或route-data
,取决于 NetworkManager 版本)属性,该属性也可以与 DHCP 一起使用(或者至少是没有记录就不能工作当本地没有分配IP地址时)。