私の環境には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
サービスはサーバーの1つに展開され、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
パケット損失が見つかりませんでした。