我有一台正在运行 SNMP 池程序的 Debian 机器,但是在让池程序使用特定接口时遇到了问题。
Debian 机器有 3 个接口
allow-hotplug eth0
iface eth0 inet static
address 10.1.1.3
netmask 255.255.255.0
gateway 10.1.1.1
dns-nameservers 10.1.1.6
allow-hotplug eth1
iface eth1 inet static
address 10.1.1.7
netmask 255.255.255.0
allow-hotplug eth2
iface eth2 inet static
address 10.1.1.8
netmask 255.255.255.0
在该机器尝试从中获取 SNMP 信息的客户端机器上,它将允许来自 10.1.1.3 的 SNMP 请求,但由于某种原因,当 Debian 发送请求时,它使用 10.1.1.7 (eth1)。我还注意到,当我从 Debian 机器 ping 客户端 (10.1.1.5) 时,Wireshark 说 ICMP 数据包来自 10.1.1.7。为什么不使用列表中的第一个接口 (10.1.1.3)?
路线:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.1.1.1 0.0.0.0 UG 0 0 0 eth0
localnet * 255.255.255.0 U 0 0 0 eth1
localnet * 255.255.255.0 U 0 0 0 eth0
localnet * 255.255.255.0 U 0 0 0 eth2
其他说明:
- 其他接口适用于一些 apache2 ssl 网站
- 对于 SNMP,我使用 LibreNMShttps://github.com/librenms/librenms
答案1
正如 Michael Hampton 在 OP 的评论中提到的,我调整了我的接口文件以使用具有多个 IP 的单个接口。
以下是更新后的界面:
allow-hotplug eth0
iface eth0 inet static
address 10.1.1.3
netmask 255.255.255.0
gateway 10.1.1.1
dns-nameservers 10.1.1.6
allow-hotplug eth1
iface eth0:0 inet static
address 10.1.1.7
netmask 255.255.255.0
allow-hotplug eth2
iface eth0:0 inet static
address 10.1.1.8
netmask 255.255.255.0
现在它从第一个主地址发送请求。