我有一个网络服务器(薄的) 在我的 Ubuntu 10.04 Server 机器上的非标准端口上运行。我可以通过环回接口访问 Web 服务器,但不能通过公共 IP 访问。为什么?我该如何修复配置,以便 LAN 上的其他机器可以访问它?
phrogz@planar:~$ curl -s -I http://localhost:9011/login | grep HTTP
HTTP/1.1 200 OK
phrogz@planar:~$ curl -s -I http://192.168.0.84:9011/login | grep HTTP
phrogz@planar:~$ curl -I http://192.168.0.84:9011/login
curl: (7) couldn't connect to host
phrogz@planar:~$ ifconfig eth0 | grep "inet addr"
inet addr:192.168.0.84 Bcast:192.168.0.255 Mask:255.255.255.0
phrogz@planar:~$ ping 192.168.0.84
PING 192.168.0.84 (192.168.0.84) 56(84) bytes of data.
64 bytes from 192.168.0.84: icmp_seq=1 ttl=64 time=0.020 ms
64 bytes from 192.168.0.84: icmp_seq=2 ttl=64 time=0.013 ms
^C
--- 192.168.0.84 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.013/0.016/0.020/0.005 ms
phrogz@planar:~$ uname -a
Linux planar 2.6.32-33-server #71-Ubuntu SMP Wed Jul 20 17:42:25 UTC 2011 x86_64 GNU/Linux
答案1
我敢打赌,这netstat -ltn
将表明你的设备正在监听127.0.0.1
,而不是监听0.0.0.0
(或任何你想要的)。虽然你实际上没有想一个瘦身监听(请通过一个真正的网络服务器代理它),您可以通过在瘦身命令行上INADDR_ANY
使用来实现这一点(或者如果您做了正确的事情并使用)。-a 0.0.0.0
-o 0.0.0.0
rackup
如果不是这样,我会收取 10 先令的费用,以iptables
弥补您规则的缺陷;根据现有信息,无法提供准确的修复说明,但想必您对自己的系统有足够的了解,可以调整防火墙规则。