我有一台 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 地址现在用于出站连接。
我不确定这个配置是否被认为是“最佳实践”,但我会接受。再次感谢。