すべてのプロトのiptablesルールがICMPトラフィックのみを許可するのはなぜですか?

すべてのプロトのiptablesルールがICMPトラフィックのみを許可するのはなぜですか?

デフォルトでは、Linuxボックス(Ubuntu Focal)がゲートウェイとして構成されています。

sysctl net.ipv4.ip_forward = 1   #Enable ipv4 forwarding
iptables -t nat -A POSTROUTING -o ens160 -s 192.168.1.0/24 -j MASQUERADE  #NAT 192.168.1.x to internet behind interface ens160

これを実行した後、正常にpingできます。 成功したping

クローキングルールのクリック数が増加したことを確認しました(この場合は1から2に)。 ヒット数の増加

このルールはスクリーンショットを撮るときにすべてを試したので、前の図で繰り返しますが、この例ではそれほど重要ではないと思います。

したがって、8.8.8.8では問題なくpingを送信できますが、DNSルックアップなどの他の操作を試してみると

dig @8.8.8.8 www.google.com

操作が失敗し、ルールのヒット数が増加しません。

また、Telnetを使用してIPアドレス(名前ではなく)でHTTP(HTTPSではなく)Webサイトを開こうとしましたが、クリック数が増えずに失敗しました。

このプロセスは一般的に機能し、ルール自体はICMPだけでなくすべてのプロトコルに対しても機能していると言いますが、DNSルックアップ(UDP)とTCPを除くすべてのプロトコルアドレスをIP経由でpingできるように見えるため、問題の原因は何であるかわかりません。 。ゲートウェイが接続を送信していないため、接続に失敗しました。

また、tcpdumpを実行しましたが、192.168.1.xに入ってくるパケットを見ることができ、ICMPの場合はNATパケットが出ているのがわかりますが、UDP / TCPの場合は出ることは何も見えません。

ここで何が間違っている可能性がありますか?


編集:コメントのいくつかのフィードバックに基づいてより多くの情報を追加する

filterそしてそのテーブルrawには何もないようでした。これを確認するために正しいコマンドを使用しているかどうかはわかりませんが、次のようになります。 フィルタとソーステーブル

iptables-save -cまた、私が期待したもの以外は何も表示されません。 (試行錯誤のためにルールのいくつかの重複を追加しましたが、これは何の影響も与えないと思います):

sudo iptables-save -c
# Generated by iptables-save v1.8.4 on Tue May  2 18:59:25 2023
*raw
:PREROUTING ACCEPT [290378:642993821]
:OUTPUT ACCEPT [26621:1727859]
COMMIT
# Completed on Tue May  2 18:59:25 2023
# Generated by iptables-save v1.8.4 on Tue May  2 18:59:25 2023
*filter
:INPUT ACCEPT [290051:642964315]
:FORWARD ACCEPT [140:11615]
:OUTPUT ACCEPT [26631:1728900]
COMMIT
# Completed on Tue May  2 18:59:25 2023
# Generated by iptables-save v1.8.4 on Tue May  2 18:59:25 2023
*nat
:PREROUTING ACCEPT [72935:11925313]
:INPUT ACCEPT [72704:11903229]
:OUTPUT ACCEPT [1643:146886]
:POSTROUTING ACCEPT [1643:146886]
[11:924] -A POSTROUTING -s 192.168.1.0/24 -o ens160 -j MASQUERADE
[0:0] -A POSTROUTING -s 192.168.1.0/24 -o ens160 -j MASQUERADE
[0:0] -A POSTROUTING -s 192.168.1.0/32 -o ens160 -j MASQUERADE
COMMIT
# Completed on Tue May  2 18:59:25 2023

この結果から直接追加の洞察を得ることはできません。提案はありますか?


編集2:コメントに基づいてより多くの情報を追加する

NFtablesがインストールされたことはないと思いますが、nft list chains情報は提供されず、icmpとudpのパスは同じように見えます。 NFtablesチェーンとルーティング

ゲートウェイVM自体(システムDNSが8.8.8.8に設定されていない)内で発生したDNS要求がSNATによって処理され、問題なく出て応答を受信するように見えるため、これは本当に奇妙です。ただし、何らかの理由でインバウンドDNSは、プライベートLANからの要求は到着時に中断されます。 TCPダンプ

関連情報