已CentOS
安装httpd
。 可以连接到和lynx
(真实 IP)http://localhost
http://10.20.30.40
里面无法连接到外部。以下是摘录自/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
答案1
尝试一下这个看看是否有帮助:
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
在 CentOS 7 或更高版本
在 CentOS 7 和 RHEL 7 上,您可能会使用它firewall-cmd
来允许 HTTP 流量。
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
答案2
这通常表示防火墙存在问题,可能是本地系统的问题,也可能是网络的问题。您的本地iptables
防火墙是什么样的?
# iptables -vnL
您可以通过运行以下命令暂时禁用本地防火墙:
# /sbin/service iptables stop
如果此后一切正常,则肯定是防火墙问题,您需要对其进行解决。
如果您没有本地防火墙,那么您的网络上其他地方有防火墙吗?
答案3
是的,我认为防火墙规则可能没有帮助(尽管这取决于防火墙规则集中的其他内容)。它也可能是(理论上)您连接的计算机上的传出防火墙存在问题,或者是代理配置问题,或者是月相问题。
完整的防火墙规则集和一些详细的网络故障排除结果将大大有助于缩小问题范围。