You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

同网段下无法远程访问Ubuntu主机上的Web服务求助

同网段下无法远程访问Ubuntu主机上的Web服务求助

看起来你这问题确实折腾人——同网段里明明能SSH到Ubuntu机器,但Nginx、Express这些服务死活远程访问不了,搜遍谷歌、问过GPT都没解决,太闹心了!先帮你梳理下你给出的信息,再给几个具体的排查方向:

先看你提供的关键信息:

1. 端口监听状态(netstat输出)

udp       UNCONN     0          0                127.0.0.53%lo:53                   0.0.0.0:*
udp       UNCONN     0          0                      0.0.0.0:123                  0.0.0.0:*
udp       UNCONN     0          0                    127.0.0.1:323                  0.0.0.0:*
udp       UNCONN     0          0                      0.0.0.0:631                  0.0.0.0:*
udp       UNCONN     0          0                      0.0.0.0:5353                 0.0.0.0:*
udp       UNCONN     0          0                      0.0.0.0:56376                0.0.0.0:*
tcp       LISTEN     0          511                    0.0.0.0:8080                 0.0.0.0:*         users:(("node",pid=90596,fd=20))
tcp       LISTEN     0          511                    0.0.0.0:8000                 0.0.0.0:*
tcp       LISTEN     0          4096             127.0.0.53%lo:53                   0.0.0.0:*
tcp       LISTEN     0          4096                 127.0.0.1:2947                 0.0.0.0:*
tcp       LISTEN     0          128                  127.0.0.1:631                  0.0.0.0:*
tcp       LISTEN     0          1                      0.0.0.0:5000                 0.0.0.0:*
tcp       LISTEN     0          511                    0.0.0.0:80                   0.0.0.0:*
tcp       LISTEN     0          128                    0.0.0.0:22                   0.0.0.0:*

这里能看到你的80、8080、5000这些服务都是监听在0.0.0.0上的,说明服务本身没有绑定到本地回环,这部分是正常的;SSH的22端口同样监听0.0.0.0且能正常连接,证明同网段的基础网络连通性没问题。

2. 端口8080的抓包结果(tcpdump输出)

16:32:08.115917 IP (tos 0x0, ttl 128, id 58161, offset 0, flags [DF], proto TCP (6), length 52)
192.168.1.103.62897 > sipl-NUC7PJYH.http-alt: Flags [S], cksum 0x92cf (correct), seq 887362367, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
16:32:08.116189 IP (tos 0x0, ttl 128, id 58162, offset 0, flags [DF], proto TCP (6), length 52)
192.168.1.103.62898 > sipl-NUC7PJYH.http-alt: Flags [S], cksum 0xf4d8 (correct), seq 1565558984, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0

这里明显看到客户端(192.168.1.103)已经发了SYN包请求连接8080端口,但Ubuntu机器没有返回SYN-ACK包——这说明问题出在Ubuntu这边没有处理或者丢弃了这些SYN请求。

接下来可以试试这些排查步骤:

  • 检查路由表是否异常:跑ip route show看看同网段的路由配置,正常情况下192.168.1.0/24(或者你的实际网段)应该直接指向本地网卡(比如eth0、wlan0),而不是被导向网关或者其他奇怪的路由。如果路由不对,手动添加正确的静态路由试试。
  • 排查隐藏的防火墙规则:哪怕你关了ufw,说不定还有遗留的iptables/nftables规则在搞事情。分别跑iptables -L -n -v和nft list ruleset,看看有没有针对入站TCP流量的DROP/REJECT规则,尤其是针对80、8080这些端口的。如果有,手动清空规则试试(iptables -F + iptables -X)。
  • 检查网络管理器的防火墙设置:桌面版Ubuntu有时候会通过网络管理器自带防火墙规则,哪怕ufw关闭也会生效。可以去系统设置的「网络」选项里,看看对应网卡的防火墙有没有限制入站端口。
  • 验证本地局域网IP访问:在Ubuntu本地用curl http://<你的局域网IP>:8080试试,如果本地用局域网IP也访问不了,那可能是服务本身的配置问题(虽然netstat显示监听0.0.0.0,但有些框架可能有额外的绑定限制);如果本地能访问,那问题肯定在网络层面。
  • 绕开路由器测试:把两台设备直接用网线连接,跳过路由器,看看能不能访问服务。如果能,那大概率是路由器的问题(比如AP隔离、端口过滤),虽然SSH能通,但有些路由器会对特定端口做限制。
  • 检查网卡的混杂模式和NAT规则:跑ip link show看看网卡有没有开启混杂模式(如果开启了可能会影响),再用iptables -t nat -L -n看看有没有把目标端口的流量做了DNAT转发,导致请求被导到别的地方。

先试试这些步骤,有新的输出或者结果可以补充上来,应该能定位到问题所在!

备注:内容来源于stack exchange,提问作者roXx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 10:03:10