かなり長い間、ルーティング/ファイアウォール設定における特異な動作を理解しようとしてきましたが、何が起こっているのかよくわかりません。
当社には、2 つの外部向けインターフェースと多数の内部 VLAN を備えたファイアウォール/ルーター アプライアンスがあります。
ゲスト WiFi ネットワーク VLAN 99 上のクライアント (この例では MAC f4:f5:d8:d2:f2:4c
、IP 10.99.154.254) がインターネット ホスト 8.8.8.8 に ping エコー要求を送信した場合、特定の動作が観察されますが、これは禁止されています。
vlan99
ルータは、そのインターフェース(MAC 、IP 10.99.0.2)からクライアントにICMPホスト到達不能パケットを送り返し、00:08:a2:0d:00:70
同時に、火星のパケット外部インターフェースeth-ext1
:
tcpdump
これは次のことを示しています:
$ tcpdump -i vlan99 -vvvvn 'icmp and host 10.99.154.254'
11:59:21.555564 f4:f5:d8:d2:f2:4c > 00:08:a2:0d:00:70, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 84)
10.99.154.254 > 8.8.8.8: ICMP echo request, id 2303, seq 1, length 64
11:59:21.555651 00:08:a2:0d:00:70 > f4:f5:d8:d2:f2:4c, ethertype IPv4 (0x0800), length 126: (tos 0xc0, ttl 64, id 8585, offset 0, flags [none], proto ICMP (1), length 112)
10.99.0.2 > 10.99.154.254: ICMP host 8.8.8.8 unreachable, length 92
(tos 0x0, ttl 63, id 0, offset 0, flags [DF], proto ICMP (1), length 84)
10.99.154.254 > 8.8.8.8: ICMP echo request, id 2303, seq 1, length 64
ここでは驚くようなことはありません。これは、クライアントからの元の ping と、その結果の ICMP パケットがゲスト クライアントに返され、ホストに到達できないことを通知するものです。
同時に、カーネル ログに次のエントリが表示されます。
Feb 21 11:59:21 ganymede kernel: IPv4: martian source 10.99.154.254 from 8.8.8.8, on dev eth-ext1
Feb 21 11:59:21 ganymede kernel: ll header: 00000000: 00 08 a2 0d 00 70 f4 f5 d8 d2 f2 4c 08 00 .....p.....L..
リンク層情報によると、このイーサネットフレームはからクライアントデバイスにルーターのvlan99
インターフェースでは、なぜ火星のパケットとして表示されるのか疑問に思いますeth-ext1
送信元アドレスは 8.8.8.8 です。
これまでのところ、Martian ソースのパケットのトレースを取得できなかったため、Martian ソースのロギングが出力インターフェイスでも発生し、tcpdump
それを確認する機会があるかどうか疑問に思っています。
リクエストに応じて、さらに詳しい情報(ルーティング テーブルなど)を喜んで提供します。また、ここで何が起こっているかについてのアドバイスもいただければ幸いです。
答え1
カーネルは、icmp 到達不能メッセージを使用して 8.8.8.8 への ping 要求をパッチし、ソースが火星人であることをわかりやすく伝えます。
これはフラグが立てられているパケットです...
11:59:21.555651 00:08:a2:0d:00:70 > f4:f5:d8:d2:f2:4c, ethertype IPv4 (0x0800), length 126: (tos 0xc0, ttl 64, id 8585, offset 0, flags [none], proto ICMP (1), length 112)
10.99.0.2 > 10.99.154.254: ICMP host 8.8.8.8 unreachable, length 92
リンク層を見るとわかるようにMAC 00 08 a2 0d 00 70 to f4 f5 d8 d2 f2 4c 08 00
...。
Feb 21 11:59:21 ganymede kernel: ll header: 00000000: 00 08 a2 0d 00 70 f4 f5 d8 d2 f2 4c 08 00
火星のソース - 8.8.8.8 へのプロキシとして応答しているという事実を混同していると思われます - ここからそこに到達することはできません。