web-dev-qa-db-ja.com

IptablesがCentOS7でWildFly10をブロックしています

私はCentOS7サーバーをfirewalldなしで、iptablesをインストールしました。

WildFly10が変更されたソケットバインディングで実行されていますhttpポート8080から80 in standalone.xml

次のコマンドを使用して、iptablesで80ポートを開きます。

# iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
# iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT

しかし、iptablesを停止するまで、サーバーはまだ到達不能です。

それを修正する方法は?


更新:

#iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-Host-prohibited
-A INPUT -p tcp -m tcp --sport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-Host-prohibited
-A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 8080 -j ACCEPT


# netstat -nltp | grep :80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN             10042/Java
2
WildDev

あなたのルールはあなたが達成したいことに対して間違っています。 INPUTチェーンは着信トラフィックを処理し、OUTPUTチェーンは発信トラフィックを処理します。したがって、達成したいことには、次のようなルールが必要です(そして、OUTPUTチェーンのルールは必要なく、削除できます)。

iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

それ以外は、ルールの順序が重要であり、ルールリストは問題ないように見えます。たとえば、8行目にすべてを拒否するルールがある場合、何かを受け入れる次のルールは機能しません。したがって、最後にすべて拒否ルールを配置します。重複するルールもたくさんあります。それらを削除してiptablesをフラッシュするだけです。

Iptablesをよりよく理解するには、次のページを参照してください。

Linuxファイアウォールチュートリアル:IPTablesテーブル、チェーン、ルールの基礎

Centos 6で基本的なIptablesファイアウォールを設定する方法

6
Diamond