树莓派安装Mosquitto后网络异常及Node-RED局域网访问问题求助
树莓派安装Mosquitto后网络异常及Node-RED局域网访问问题求助
你好,针对你遇到的这两个糟心问题,我给你梳理几个实用的排查和解决思路:
一、解决树莓派无以太网时的DNS联网问题
你提到没插网线就提示DNS_PROBE_FINISHED_NO_INTERNET,大概率是WiFi的DNS配置出了问题,或者WiFi本身没连接成功。可以按下面步骤一步步排查:
- 先确认WiFi是否真的连上:执行
iwconfig命令,看看wlan0接口有没有显示对应的WiFi名称(SSID)和信号强度,如果没连上,建议用raspi-config的WiFi设置向导重新配置一遍 - 检查静态IP的DNS配置:你已经在
dhcpcd.conf里改了静态IP,但很可能没指定正确的DNS服务器。打开这个文件,找到你设置静态IP的部分,确保加上了DNS地址,比如:
这里interface wlan0 static ip_address=192.168.x.x/24 static routers=192.168.x.1 static domain_name_servers=192.168.x.1 8.8.8.8domain_name_servers可以填你的路由器IP,也可以用公共DNS(比如8.8.8.8),保存后重启dhcpcd服务:sudo systemctl restart dhcpcd - 测试DNS解析是否正常:执行
ping google.com,如果能收到回复说明DNS没问题;要是提示“未知主机”,那肯定是DNS配置的问题,再回头检查上面的步骤
二、解决局域网内无法访问Node-RED服务器的问题
插了网线但同局域网的电脑还是连不上Node-RED,已经改了静态IP的话,可以从这几个方向入手:
- 确认Node-RED的监听地址:默认情况下Node-RED只监听本地(127.0.0.1),这样局域网其他设备肯定访问不了。打开
~/.node-red/settings.js,找到httpNodeOptions部分,把host改成0.0.0.0(表示监听所有网卡),然后重启Node-RED:node-red-restart - 检查防火墙设置:树莓派默认没开防火墙,但如果之前手动开启了ufw,一定要允许1880端口(Node-RED默认端口)的访问,执行命令:
sudo ufw allow 1880/tcp - 确认静态IP是否生效:在树莓派上执行
ip addr命令,看看以太网接口(eth0)的IP是不是你设置的静态IP,别搞错了接口(比如把WiFi的静态IP设了,但用的是以太网) - 测试局域网连通性:在其他电脑上ping树莓派的静态IP,如果ping不通,说明是网络层面的问题(比如路由器IP段冲突、静态IP和其他设备重复了);如果ping通了但还是访问不了Node-RED,再回到监听地址和端口的检查
三、Mosquitto相关的额外排查
因为你装了Mosquitto作为消息 broker,虽然当前问题主要是网络和Node-RED,但也可以顺便确认下Mosquitto的配置,避免后续传感器数据传输出问题:
- 检查Mosquitto是否监听所有网卡:打开
/etc/mosquitto/mosquitto.conf,确保有listener 1883 0.0.0.0这一行(默认可能只监听本地),这样Node-RED和传感器才能正常连接 - 重启Mosquitto服务让配置生效:
sudo systemctl restart mosquitto
备注:内容来源于stack exchange,提问作者heya_oz
相关产品推荐
相关产品推荐

