Ubuntu Web 服务器无法从公共网络访问

Ubuntu Web 服务器无法从公共网络访问

我有一台运行 Ubuntu Server 18.04.02 LTS 的机器,并且安装了 lighttpd,在端口 80 上运行。

当我从本地网络中的另一台计算机使用端口 80 连接到该机器时,我可以看到 lighttpd 的 Web 界面。但是,当我尝试连接到运行 lighttpd 的机器的外部 IP 地址时(并在路由器中正确进行端口转发后),该机器不会回复任何连接。

这是本地连接的 tcpdump(工作正常):

19:32:44.738145 IP sitecom.router.64601 > homeserver.http: Flags [S], seq 4216620690, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
19:32:44.738207 IP homeserver.http > sitecom.router.64601: Flags [S.], seq 102829168, ack 4216620691, win 29200, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0

现在这里是远程连接的 tcpdump(不工作):

19:33:20.001892 IP google-proxy-66-249-81-103.google.com.61995 > homeserver.http: Flags [S], seq 3678483043, win 62920, options [mss 1430,sackOK,TS val 1150615851 ecr 0,nop,wscale 8], length 0
19:33:21.000315 IP google-proxy-66-249-81-103.google.com.61995 > homeserver.http: Flags [S], seq 3678483043, win 62920, options [mss 1430,sackOK,TS val 1150616851 ecr 0,nop,wscale 8], length 0
19:33:21.017192 IP google-proxy-66-249-81-103.google.com.39536 > homeserver.http: Flags [S], seq 144332281, win 62920, options [mss 1430,sackOK,TS val 1150616868 ecr 0,nop,wscale 8], length 0
19:33:22.017517 IP google-proxy-66-249-81-103.google.com.39536 > homeserver.http: Flags [S], seq 144332281, win 62920, options [mss 1430,sackOK,TS val 1150617868 ecr 0,nop,wscale 8], length 0
19:33:22.999945 IP google-proxy-66-249-81-103.google.com.61995 > homeserver.http: Flags [S], seq 3678483043, win 62920, options [mss 1430,sackOK,TS val 1150618851 ecr 0,nop,wscale 8], length 0
19:33:24.018853 IP google-proxy-66-249-81-103.google.com.39536 > homeserver.http: Flags [S], seq 144332281, win 62920, options [mss 1430,sackOK,TS val 1150619868 ecr 0,nop,wscale 8], length 0
19:33:25.043043 IP [MY-EXTERNAL-IP].38736 > homeserver.http: Flags [S], seq 3115771267, win 65535, options [mss 1460,sackOK,TS val 24063591 ecr 0,nop,wscale 7], length 0
19:33:26.052905 IP [MY-EXTERNAL-IP].38736 > homeserver.http: Flags [S], seq 3115771267, win 65535, options [mss 1460,sackOK,TS val 24063841 ecr 0,nop,wscale 7], length 0
19:33:27.000064 IP google-proxy-66-249-81-103.google.com.61995 > homeserver.http: Flags [S], seq 3678483043, win 62920, options [mss 1430,sackOK,TS val 1150622851 ecr 0,nop,wscale 8], length 0
19:33:28.017512 IP google-proxy-66-249-81-103.google.com.39536 > homeserver.http: Flags [S], seq 144332281, win 62920, options [mss 1430,sackOK,TS val 1150623868 ecr 0,nop,wscale 8], length 0
19:33:28.092087 IP [MY-EXTERNAL-IP].38736 > homeserver.http: Flags [S], seq 3115771267, win 65535, options [mss 1460,sackOK,TS val 24064342 ecr 0,nop,wscale 7], length 0

我尝试使用“iptables -F”清除 iptables 并使用“ufw disable”禁用防火墙,但似乎没有任何效果。

有人知道这里可能出了什么问题吗?

谢谢!

编辑:

该命令route -n产生以下输出:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.57.10.5      128.0.0.0       UG    0      0        0 tun0
0.0.0.0         192.168.0.1     0.0.0.0         UG    100    0        0 enp2s0
10.57.10.1      10.57.10.5      255.255.255.255 UGH   0      0        0 tun0
10.57.10.5      0.0.0.0         255.255.255.255 UH    0      0        0 tun0
[SOME-EXTERNAL-IP]    192.168.0.1     255.255.255.255 UGH   0      0        0 enp2s0
128.0.0.0       10.57.10.5      128.0.0.0       UG    0      0        0 tun0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.18.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-79cc7                                                  752b6ff
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 enp2s0
192.168.0.1     0.0.0.0         255.255.255.255 UH    100    0        0 enp2s0

答案1

我找到了这个问题的罪魁祸首,感谢@HagenvonEitzen。

运行后route -n,我发现有一个名为 tun0 的隧道。由于我不需要这个隧道,所以我决定使用 删除它ip link set dev tun0 down。我想我可能是在使用 OpenVPN 时意外创建了这个隧道。

此后,隧道从route -n输出中消失,我能够从本地网络外部正常访问 Web 服务器。

再次感谢!

相关内容