设置或更改默认 IP 地址

设置或更改默认 IP 地址

我有一台 SUSE 服务器,最近通过编辑下面的配置文件添加了第二个 IP 地址(以 .159 结尾)。它可以工作,但是现在计算机上的所有服务在建立连接时都使用新地址。示例:nagios 服务现在从新 IP 地址发出请求,我想对所有出站连接使用旧地址(以 .160 结尾)。有没有办法为出站连接设置默认 IP 地址(以 .160 结尾)?我只是使用命令行,没有可用的 KDE。

这是我的 eth 配置文件:

admin1@server1:/etc/sysconfig/network# more ifcfg-eth2
BOOTPROTO='static'
BROADCAST=''
ETHTOOL_OPTIONS=''
IPADDR='192.168.100.160/24'
MTU=''
NAME='79c970 [PCnet32 LANCE]'
NETWORK=''
REMOTE_IPADDR=''
STARTMODE='auto'
USERCONTROL='no'
IPADDR_external='207.47.100.160/24'
LABEL_external='external'
IPADDR1='192.168.100.159/24'
IPADDR1_external='207.47.100.159/24'

这是 ip Route show 的输出:

admin1@server1:/etc# ip route show
207.47.100.0/24 dev eth2  proto kernel  scope link  src 207.47.100.159
192.168.100.0/24 dev eth2  proto kernel  scope link  src 192.168.100.160
169.254.0.0/16 dev eth2  scope link
127.0.0.0/8 dev lo  scope link
default via 192.168.100.1 dev eth2

答案1

好吧,我找到了一个解决方案——Hauke,谢谢你让我走上了正轨。将 ifcfg 文件与按预期路由的另一个类似服务器进行比较后,我更改了 IPADDR 后缀的名称。我有一种感觉,当自动创建路线时,会进行某种 alpha 排序,并且“_external”后缀以我不希望的方式对自身进行排序。

新文件:

admin1@server1:/etc/sysconfig/network# more ifcfg-eth2
BOOTPROTO='static'
BROADCAST=''
ETHTOOL_OPTIONS=''
IPADDR='192.168.100.160/24'
MTU=''
NAME='79c970 [PCnet32 LANCE]'
NETWORK=''
REMOTE_IPADDR=''
STARTMODE='auto'
USERCONTROL='no'
IPADDR_0='207.47.100.160/24'
LABEL_0='external'
IPADDR_1='192.168.100.159/24'
IPADDR_2='207.47.100.159/24'

路线输出现在是:

admin1@server1:/etc# ip route show
207.47.100.0/24 dev eth2  proto kernel  scope link  src 207.47.100.160
192.168.100.0/24 dev eth2  proto kernel  scope link  src 192.168.100.160
169.254.0.0/16 dev eth2  scope link
127.0.0.0/8 dev lo  scope link
default via 192.168.100.1 dev eth2

在我的客户端上运行一些测试后,我可以看到 .160 地址现在用于出站连接。

我不确定这个配置是否被认为是“最佳实践”,但我会接受。再次感谢。

相关内容