apache 没有从外部响应(防火墙/iptables 问题)

apache 没有从外部响应(防火墙/iptables 问题)

CentOS安装httpd。 可以连接到和lynx(真实 IP)http://localhosthttp://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:。

更新 N2iptables -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

是的,我认为防火墙规则可能没有帮助(尽管这取决于防火墙规则集中的其他内容)。它也可能是(理论上)您连接的计算机上的传出防火墙存在问题,或者是代理配置问题,或者是月相问题。

完整的防火墙规则集和一些详细的网络故障排除结果将大大有助于缩小问题范围。

相关内容