在远程一台机器上的vmware上安装了Fedora Linux虚拟机, 并且安装了个Apache,将远程机的6666端口映射到了虚拟机上的80端口,这样其他机器就可以通过远程机的ip地址加上6666端口就可以访问虚拟机上的80端口也就是Apache HTTP Server的端口了。
发现映射SSH(22端口)的端口,其他机器可以通过远程机的22端口SSH上虚拟机;但是其他机器通过6666端口死活不能访问http server.
排除问题步骤:
1.映射22端口正常,但映射80端口失败。因此怀疑 Apache的问题,关闭Apache, 5分钟make up出来一个建议自己写的http server,然后再来访问,还是失败,说明和Apache无关
2. 怀疑防火墙问题,因为映射22端口正常,说明映射是正常工作的,因此只能是访问80端口被屏蔽掉了,因此猜测是防火墙屏蔽了80端口的访问,偷了个懒,干掉了/etc/sysconfig/iptables里的所有内容,然后重启虚拟机,再尝试,问题解决
后记:
写这篇博客的原因是提醒自己解决问题的时候要保持头脑冷静,仔细分析问题的关键部分,而不是瞎碰瞎弄,应该有条理的分析问题的可能原因,然后逐个排查,最后解决问题只是时间问题。千万不能急!
当然经验也很重要,如果一开始我就能想到防火墙的问题,那么前面怀疑apache出问题从而自己去写简单http server就完全可以避免了!