Debian がインターネットポートを閉じるがローカルネットワークポートを閉じない理由

Debian がインターネットポートを閉じるがローカルネットワークポートを閉じない理由

私のホームネットワークにNATを使用するホームルーターがあります。私のIPには、192.168.0.60小さなWebアプリケーションを介してポート5000をリッスンするDebian 10マシンがあります。パブリックインターネットからこのポートにアクセスできるようにしたいです。

Debian はcurl localhost:5000正しい応答を生成します。

私のMacでは192.168.0.55正しいcurl 192.168.0.60:5000応答が生成されます。

インターネットに接続するためにルータをポート転送として設定しました5000 -> 192.168.0.60:5000

ただし、curl $PUBLIC_IP:5000外部デバイス(つまりネットワークではなく)で使用すると、何も得られません。https://www.yougetsignal.com/tools/open-ports/また、ポートが閉じます。

私の最初の推測は、これがルータのマイナーなポート転送の問題であるということです。これを排除するために、以下を行いました。

  1. 私のMacで同じアプリを実行し、5000を聞きます。
  2. ルーターのポート転送ルールを5000 -> 192.168.0.55:5000(マイMac)に変更します。
  3. 使用されるhttps://www.yougetsignal.com/tools/open-ports/ポートが開いていることを確認する

つまり、これはルータを排除し、犯人をDebianシステムに置くことです。この時点で私は迷子になりました。なぜローカルネットワークではカールできますが、インターネットではカールできませんか?

iptablesの内容は次のとおりです。

root@debian# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

答え1

問題は、iptables-legacyとの間に些細な相互作用があるということだiptables。クリアしたら、もうiptables-legacy出勤する時間になりました。

関連情報