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

树莓派服务器连接异常:No route to host/WinError 10060报错

局域网内树莓派服务器连接故障排查求助

当客户端尝试连接树莓派服务器时,Linux系统返回No route to host错误,Windows 10系统返回WinError 10060错误。树莓派为2代设备,运行Raspbian Bullseye系统,内核版本6.1.21-v7+。

服务器代码(server.py,树莓派上运行)

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(("192.168.0.17", 1234))
s.listen(5)

while True:
    clientsocket, address = s.accept()
    print(f"Connection from {address} has been established!")
    clientsocket.send(bytes("Welcome to the server!", "utf-8"))

客户端代码(client.py,Linux/Windows 10上运行)

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("192.168.0.17", 1234))

msg = s.recv(64)
print(msg.decode("utf-8"))

已尝试的排查操作

  • 通过ifconfig确认树莓派IPv4地址为192.168.0.17,与预期一致
  • 检查所有设备的1234端口,确认可用
  • 从Linux和Windows 10设备ping树莓派,丢包率为0%
  • 禁用所有设备的防火墙以排除影响
  • 树莓派和Linux的client.py可正常连接Windows服务器
  • Linux和Windows 10的client.py均无法连接树莓派服务器
  • 分别通过WiFi和以太网将树莓派接入网络
  • 执行nmap -sn 192.168.0.0/24扫描,ping能通但192.168.0.17未被检测到
  • 安装树莓派所有待更新内容并重启
  • 启用树莓派SSH,从Linux连接仍报No route to host错误
  • 重启路由器

以上操作均未解决问题,目前希望避免重装系统,以下是额外可尝试的排查步骤:

额外排查建议

  • 检查树莓派路由表:执行route -n,确认默认网关与客户端设备一致,子网掩码设置正确,无异常路由条目。
  • 验证服务器监听状态:执行ss -tulpn | grep 1234,确认服务器确实在监听192.168.0.17:1234或0.0.0.0:1234,而非仅监听本地回环地址127.0.0.1。
  • 测试树莓派本地连接:在树莓派上运行client.py,连接192.168.0.17:1234,判断是本地服务问题还是局域网传输问题。
  • 检查路由器ARP表:登录路由器管理界面,查看ARP映射表,确认192.168.0.17与树莓派MAC地址正确关联,若异常则手动清除ARP缓存。
  • 设置静态IP:将树莓派IP从DHCP分配改为静态IP(需在路由器DHCP池范围外),重启网络后重新测试。
  • 清理残留防火墙规则:执行iptables -L -n查看规则,若存在拒绝入站的规则,执行iptables -F清空后再试。
  • 更换端口测试:将服务器和客户端端口改为8080等其他常用端口,排除端口被隐形占用的可能。
  • tcpdump抓包分析:在树莓派上执行tcpdump -i any port 1234,客户端发起连接后观察是否有SYN包到达,判断数据包是否在传输中丢失或被本地过滤。

内容的提问来源于stack exchange,提问作者Phlip-Phlop

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 19:35:36