我正在静态 IP 上设置第二个网络接口,但它没有正常工作。
我可以毫无问题地建立出站连接,例如
ping -i 66.249.80.104
但当外部 IP ping 我的服务器时,我收到了数据包,但回复说无法访问
tcpdump -i eth1
08:23:50.427576 IP external.com > 44c3e65d.static: ICMP echo request, id 65388, seq 0, length 64
08:53:55.084512 arp who-has 44c3e65d.static tell 44c3e65a.static
08:53:55.084518 arp reply 44c3e65d.static is-at 00:15:17:27:80:e1 (oui Unknown)
08:23:50.428775 44c3e65a.static > 44c3e65d.static: ICMP external.com protocol 1 port 63628 unreachable, length 92
我在 tcpdump 中也看到了很多这样的情况
08:54:47.404489 802.1d config 8000.00:1c:57:f1:10:8a.8002 root 8000.00:1c:57:f1:10:8a pathcost 0 age 0 max 20 hello 2 fdelay 15
我没有打开 iptables,如果我从内部网络上的另一台计算机 ping 该静态 IP,它就可以正常工作。
我不是系统管理员,所以我不太清楚如何解决此问题。如能得到任何帮助我将不胜感激 :)
答案1
这是网关的问题
使用“路线”给了我
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.2.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth1
68.0.0.0 * 255.0.0.0 U 0 0 0 eth1
default 192.168.2.1 0.0.0.0 UG 0 0 0 eth0
因此没有为 eth1 配置网关,所以我
route add -net default gw 68.195.x.x dev eth1
然后得到
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.2.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth1
68.0.0.0 * 255.0.0.0 U 0 0 0 eth1
default 44c3e659.st 0.0.0.0 UG 0 0 0 eth1
default 192.168.2.1 0.0.0.0 UG 0 0 0 eth0
我理解为什么它无法响应外部 ping,但我有点困惑我如何能够在外部服务器上成功 ping?我的猜测是,它使用了 eth0,尽管我明确告诉它使用 eth1
答案2
第二个接口是否配置了默认网关?如果没有,那可能就是问题所在。