我的 Linux CentOS 6.5 的管理员提供了一个静态 IP。问题是,虽然我可以 ping 这台机器、连接到它并使用它从我的网络内访问互联网,但我既不能 ping 它也不能从网络外部访问该 IP。
问题是什么?我已经禁用了 CentOS 的防火墙,但仍然只能从内部使用它到外部,而不能反之亦然。
我应该怎么办?
答案1
导致该问题的原因可能有很多:
- NAT(询问您的网络管理员您的 IP 地址在防火墙中是否有 NAT 豁免)
- ACL:要求您的网络管理员检查他的访问列表,以验证是否允许到您的内部主机的流量。
- 服务过滤(再次要求您的网络管理员检查他/她是否允许您需要的服务(用于 ping 的 icmp、用于 http 的 tcp/80、用于 https 的 tcp/443 等)
- 系统防火墙:完全禁用防火墙。
要进行进一步的诊断,请尝试使用 nmap 从内部和外部网络扫描您的主机,它可以通过比较输出来提供帮助。
我想这涵盖了我所见过的 99% 的问题。
答案2
如果您尝试了上述建议的方法但不成功,这意味着您位于 PC 后面的防火墙(智能交换机/路由器或服务器)后面。您无法 ping 通您的 PC 的原因是 ICMP 流量被阻止。
您是否可以访问其他服务,例如 Apache(端口 80)?
如果您的电脑仍然无法访问,您可以执行以下两种操作:
1) 致电系统管理员并要求删除应用于您的 IP 的过滤器(请注意,他们可能会询问您特定的端口,因此在写入/调用之前请考虑您需要);
2) 您始终可以使用VPN让全世界都可见。例如,好的解决方案是 openVPN,或者您也可以使用其中之一。
答案3
在您的防火墙中:
itptables --A INPUT -p icmp -j ACCEPT
这应该在任何拒绝规则之前,以防您ACCEPT
在防火墙中使用该策略