
1. 为什么Jetson Nano的联网问题值得单独拿出来说Jetson Nano这块板子玩过的人都知道算力在入门级边缘AI设备里算是相当能打的但它的无线联网体验实在让人头疼。我手上这块4GB版本板载没有Wi-Fi模块只有一个千兆以太网口。刚拿到手的时候我第一反应是插个USB无线网卡不就完了结果发现事情没那么简单——Nano的USB口供电能力有限某些大功率无线网卡插上去要么识别不稳定要么跑着跑着就掉线尤其是跑YOLOv5推理的时候USB总线负载一高网卡直接罢工。更现实的问题是很多人的工作台上根本没有多余的网线接口。笔记本连的是公司或家里的Wi-Fi路由器在客厅Nano放在桌面上中间拉一根长网线过去既不现实也不美观。这时候最直接的思路就是让笔记本通过网线把网络共享给Nano。笔记本本身通过Wi-Fi上网Nano通过网线连到笔记本笔记本做一次网络转发Nano就能正常访问外网了。这个方案的核心价值在于不需要额外的路由器、交换机不需要拆机加装无线模块只需要一根普通的网线五分钟之内就能让Nano跑起来。适合所有刚拿到Jetson Nano、Jetson Orin Nano或者任何只有有线网口但需要临时联网的嵌入式设备玩家。下面我把整个配置过程拆开讲包括我踩过的坑和几个容易忽略的细节。2. 动手之前的硬件与系统环境确认2.1 笔记本端和Nano端各自需要什么先说笔记本这边。你的笔记本必须同时具备两个网络接口一个用来连Wi-Fi或者连其他能上网的网络另一个就是有线网口。现在很多轻薄本取消了RJ45网口这种情况你需要一个USB转网口的转接器几十块钱的那种就行芯片方案建议选RTL8153或者AX88179这两个在Linux和Windows下驱动都比较成熟不容易出幺蛾子。Nano这边就简单了它自带一个千兆网口直接插上网线就行。但有一点要注意Jetson Nano的网口不支持PoE供电别想着用PoE交换机一根线同时供电和传数据那个是工业级设备才有的功能。你该给的DC电源还是要给5V 4A的圆头电源或者通过Micro USB供电都行但Micro USB供电时USB口的总电流会受限如果你同时插了USB无线网卡和摄像头可能会触发过流保护。系统方面Nano上跑的是NVIDIA官方的JetPack系统底层是Ubuntu 18.04或者20.04。笔记本这边Windows、macOS、Ubuntu都行配置逻辑大同小异我下面会分别说。2.2 网线选择别在这上面省事网线这块我得多说两句。很多人随手抓一根不知道从哪翻出来的老网线就往上插结果发现连不上折腾半天以为是配置问题其实是线的问题。Jetson Nano的千兆网口需要至少超五类Cat5e以上的网线才能跑满千兆如果你用的是那种很细的、没有屏蔽层的电话线改的网线可能连百兆都跑不稳。另外网线的线序也值得注意。标准的T568B线序是橙白、橙、绿白、蓝、蓝白、绿、棕白、棕。如果你是自己压水晶头两端都按T568B压就行这叫直通线用来连接不同设备笔记本和Nano属于不同设备。如果你不小心压成了一端A一端B的交叉线理论上现代网卡都支持自动翻转Auto-MDIX但Jetson Nano的网卡在某些JetPack版本下对交叉线的兼容性并不完美我遇到过交叉线插上去网口灯不亮的情况换直通线立马就好了。提示如果你手头只有一根成品网线插上之后先看Nano网口旁边的指示灯。绿灯常亮表示链路已建立黄灯闪烁表示有数据传输。如果两个灯都不亮先换线别急着改配置。3. 笔记本端网络共享的完整配置流程3.1 Windows下的Internet连接共享设置Windows系统自带的Internet连接共享ICS功能是最省事的方案不需要装任何额外软件。操作路径如下打开“控制面板” - “网络和共享中心” - “更改适配器设置”。找到你正在上网的那个网卡通常是“WLAN”右键 - “属性” - “共享”选项卡。勾选“允许其他网络用户通过此计算机的Internet连接来连接”。在下拉框中选择你的有线网卡通常叫“以太网”或“本地连接”。点击确定。这时候Windows会自动把有线网卡的IP地址设为192.168.137.1子网掩码255.255.255.0。这个地址是固定的ICS服务默认就用这个网段你改不了。所以Nano那边的IP必须设成192.168.137.x网段网关和DNS都指向192.168.137.1。我实测下来Windows ICS的稳定性还不错但有一个坑如果你之前手动给有线网卡设过静态IPICS会提示“无法启用共享访问”。解决办法是先把有线网卡的IP设回“自动获取”然后再开ICS。另外ICS服务SharedAccess如果被某些安全软件禁用了也会导致共享失败检查一下服务列表里“Internet Connection Sharing (ICS)”是不是处于“正在运行”状态。3.2 Ubuntu桌面版下的共享配置Ubuntu下配置网络共享稍微麻烦一点因为图形界面没有Windows那么直观。在“设置” - “网络”里你可以找到“有线”连接点击齿轮图标进入设置在“IPv4”选项卡里把方法改为“共享到其他计算机”。这个操作本质上也是启用了NetworkManager的共享功能它会自动配置iptables的NAT规则和dnsmasq。但这里有个细节Ubuntu的共享模式默认给有线网卡分配的IP是10.42.0.1网段是10.42.0.0/24。所以Nano那边的IP要设成10.42.0.x网关指向10.42.0.1。如果你之前看过Windows的教程照着192.168.137.x去设那肯定连不上。命令行方式更可控适合喜欢折腾的人# 先确认有线网卡名称通常是eth0或enp3s0 ip link show # 给有线网卡设静态IP sudo ip addr add 10.42.0.1/24 dev eth0 sudo ip link set eth0 up # 开启IP转发 sudo sysctl -w net.ipv4.ip_forward1 # 配置NAT假设你的Wi-Fi网卡是wlan0 sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE sudo iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT sudo iptables -A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT这套命令每次重启都会失效想持久化的话需要把net.ipv4.ip_forward1写进/etc/sysctl.confiptables规则用iptables-persistent保存。3.3 macOS下的网络共享macOS的配置入口在“系统偏好设置” - “共享” - “互联网共享”。在“共享以下来源的连接”里选Wi-Fi“用以下端口共享给电脑”里勾选你的有线网卡通常显示为“USB 10/100/1000 LAN”或“Thunderbolt以太网”。勾选左侧的“互联网共享”开关即可。macOS默认给有线网卡分配的IP是192.168.2.1网段是192.168.2.0/24。Nano那边对应设成192.168.2.x网关192.168.2.1。macOS的共享功能底层用的是bootpd和pf防火墙稳定性很好基本不会出什么问题。4. Jetson Nano端的网络参数配置4.1 通过串口或HDMI进入系统Nano第一次配置的时候你大概率还没有网络所以需要通过HDMI接显示器加USB键盘鼠标来操作或者用USB转TTL串口线通过串口终端登录。串口登录的方式更轻量不需要额外显示器具体接法是USB转TTL模块的GND接Nano的GND第6针RX接TX第8针TX接RX第10针波特率115200。登录进去之后Nano默认的用户名是nvidia密码也是nvidia如果你刷的是官方JetPack镜像。有些第三方镜像可能不一样自己确认一下。4.2 设置静态IP与网关Nano上配置静态IP有两种方式图形界面和命令行。如果你接了显示器直接在右上角网络图标里点“有线设置”在IPv4选项卡里选手动填入地址、子网掩码、网关和DNS。地址填192.168.137.2Windows ICS场景或10.42.0.2Ubuntu场景或192.168.2.2macOS场景子网掩码255.255.255.0网关填笔记本有线网卡的IPDNS填8.8.8.8和114.114.114.114。命令行方式更通用编辑/etc/netplan/目录下的yaml文件Ubuntu 18.04及以上版本network: version: 2 renderer: NetworkManager ethernets: eth0: dhcp4: no addresses: - 192.168.137.2/24 gateway4: 192.168.137.1 nameservers: addresses: - 8.8.8.8 - 114.114.114.114保存后执行sudo netplan apply生效。注意缩进必须用空格不能用Tabyaml对缩进非常敏感我见过有人因为缩进用了Tab导致netplan报错排查了半天。4.3 验证连通性的正确顺序配置完之后别急着ping外网按这个顺序一步步验证先ping笔记本的有线网卡IPping 192.168.137.1。如果不通说明物理链路或IP配置有问题。再ping笔记本的Wi-Fi网卡IP如果知道的话确认Nano的包能到达笔记本的上网接口。然后ping一个公网IP比如ping 8.8.8.8。如果不通说明NAT转发没生效。最后ping域名比如ping www.baidu.com。如果不通但上一步通了说明DNS配置有问题。这个顺序很重要能帮你快速定位问题出在哪一层。很多人一上来就ping域名不通就懵了不知道是网络不通还是DNS没配好。5. 那些让我折腾了半天的坑5.1 网线插上但网口灯不亮这个问题我遇到过两次。第一次是网线的问题那根线看着好好的但内部某根线芯断了换线解决。第二次比较诡异网线没问题笔记本网口也没问题但就是灯不亮。后来发现是Nano的网口金属屏蔽罩和外壳有轻微短路把Nano从金属外壳里拿出来单独测试就正常了。如果你用的是第三方的金属外壳注意检查网口开孔位置有没有和网口金属部分接触。5.2 能ping通IP但无法解析域名这个典型是DNS的问题。Nano的/etc/resolv.conf有时候会被NetworkManager覆盖你手动改的内容重启后就没了。正确的做法是在netplan配置里写nameservers或者用resolvectl命令配置。另外如果你在Windows ICS场景下笔记本的DNS是运营商分配的Nano的DNS直接填192.168.137.1也行ICS会做DNS代理。5.3 SSH连接Nano时频繁断线用网线直连的时候如果笔记本的网卡开启了节能模式可能会在空闲时降低网口功率导致SSH连接不稳定。Windows下可以在设备管理器里找到有线网卡在“电源管理”选项卡里取消勾选“允许计算机关闭此设备以节约电源”。Ubuntu下用ethtool -s eth0 wol d关闭Wake-on-LAN或者用ethtool --set-eee eth0 eee off关闭节能以太网。5.4 共享网络后笔记本本身断网这个情况比较少见但确实存在。原因是Windows ICS在启用时会重置有线网卡的一些参数某些USB网卡驱动对此兼容性不好导致整个网络栈出问题。解决办法是换一个USB网口转接器或者改用Ubuntu的NetworkManager共享模式后者对硬件的兼容性更好。6. 共享网络之后的实际使用体验与优化建议网络通了之后Nano就可以正常apt update、pip install了。但网线直连的带宽是千兆实际传输速度能跑到100MB/s以上比Wi-Fi快得多。如果你需要往Nano上传大文件比如预训练模型权重网线直连的优势非常明显。我传一个500MB的YOLOv5权重文件网线直连大概5秒就传完了Wi-Fi下可能要半分钟。另外如果你经常需要这样操作可以写一个一键配置脚本放在Nano上省得每次重装系统都要手动配一遍。脚本内容就是把netplan配置写进去然后apply再验证一下连通性。我自己的脚本里还加了一个自动检测笔记本网段的功能通过arp-scan扫描192.168.137.0/24、10.42.0.0/24、192.168.2.0/24这三个常见网段找到网关地址后自动配置Nano的IP这样不管笔记本用的是Windows、Ubuntu还是macOS插上网线跑一下脚本就能通。最后说一个实际使用中的小技巧如果你觉得每次都要在笔记本上开共享太麻烦可以考虑在Nano上装一个轻量级的DHCP客户端让它自动从笔记本获取IP。Windows ICS自带DHCP服务Nano的eth0设成DHCP模式就能自动拿到192.168.137.x的地址连静态IP都不用配。Ubuntu的共享模式也有dnsmasq提供DHCP同样支持自动获取。这个方式最省事推荐给不想折腾静态IP的人。