Linux ではポート許可/ローカルアクセスポートのみが使用可能、IP タイムアウト

Linux ではポート許可/ローカルアクセスポートのみが使用可能、IP タイムアウト

25565私のルーター(Minecraftサーバーポートとも呼ばれます)でポートを開きました。すでにこのサーバーでホストされているウェブサイトがあります。

togtja@togtja_server:/$ sudo iptables -nL | grep 80
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 80,443 /* 'dapp_Apache%20Full' */

サーバーの実行時にポートがリッスンしていることを再確認してください。

/**Some other ports as well such as 22 from ssh**/
apache2   1926            root    4u  IPv6  29136      0t0  TCP *:80 (LISTEN)
apache2   1926            root    6u  IPv6  29140      0t0  TCP *:443 (LISTEN)
apache2   1927        www-data    4u  IPv6  29136      0t0  TCP *:80 (LISTEN)
apache2   1927        www-data    6u  IPv6  29140      0t0  TCP *:443 (LISTEN)
apache2   1928        www-data    4u  IPv6  29136      0t0  TCP *:80 (LISTEN)
apache2   1928        www-data    6u  IPv6  29140      0t0  TCP *:443 (LISTEN)
java      3159       togtja      52u  IPv6  41266      0t0  TCP *:25565 (LISTEN)

ただし、ポートtelnetまたは実行時:nc

togtja@togtja_server:/$ nc -z -v -w5 my_ip 25565
nc: connect to my_ip port 25565 (tcp) timed out: Operation now in progress

閉じる必要がある別のポートを試すとすぐに拒否されます。

togtja@togtja_server:/$ nc -z -v -w5 my_ip 1337
nc: connect to my_ip port 1337 (tcp) failed: Connection refused

ただし、localhostを試してみると合格できます。

togtja@togtja_server:/$ nc -z -v -w5 localhost 25565
Connection to localhost 25565 port [tcp/*] succeeded!

期待どおり、ローカルで開かれていないポートは拒否されます。

togtja@togtja_server:/$ nc -z -v -w5 localhost 1337
nc: connect to localhost port 1337 (tcp) failed: Connection refused

私を信じる可能Webサーバーを設定すると、明示的に許可されているポートを除くすべてのポートがロックされていましたが、その設定がどこにあるのか、それが問題なのかはわかりません。注:私はUbuntu 18.04サーバー(GUIなし)を実行しています。

編集する: これを明確にするために、nc my_ip他のネットワーク上のPCでもコマンドを実行して、ローカルサーバーでのみ機能するものではないことを確認しました。

ベストアンサー1

問題は、IPテーブルのデフォルトポリシーをに設定したことですDROP。したがって、呼び出しが行われると、次のようなsudo iptables -L結果が表示されます。

Chain INPUT (policy DROP)
target     prot opt source               destination
Chain FORWARD (policy DROP)
target     prot opt source               destination
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

だから私のポートが実行する例外を追加しました。これは、ルールを作成したいターゲットによって異なりますsudo iptables -A INPUT -p tcp --dport 25565 -j ACCEPT INPUTFORWARDOUTPUT

テーブルチェーン全体を1つのポリシーに変更するには、次のようにします。 sudo iptables -P INPUT ACCEPTこれにより、INPUTのデフォルトポリシーが許可されます。

おすすめ記事