web-dev-qa-db-ja.com

CentOS6-ポート80を介したWebアクセスを防止するiptables

CentOS 6.2で新しいWebサーバーをセットアップしていますが、Web経由で接続できません。すべてが正しく設定されているように見えますhttpd.confそしてApacheが実行されているので、iptablesの問題だと思います。

問題を引き起こしている可能性のある以下の何かがありますか?

編集:iptablesを停止すると、正常に接続できるので、以下で微調整が必​​要なものである必要があります。すでに実行していますiptables -A INPUT -p tcp --dport 80 -j ACCEPTそしてiptablesを保存して再起動しましたが、違いはありませんでした

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh
REJECT     all  --  anywhere             anywhere            reject-with icmp-Host-prohibited
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:http

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
REJECT     all  --  anywhere             anywhere            reject-with icmp-Host-prohibited

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

以下の回答のアドバイスに従う:

[root@staging ~]# iptables -N TCP
[root@staging ~]# iptables -A TCP -p tcp --dport 80 -j ACCEPT
[root@staging ~]# iptables-save > /etc/iptables/iptables.rules
-bash: /etc/iptables/iptables.rules: No such file or directory
[root@staging ~]# iptables-save
# Generated by iptables-save v1.4.7 on Thu Nov  8 14:09:09 2012
*filter
:INPUT ACCEPT [91:7480]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [70:6556]
:TCP - [0:0]
-A TCP -p tcp -m tcp --dport 80 -j ACCEPT
COMMIT
# Completed on Thu Nov  8 14:09:09 2012
[root@staging ~]# iptables-restore
^C
[root@staging ~]# service iptables start
iptables: Applying firewall rules:                         [  OK  ]

さらに編集:iptablesを停止した後に実行したため、iptables-saveは何も表示しませんでした!したがって、出力は次のとおりです。

# iptables-save
# Generated by iptables-save v1.4.7 on Thu Nov  8 14:39:10 2012
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [28:3344]
-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 --dport 80 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-Host-prohibited
COMMIT
# Completed on Thu Nov  8 14:39:10 2012
6
bsod99

私はiptablesのマスターではありませんが、私のセットアップ方法では、ポートを開くために別のカスタムチェーンを使用しました。

iptables -N TCP
iptables -A TCP -p tcp --dport 80 -j ACCEPT

必ず保存してください

iptables-save > /etc/iptables/iptables.rules

ロードするには

iptables-restore < /etc/iptables/iptables.rules

^^デーモンがそれをロードしない場合。上記の方法を実行した(私は重要ではないと考えるINPUTチェーンについてのみ)とおっしゃっていたので、正しく保存および再ロードしていない可能性があると思います。 iptablesデーモンは正​​しく動作していますか?上記のコマンドを実行し、iptables -Lを使用した後、新しく追加されたチェーンとルールが表示されることを確認してください。


さらなるトラブルに応えて。 iptables-save> location_of_rulesCentOSのどこにあるかわかりません。しかし、iptables -Lを使用して、新しいチェーンが存在するかどうかを確認してください。

また、Webサイトにアクセスできないことを確認することをお勧めします。これを行うには、(コンピューター上の)Webブラウザーに移動して、URL http://127.0.0.1/ <-Without sapce between:and //の間にWebサイトにアクセスできる場合、ルーターに問題があります。ファイアウォールでポートを開くには、ポート転送する必要があります。 http://en.wikipedia.org/wiki/Port_forwarding

0
u8sand