![Linuxはポートを開いたにもかかわらず、着信接続を拒否します。 [閉じる]](https://linux33.com/image/129934/Linux%E3%81%AF%E3%83%9D%E3%83%BC%E3%83%88%E3%82%92%E9%96%8B%E3%81%84%E3%81%9F%E3%81%AB%E3%82%82%E3%81%8B%E3%81%8B%E3%82%8F%E3%82%89%E3%81%9A%E3%80%81%E7%9D%80%E4%BF%A1%E6%8E%A5%E7%B6%9A%E3%82%92%E6%8B%92%E5%90%A6%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%20%5B%E9%96%89%E3%81%98%E3%82%8B%5D.png)
インターネットからアクセスできる単純なサーバーを設定しようとしています。これを行うには、次のコマンドを実行してポート8080を開きました。
$ sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
以下を実行してサーバーに接続しようとすると:
$ telnet my-external-ip 8080
私は得る:
telnet: connect to address my-external-ip: Connection refused
ローカルアドレスを使用してサーバーに接続する場合、問題はありません。http://localhost:8080/
ルータの背後にありますが、転送が正しく設定されています。私はCentOS Linux 7を使用しています。
私が走るとき
$ ss -tnlp |grep 8080
わかりました。
LISTEN 0 128 :::8080 :::* users:(("java",pid=6836,fd=309))
修正する ユーザーとしてポールH.コメントで提案されているとおりに接続できないのは、ルータがNATループバックを許可していないためです。私のLinux構成は大丈夫です。
答え1
あなたのサーバーは、IPv4の代わりにIPv6アドレス "tcp6 0 0 :::8080 :::* LISTEN"を受信しているようです。したがって、正しいアドレスに接続されていることを確認してください。