如何在 CentOS 6 中向外部开放 Apache2

如何在 CentOS 6 中向外部开放 Apache2

我已经安装了 CentOS 6,但是只能通过关闭防火墙才能向外部开放 Apache2。

有人能告诉我如何在不关闭防火墙的情况下向外部开放 apache2 吗?

更新:

我的 iptables 配置如下:

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-I FORWARD -m physdev --physdev-is-bridged -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
COMMIT

这台机器的 IP 为“192.168.59.142”,我需要通过网络上的另一台机器访问 apache。

更新2:

解决方法是在“/etc/sysconfig/iptables”中添加此规则,然后重新启动 iptables

-I INPUT -d 192.168.59.142 -p tcp --dport 80 -j ACCEPT

答案1

这应该有效

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

会将-I新规则插入到表的开头。使用-A它将被附加到表的末尾,并且您的综合 REJECT 规则将优先,因为 iptables 从上到下处理规则,并且第一个匹配的规则获胜。

查看您发布的配置,如果您移动了

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

多于

-A INPUT -j REJECT --reject-with icmp-host-prohibited

这也行得通。使用以下命令重启防火墙

sudo /sbin/service iptables restart

答案2

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

答案3

解决方法是在“/etc/sysconfig/iptables”中添加此规则,然后重新启动 iptables

-I INPUT -d 192.168.59.142 -p tcp --dport 80 -j ACCEPT

答案4

作为替代方案,CentOS 还有配置工具system-config-firewall,这使得打开 Web 服务器端口变得非常容易。

在 ncurses 界面中,选择“自定义”并勾选“WWW (HTTP)”。

在我的 CentOS 6.4 系统上,它添加了以下规则/etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

相关内容