解决Jetson Nano网络连接问题,ip地址无法访问外网
解决Jetson Nano网络连接问题:从诊断到修复的完整指南
😶🌫️前言
在嵌入式开发过程中,网络连接问题是我们经常遇到的挑战之一。本文记录了我在使用NVIDIA Jetson Nano开发时遇到的一个非典型的网络问题:设备可以通过SSH与本地电脑连接,但无法访问外网。通过系统化的排查和分析,最终找到了问题根源并成功解决。记录此篇防止遇到类似的问题还有以后可以作为项目的意外提一嘴。
问题现象
- Jetson Nano已连接Wi-Fi(SSID:
HEU5147),获得IP地址192.168.0.50 - 可以通过SSH从Windows电脑(IP:
192.168.0.105)连接到Jetson Nano - 无法ping通默认网关
192.168.0.1,提示Destination Host Unreachable - 无法访问任何外部网站或服务比方说GitHub
初步诊断
查看Jetson Nano的网络配置:
1 | jetson@unbutu:~/boiny_src/bd_car$ ip route |
尝试ping网关:
1 | jetson@unbutu:~/boiny_src/bd_car$ ping 192.168.0.1 |
问题分析
1. 网络配置比对
无意间通过查看路由器的ip,发现一个关键线索:
1 | 路由器的默认网关:192.168.0.106 |
这表明Jetson Nano配置了错误的网关地址,导致无法正确路由到外网。
2. 网络通信原理分析
IP地址和子网
Jetson Nano(192.168.0.50)和Windows电脑(192.168.0.105)在同一子网(192.168.0.0/24),因此局域网通信(如SSH)正常。
默认网关作用
网关是设备访问外网的必经之路。当Jetson Nano需要访问非本地网络的资源时,数据包会被发送到默认网关,再由网关转发到目标网络。由于配置了错误的网关地址,数据包无法被正确转发,导致外网不可访问。
为什么SSH正常但外网不通
SSH连接使用的是局域网内部通信,不需要经过网关。而访问外网则必须通过正确配置的网关进行路由。
✅解决
方案一:修正默认网关(推荐)
删除错误网关并添加正确网关 ❗主要操作
1
2sudo ip route del default via 192.168.0.1
sudo ip route add default via 192.168.0.106 dev wlan0验证路由表更新
1
ip route
测试连通性
1
2
3ping 192.168.0.106 # 测试网关连接
ping 8.8.8.8 # 测试外网连接
ping google.com # 测试DNS解析配置DNS服务器
如果域名解析失败,配置DNS:
1
sudo nano /etc/resolv.conf
添加以下内容:
1
2nameserver 8.8.8.8
nameserver 8.8.4.4
后面操作可选
持久化网络配置
使用NetworkManager持久保存配置:
1
2
3sudo nmcli con mod HEU5147 ipv4.gateway 192.168.0.106
sudo nmcli con mod HEU5147 ipv4.dns "8.8.8.8 8.8.4.4"
sudo nmcli con up HEU5147重启网络服务
1
sudo systemctl restart NetworkManager
学到一些 Linux常用的和网络相关的指令
附录:常用网络诊断命令
1 | # 查看网络接口 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Boiny's 小站!
