Linux 某个本地网络服务器上的奇怪路由

Linux 某个本地网络服务器上的奇怪路由,linux,networking,ping,routes,tcpdump,Linux,Networking,Ping,Routes,Tcpdump,我有2个本地网络(2个办公室与openvpn连接) 网络1: network 192.168.1.0/24 gateway 192.168.1.101 网络2: network 192.168.2.0/24 gateway 192.168.2.10 在网络192.168.1.0/24中,我有两台服务器—192.168.1.180和192.168.1.183 第一个在Debian6上运行,第二个在Archlinux上运行(是的,我知道这对于服务器来说是个糟糕的选择)。我在服务器上没有防火墙 一

我有2个本地网络(2个办公室与openvpn连接)

网络1:

network 192.168.1.0/24
gateway 192.168.1.101
网络2:

network 192.168.2.0/24
gateway 192.168.2.10
在网络192.168.1.0/24中,我有两台服务器—192.168.1.180和192.168.1.183 第一个在Debian6上运行,第二个在Archlinux上运行(是的,我知道这对于服务器来说是个糟糕的选择)。我在服务器上没有防火墙

一切正常,192.168.2.0中的客户端可以连接到192.168.1.0中的计算机并返回。除了一台服务器——192.168.1.180(Archlinux)。我无法连接到它,也无法从它连接到192.168.2.0中的任何计算机。没有ping,没有traceroute

output from 192.168.1.180:
route -n
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.101   0.0.0.0         UG    0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
我在网关(192.168.1.101)上运行tcpdump,在192.168.1.180上运行ping,得到以下结果:

tcpdump src 192.168.1.180

listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
14:23:57.354061 arp who-has 172.19.155.1 tell 192.168.1.180
14:23:58.357354 arp who-has 172.19.155.1 tell 192.168.1.180
...
为什么要找172.19.155.1?我不知道这个奇怪的IP是什么意思。我没有这样的网络,没有GW,什么都没有。 如果我在所有其他计算机上运行ping(例如从192.168.1.183执行ping),我会得到:


除了192.168.1.180之外,没有人寻找这个奇怪的IP。我清理了192.168.1.180上的arp表,但没有任何帮助。

看起来您的服务器x.180/24上存在默认的gw配置,指向172.19.155.1。因此,服务器假定所有流量都必须通过172.19.155.1并尝试解析gw。在您的系统中查找默认的gw配置,如下所示

0.0.0.0.0.0.0 172.19.155.1

使用ip路由xxx


您可以在x.101/24中看到数据包,因为这是一个ARP请求,即广播MAC,您将在所有直接连接的设备上看到它

我要做/检查的事情:

  • 绝对确保我没有第二个接口进入任何地方(
    ifconfig-a
    应该这样做)
  • 我知道,不太可能。。。但有没有可能在该服务器上启用了路由协议?不过,您会在路由表中看到路由。。。据我所知,情况并非如此
  • 在/etc上运行grep,无论您在哪里有172.19.55.1的配置文件

就我的2c。

我已经解决了这个问题。还没有真正解决,但至少现在可以了。服务器必须全天候工作,但这是我最后一次机会,我重新启动了它。)所有工作都停止了30分钟,但这是值得的


我真的不明白这是怎么回事。一些神秘的问题

离题;你说“除了一台服务器-192.168.1.180(Archlinux)。我可以连接到它,也可以从它连接到192.168.2.0中的任何计算机。没有ping,没有traceroute。”--你的意思是不能连接吗?是的,当然,我不能连接。这是一个键入错误。192.168.1.180有多个接口吗?不,只有一个-eth0。192.168.1.180和192.168.1.183具有相同的配置(但一个是Debian,第二个是Arch),对吗,看起来我有172.19.155.1作为默认GW,但它不是真的:
ip路由默认通过192.168.1.101 dev eth0 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.180
您可以尝试反向ping并捕获PKT吗。行为如何。来吧,它应该从某处得到172.x的ip。或者尝试在两侧配置静态ARP条目,然后尝试ping。看看它的行为。
tcpdump icmp

listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
14:29:36.834731 IP 192.168.1.183 > 192.168.2.10: ICMP echo request, id 3216, seq 1, length 64
14:29:36.956211 IP 192.168.2.10 > 192.168.1.183: ICMP echo reply, id 3216, seq 1, length 64