Ubuntu + Apache2 – 不允许外部连接?

我有一个运行Ubuntu 10.04的盒子,我安装了Apache2。 当我在框中,我可以去http:// localhost / ,它连接到Web服务器罚款。 我也可以直接去我的IP和连接没有问题。 但是,如果尝试通过DNS或直接IP从networking上的另一台计算机进行连接,则连接超时。

但是,我可以通过SSH连接到盒子,以及ping盒子。

有任何想法吗?

谢谢

更新:

在本地计算机上运行nmap时,出现以下情况:

wayne@media-box:~$ sudo nmap -sS -O -PI -PT 192.168.1.70 Starting Nmap 5.00 ( http://nmap.org ) at 2010-06-28 06:32 CDT Interesting ports on media-box (192.168.1.70): Not shown: 995 closed ports PORT STATE SERVICE 22/tcp open ssh 25/tcp open smtp 80/tcp open http 143/tcp open imap 993/tcp open imaps 

但是,如果我从networking上的另一个盒子运行它:

 Starting Nmap 5.00 ( http://nmap.org ) at 2010-06-28 06:32 CDT Interesting ports on media-box (192.168.1.70): Not shown: 998 filtered ports PORT STATE SERVICE 22/tcp open ssh 113/tcp closed auth 

所以80对于盒子本身是开放的,而不是外部世界? 我如何解决这个问题?

你有没有安装其他的防火墙?

  • 是的,shorewall

 # sudo apt-get remove shorewall 

这将解决它。

有可能是某些东西启用了Ubuntu的内置(但通常是默认禁用的)防火墙,ufw。 尝试运行:

 $ ufw status 

如果ufw已启用,并且要禁用它,请运行ufw disable 。 如果您想要启用防火墙并将HTTPstream量列入白名单,请运行ufw allow Apache

这肯定可能是一个防火墙问题,但我不能告诉你没有看到你的防火墙规则可能是错的。 你可以跑

 iptables -L 

列出它们,并将输出粘贴到您的问题中,如果您需要帮助解释它。

我写了一个IPTables教程/参考 (链接到我的网站),可能是有用的。 其中部分内容是在Linux服务器上configuration防火墙的简要指南,即要运行的命令,要添加的规则以及顺序。

当从本地networking访问这个盒子时,你使用的是盒子的私人IP还是公共IP?

当从本地networking访问时,您应该使用192.168.XXX.XXX,10.XXX.XXX.XXX或172.16.XXX.XXX前缀之一…