CentOS
をhttpd
とともにインストールします。マシンの内部からhttp://localhost
とhttp://10.20.30.40
(実際のIP)の両方にlynx
で接続できます。 outsideから接続できません。これが/etc/httpd/conf/httpd.conf
からの抜粋です。
Listen 0.0.0.0:80
<VirtualHost 10.20.30.40:80>
DocumentRoot /var/www/vhost1
ErrorLog logs/vhost1-error_log
CustomLog logs/vhost1-access_log common
</VirtualHost>
同じサブネット上にあるマシンから接続しようとしています(私が知っている限り)。
ログファイルに疑わしいものはありません。何かアドバイスはありますか?
更新:iptables -L
の実行中に次の行があります(おそらく関連しています):REJECT all -- anywhere anywhere reject-with icmp-Host-prohibited
。
更新N2:iptables -vnL
出力:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT udp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:53
0 0 ACCEPT tcp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
0 0 ACCEPT udp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:67
0 0 ACCEPT tcp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:67
1576K 1643M RH-Firewall-1-INPUT all -- * * 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- * virbr0 0.0.0.0/0 192.168.122.0/24 state RELATED,ESTABLISHED
0 0 ACCEPT all -- virbr0 * 192.168.122.0/24 0.0.0.0/0
0 0 ACCEPT all -- virbr0 virbr0 0.0.0.0/0 0.0.0.0/0
0 0 REJECT all -- * virbr0 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
0 0 REJECT all -- virbr0 * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
0 0 RH-Firewall-1-INPUT all -- * * 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 354K packets, 58M bytes)
pkts bytes target prot opt in out source destination
Chain RH-Firewall-1-INPUT (2 references)
pkts bytes target prot opt in out source destination
922 823K ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
19 1412 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 255
0 0 ACCEPT esp -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT ah -- * * 0.0.0.0/0 0.0.0.0/0
159K 28M ACCEPT udp -- * * 0.0.0.0/0 224.0.0.251 udp dpt:5353
2869 640K ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:631
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:631
1239K 1589M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
8 1064 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
175K 25M REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-Host-prohibited
これを試して、役立つかどうかを確認してください。
Sudo /sbin/iptables -A INPUT -p tcp --dport http -j ACCEPT
事前に以下を使用すると、簡単に元に戻すことができます。
/sbin/iptables-save > /tmp/fw
Iptablesを完全にオフにしたい場合(適切に構成する方が良いですが)、次を使用します。
Sudo /sbin/chkconfig iptables off
それ以外の場合は、ルールを永続化して/ etc/sysconfig/iptablesに保存します。
/sbin/iptables-save > /etc/sysconfig/iptables
CentOS7およびRHEL7では、おそらくfirewall-cmd
を使用してHTTPトラフィックを許可します。
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
これは多くの場合、ローカルシステムまたはネットワークのいずれかでファイアウォールの問題を示しています。ローカルのiptables
ファイアウォールはどのように見えますか?
# iptables -vnL
次のコマンドを実行して、ローカルファイアウォールを一時的に無効にすることができます。
# /sbin/service iptables stop
この後問題が解決した場合、それは間違いなくファイアウォールの問題であり、それを整理する必要があります。
ローカルファイアウォールがない場合、ネットワークの他の場所にファイアウォールはありますか?
ええ、ファイアウォールルールはおそらく役に立たないと思います(ファイアウォールルールセットに他に何があるかによって異なりますが)。また、(理論的には)接続元のマシンの送信ファイアウォールの問題、プロキシ構成の問題、または月の満ち欠けの可能性もあります。
完全なファイアウォールルールセットといくつかの詳細なネットワークトラブルシューティングの結果は、問題を絞り込むのに大いに役立ちます。