13

我设置了 3 台 CentOS 服务器,将 server2 配置为 192.168.1.0/24 和 30.0.0.0/24 之间的路由器,但ping无法通过。

ping 192.168.1.62从server1尝试,根据tcpdumpserver3,收到ICMP请求,但没有生成ICMP响应。

23:36:06.436243 IP 30.0.0.2 > 192.168.1.62: ICMP echo request, id 23570, seq 2838, length 64
23:36:07.436212 IP 30.0.0.2 > 192.168.1.62: ICMP echo request, id 23570, seq 2839, length 64

设置

服务器
  • 服务器1:

    • eth0 - 30.0.0.2
  • 服务器2:

    • eth0 - 192.168.1.61
    • eth0:0 - 30.0.0.1
  • 服务器3:

    • eth0 - 192.168.1.62
路由
  • server1 上的路由信息​​:

    • 0.0.0.0 30.0.0.1
  • server3 上的路由信息​​:

    • 30.0.0.0/24 192.168.1.61
4

2 回答 2

23

我正在接收 ICMP 数据包,但没有看到它们发出。问题与穿越多个接口的流量和默认情况下启用的反向路径过滤有关...

我首先启用了火星源日志记录:

$ echo 1 >/proc/sys/net/ipv4/conf/eth2/log_martians

然后有几个选项可以处理它们......我正在松散地处理它们:

$ sysctl net.ipv4.conf.all.rp_filter=2

有关详细信息,请参阅这些:

于 2014-04-09T19:20:39.743 回答
7

使用 -e 标志运行 tcpdump 并查看目标 MAC 地址是否正确。

于 2015-08-27T10:30:51.547 回答