我启动了一个在端口 :80 上运行的 Web 服务。该服务可从本地主机使用,但从远程 IP 地址似乎被阻止。从远程 IP 执行 Ping 操作正常,防火墙似乎处于非活动状态。
什么可能阻碍该服务?
细节:
启动 Jupyterhub 服务
> sudo jupyterhub --port 80
来自本地主机的 Web 浏览器(来自本地主机的命令行)
可以从 localhost 访问该服务
lynx $ lynx http://127.0.0.1:80/hub/
或使用绝对地址(来自本地主机)
lynx $ lynx http://123.123.123.123/
[![在此处输入图片描述][1]][1]
从远程 IP ping 也成功:
c:\Users>ping 123.123.123.123
Pinging 123.123.123.123 with 32 bytes of data:
Reply from 123.123.123.123: bytes=32 time=9ms TTL=54
Reply from 123.123.123.123: bytes=32 time=9ms TTL=54
问题 从其他 IP 地址访问时,服务似乎不可用
ERR_CONNECTION_TIMED_OUT
防火墙状态:
:~$ sudo ufw status
Status: inactive
也尝试启用 ufw(没有成功):
sudo ufw allow 22/tcp
sudo ufw allow http
sudo ufw enable
sudo service ufw start
打开端口:
ss -lntu | grep ':80'
tcp LISTEN 0 511 127.0.0.1:8001 0.0.0.0:*
tcp LISTEN 0 128 127.0.0.1:8080 0.0.0.0:*
tcp LISTEN 0 511 *:80 *:*
答案1
问题不在于 jupzterhub,而在于 iptables,我没有意识到它可以被使用。
username@tesla:~/paperai$ sudo iptables -L -v
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
12189 46M ACCEPT all -- lo any anywhere anywhere
0 0 REJECT all -- !lo any anywhere localhost/8 reject-with icmp-port-unreachable
299K 716M ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
16 960 ACCEPT tcp -- any any 123.123.0.0/16 anywhere tcp dpt:ssh
2746 168K ACCEPT icmp -- any any anywhere anywhere icmp echo-request
169 8488 ACCEPT tcp -- any any anywhere anywhere state NEW tcp dpt:http
366 18704 ACCEPT tcp -- any any anywhere anywhere state NEW tcp dpt:https
1146K 94M REJECT all -- any any anywhere anywhere reject-with icmp-port-unreachable