ルータまたは ISP によってパケットがドロップされているかどうかを確認 (または証明) するにはどうすればよいでしょうか?

ルータまたは ISP によってパケットがドロップされているかどうかを確認 (または証明) するにはどうすればよいでしょうか?

私はISPから提供されたHitronルーターを持っており、LAN上のデバイスにポートを転送するように設定しています。使用済みルーターのWAN IPを経由してLAN上のマシンからLAN上のマシンにアクセスできるようにします。例:

curl https://$(curl icanhazip.com)

実際には、ルーターの背後にサーバーが待機していると仮定すると、HTTPS 接続が確立されます。

例:

client (192.168.0.42) ---> router (192.168.0.1) ---> dns for me.example.com, returns my WAN IP - same thing curl icanhazip.com returns. Example 203.0.113.42
client (source:192.168.0.42, dest:203.0.113.42:443) ---> nothing. Hangs forever. Or until timeout.

以前はそれでうまくいきました。

現在、ルーターには 192.168.0.1 のゲートウェイ経由でのみアクセスできますが、これはルーターに直接アクセスするだけで、ルーターの背後にあるマシンにはアクセスできません。LAN 上のサーバーに接続する場合は、IP を直接使用する必要があります。

でも奇妙なのは、私がない私の Wi-Fi に接続すると (文字通り他のどのネットワークでも)、外部 IP に接続でき、トラフィックは正しく転送されます。

client(source: 192.0.2.42, dest: 203.0.113.42:443) ---> router ---> web server (192.168.0.42)

パケットがドロップされている場所を特定することは可能ですか? ルーター自体で何らかの情報を探してみましたが、ダメでした。また、Twitter で ISP に問い合わせましたが、あまり役に立ちませんでした。ping と traceroute を使用しましたが、ルーターのパブリック IP への接続の試みはどちらも失敗しました。また、Wireshark を起動して、ping パケットの送信やその他のトラフィックの試みを確認しましたが、これを使用して「ああ、これらのパケットは間違いなく X でドロップされています」と判断する方法があるかどうかはわかりません。また、ルーター レベルでファイアウォールを完全に無効にし、少しでも効果があると思われる設定をすべて変更しました (ルーターをひどく壊してハードリセットする必要に迫られたことさえあります。IP パススルーの設定だったと思います)。

パケットがルーターによってドロップされているか、ISP レベルでドロップされているかを確認することは可能ですか? もし可能であれば、どのように確認すればよいですか?

編集

さらに楽しく興奮するために、どうやらこれはのみ下位ポートに適用されます。正確な範囲はわかりませんが、上位ポートでも接続が許可される場合があります。

答え1

問題はヘアピン NAT が正しく構成されていないことにあるようです。これは、一部の SOHO ルーターでは自動的に正しく構成されますが、他のルーターでは特定のルーティングと NAT ルールが必要になります。

https://serverfault.com/a/557776

関連情報