web-dev-qa-db-ja.com

ポート80接続が拒否されました

webサーバーのポート80に接続できません。私のiptablesはデフォルト状態です:

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 

別のサーバー(nginx、nodejs ...)を起動すると、ポート80をリッスンさせることができますが、アクセスしようとすると、常に「接続拒否」が発生します。他のポート(81,8080)を聞いてもまったく問題ありません。ポート80のみが何らかの方法でブロックされます。ローカルホスト経由でポート80にアクセスすることは機能するため、テスト目的で外部ファイアウォールを切り替えたとしても、まだ運がありません。このポート80をブロックしているユーザーを見つけるにはどうすればよいですか?

netstat -tlpnの出力を要求した場合(ポート80でnginxを実行している場合):

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      710/vsftpd      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1179/sshd       
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      1661/master     
tcp        0      0 0.0.0.0:5984            0.0.0.0:*               LISTEN      980/beam.smp    
tcp        0      0 87.106.64.11:3306       0.0.0.0:*               LISTEN      1346/mysqld     
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      3274/nginx: master 
tcp6       0      0 :::22                   :::*                    LISTEN      1179/sshd       
tcp6       0      0 :::25                   :::*                    LISTEN      1661/master  
4
Holger Will

私はtcptraceroute 87.106.64.11 80を実行しましたが、間違いなくポートをブロックしているサーバーです。トレースのある時点で、私はこれを得ました:

s18132051.onlinehome-server.info (87.106.64.11) [closed]

だから私は IPテーブルをリセット 、そしてそれはトリックをしました。

そのため、テーブル内のいくつかの隠されたルール、またはiptable -Lがすべてのルールを提供しませんでした。問題を修正するので、これを答えとしてマークします。
私はまだ聞きたいのですが、どうしてiptables -Lを行うときにブロッキングルールを取得できなかったのですか

6
Holger Will

私は同じ問題を経験しましたが、Debian 8.4(Jessie)でした。上記のように、ソリューションは http://insanelabs.net/linux/linux-linux-reset-iptables-firewall-rules/ にリストされているIPTablesフラッシュスクリプトでした。 iptablesはルールを報告しませんでしたが、いくつかの「隠された」ルール、またはiptables自体のバグがあったに違いありません。このバグをDebianメンテナに報告しています。

リンクされたサイトがダウンした場合に備えて、問題のスクリプトの全文をここに示します。便宜上、ここに複製します。

#!/bin/sh
echo "Flushing iptables rules..."
sleep 1
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
3
Jessica

すべてのルールをリストしたわけではありません。アクティブなnetfilterテーブルを取得する良い方法は次のとおりです。

Sudo /bin/cat /proc/net/ip_tables_names;のブラーSudo/sbin/iptables -t $ blah -L -vn --line-numbers | sed "s/^/$ blah:/"を実行します。完了|少ない-RXF

別のオプションは、実行することです:

/ sbin/iptables-save

忍耐力がある場合は、各ルールを1つずつ確認し、DENYターゲットをACCEPTに変更して、どれが問題を修正するかを確認できます。

1
Lee