我使用这个服务器来测试一些网络参数。它有 3 个独立的网卡,每个网卡的 IP 配置如下:
- 192.168.10.150/30 网关 10.149
- 192.168.152.146/30 网关 152.145
- 192.168.32.10/30 网关 32.9
我想分别 ping 每个网卡,并希望服务器从确切的网卡回答每个 ICMP 数据包已到达。但是当这样做时,ping 给出 TTL 超出的消息,并且跟踪路由显示路由中有循环。
答案1
是的,对于服务,我可以将端口绑定到网卡。但对于 ping,这是不可能的。我使用源路由来解决这个问题 - 使用 IP 规则,我为每个 ping 响应数据包定义了不同的路由表。
ip rule add from 192.168.10.150 table tbl3
ip route add default via 192.168.10.149 table tbl3
ip rule add from 192.168.152.146 table tbl2
ip route add default via 192.168.152.145 table tbl2
ip rule add from 192.168.32.10 table tbl1
ip route add default via 192.168.32.9 table tbl1