允许传入流量到CentOS服务器

时间:2013-12-10 14:32:43

标签: linux apache centos iptables

我在网络上构建了一个新的盒子来提供新的Web应用程序。它是运行在本地IP地址172.25.97.25和本地主机名truleadsap01:80上的CentOS服务器。

SELinux已被禁用。

此地址已NAT并路由到公共域www.foobar.co.za和公共IP地址x.x.x.x.

我已经正确配置了httpd,因为当我导航到本地主机名时,我看到了应用程序。但是,当我使用公共域或IP地址时,它不会加载页面。

来自我的httpd.conf:

Listen 172.25.97.25:80
ServerName truleadsap01:80

来自/ etc / sysconfig / iptables:

# Completed on Tue Dec 10 18:17:02 2013
# Generated by iptables-save v1.4.7 on Tue Dec 10 18:17:02 2013
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [31:2744]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth+ -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 25 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A INPUT -i eth0 -p udp -m udp --sport 53 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -i eth0 -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -s 196.15.219.218/32 -i eth0 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -i lo -j ACCEPT
-A FORWARD -i eth+ -j ACCEPT
-A FORWARD -o eth+ -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -i lo -o etho0 -j ACCEPT
-A OUTPUT -o eth0 -p udp -m udp --dport 53 -j ACCEPT
COMMIT
# Completed on Tue Dec 10 18:17:02 2013

尽管已经在线阅读了大量教程并进行了大量更改,但我仍然无法浏览公共领域。

更新I:当我从公共域访问该站点时,我检查了访问日志。我反复拿到这个条目:

  172.25.121.5 - - [11/Dec/2013:10:22:22 +0200] "GET /" 302 - "-" "-"

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

尝试将公共IP地址添加到httpd.conf文件中的监听行(我假设它是静态IP)。

答案 1 :(得分:0)

您发布的httpd.conf仅显示应侦听的IP:端口和预期的ServerName:端口。我会尝试根据一些可能性来回答。

通过从远程节点运行以下命令,检查端口80是否确实可访问。

nc 172.25.97.25 80 < /dev/null

如果连接成功,您可能需要检查access_log和error_log以查看服务器是否仅接受具有已配置ServerName的请求URL。如果是这种情况,您可能已配置virtualHost。