为什么我的路由器可以转发数据包,但没有机器可以接收转发的数据包?

为什么我的路由器可以转发数据包,但没有机器可以接收转发的数据包?

在我的环境中,有 5 台机器:

  • 客户端:10.22.46.11

  • 路由器:10.22.53.122,10.22.46.28

  • 服务器1:10.22.53.108

  • 服务器2:10.22.53.107

  • 服务器3:10.22.53.105

其中一台服务器上部署了服务并监听 192.168.200.1:80,路由器的路由信息​​:

bash-5.1# ip r
default via 10.22.46.254 dev ens4 proto dhcp src 10.22.46.28 metric 100 
default via 10.22.53.254 dev ens3 proto dhcp src 10.22.53.122 metric 100 
10.22.46.0/24 dev ens4 proto kernel scope link src 10.22.46.28 
10.22.53.0/24 dev ens3 proto kernel scope link src 10.22.53.122 
169.254.169.254 via 10.22.46.5 dev ens4 proto dhcp src 10.22.46.28 metric 100 
169.254.169.254 via 10.22.53.100 dev ens3 proto dhcp src 10.22.53.122 metric 100 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
192.168.200.1 proto bird 
    nexthop via 10.22.53.105 dev ens3 weight 1 
    nexthop via 10.22.53.107 dev ens3 weight 1 
    nexthop via 10.22.53.108 dev ens3 weight 1 

我还在客户端添加了一个路由条目:

ip r
default via 10.22.53.254 dev ens3 proto dhcp src 10.22.53.110 metric 100 
10.22.53.0/24 dev ens3 proto kernel scope link src 10.22.53.110 
169.254.169.254 via 10.22.53.100 dev ens3 proto dhcp src 10.22.53.110 metric 100 
192.168.200.0/24 via 10.22.53.122 dev ens3 

我尝试去拜访http://192.168.200.1/从客户端计算机,但尽管我可以观看路由器上转发的数据包:

bash-5.1# tcpdump -nn -i any port 80
tcpdump: data link type LINUX_SLL2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
07:43:10.171495 ens4  In  IP 10.22.46.11.51554 > 192.168.200.1.80: Flags [S], seq 993243063, win 29200, options [mss 1460,sackOK,TS val 972255655 ecr 0,nop,wscale 7], length 0
07:43:10.171616 ens3  Out IP 10.22.46.11.51554 > 192.168.200.1.80: Flags [S], seq 993243063, win 29200, options [mss 1460,sackOK,TS val 972255655 ecr 0,nop,wscale 7], length 0
07:43:11.172361 ens4  In  IP 10.22.46.11.51554 > 192.168.200.1.80: Flags [S], seq 993243063, win 29200, options [mss 1460,sackOK,TS val 972256656 ecr 0,nop,wscale 7], length 0
07:43:11.172404 ens3  Out IP 10.22.46.11.51554 > 192.168.200.1.80: Flags [S], seq 993243063, win 29200, options [mss 1460,sackOK,TS val 972256656 ecr 0,nop,wscale 7], length 0

但我在任何服务器机器上都找不到转发的数据包,发生了什么?

我在路由器上执行“netstat -i”:

netstat -i
Kernel Interface table
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
docker0   1500        0      0      0 0             0      0      0      0 BMU
ens3      1500     4590      0      0 0          4022      0      0      0 BMRU
ens4      1500    40283      0      0 0         12428      0      0      0 BMRU
lo       65536      142      0      0 0           142      0      0      0 LRU

未发现丢包

相关内容