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