安装了 apache 服务器,无法从外部连接(在 WMware 中使用 CentOS)

安装了 apache 服务器,无法从外部连接(在 WMware 中使用 CentOS)

我在 CentOS 5.5 中安装了 Apache,在网上搜索配置技巧后,我执行以下操作以便从外部连接 HTTP 服务器:

  • 在 /etc/httpd/conf/httpd.conf 中,我将 Listen 值更改为 0.0.0.8011
  • 我检查了netstat –anp我确实看到 Apache 正在监听这个端口
  • 将 httpd 配置为服务:chkconfig --levels 235 httpd 开启
  • 启用端口semanage 端口 -a -t http_port_t -p tcp 8011
  • 在 iptables 中我设置iptables -A INPUT -d 10.1.15.1 -p tcp --dport 8011 -j ACCEPT
    /etc/init.d/iptables 保存活动
  • 重启服务器

但我仍然无法从外部连接,甚至无法使用远程登录

顺便说一下,FTP 和 SSH 可以通过这个 IP 地址顺利运行,而且我可以 ping 到 VMware 服务器。

好的,我继续编辑我的问题:现在,当我停止防火墙(iptables)时,我可以正常连接,所以我想我的问题是如何正确配置 iptables 以接受端口 8011 上的 http 连接?

答案1

我认为您的问题在于您使用了“-A”来附加到 iptables 规则中。默认规则以 REJECT 规则结尾,因此您的规则永远没有机会匹配。尝试将规则中的“-A”更改为“-I”,然后重试:

iptables -I INPUT -d 10.1.15.1 -p tcp --dport 8011 -j ACCEPT
service iptables save active

这有帮助吗?

您所做的其他一切看起来都是正确的。

您可以使用以下命令查看正在运行的规则集:

iptables-save | less

它允许您查看完整的规则集,包括 NAT 表中的规则。这可能有助于您看到一些规则位于其他规则之后,但这有点复杂,因为 CentOS 5 使用此“RH-Firewall-1-INPUT”表来统一 INPUT 和 FORWARD 规则,因此 INPUT 链会直接跳到那里。因此,您需要通读整个链,以查看数据包到达新规则之前发生了什么。

相关内容