🖥️ 环境信息
硬件平台:
- 香橙派Zero3
- 支持有线网络和WiFi
软件环境:
Linux orangepizero3 6.1.31-sun50iw9 #1.0.4 SMP Thu Jul 11 16:37:41 CST 2024 aarch64 aarch64 aarch64 GNU/Linux
Ubuntu 22.04.4 LTS (jammy)
🎯 配置目标
实现三段式网络配置,按优先级自动连接:
🔌
1. 有线网络
最高优先级
📶
2. 家庭WiFi
中等优先级
📱
3. 手机热点
备用网络
同时确保SSH服务在任何网络环境下都可用。
⚙️ 完整配置步骤
1. 基础SSH服务配置
# 更新系统包
sudo apt update
# 安装SSH服务
sudo apt install openssh-server -y
# 启用SSH服务开机自启
sudo systemctl enable ssh
sudo systemctl start ssh
# 检查SSH状态
sudo systemctl status ssh
2. 安装网络管理器
# 安装NetworkManager(处理中文WiFi名称更好)
sudo apt install network-manager -y
# 启用NetworkManager
sudo systemctl enable NetworkManager
sudo systemctl start NetworkManager
3. 创建netplan网络配置
创建主配置文件:
sudo nano /etc/netplan/01-network-manager-all.yaml
写入以下配置内容:
network:
version: 2
renderer: NetworkManager
ethernets:
eth0:
dhcp4: true
nameservers:
addresses: [114.114.114.114, 8.8.8.8]
routes:
- to: default
via: 192.168.2.1
metric: 100
on-link: true
wifis:
wlan0:
dhcp4: true
nameservers:
addresses: [114.114.114.114, 8.8.8.8]
routes:
- to: default
via: 192.168.2.1
metric: 600
on-link: true
access-points:
"Your-Family-WIFI":
password: "xxxxxxxx"
"Your-Mobile-Hotspot":
password: "xxxxxxxx"
重要说明:
-
metric
值越小优先级越高 - 有线网 metric: 100(最高优先级)
- WiFi metric: 600(较低优先级)
- 可根据实际网络环境调整网关地址和WiFi信息
4. 设置配置文件权限
# 设置正确的文件权限
sudo chmod 600 /etc/netplan/01-network-manager-all.yaml
# 如果存在其他netplan文件也需要设置权限
sudo chmod 600 /etc/netplan/orangepi-default.yaml
5. 应用网络配置
# 检查配置语法
sudo netplan --debug try
# 应用配置
sudo netplan apply
# 重启网络服务确保生效
sudo systemctl restart NetworkManager
6. 验证网络配置
# 查看网络连接状态
nmcli dev status
# 查看已配置的连接
nmcli con show
# 查看路由表(确认优先级)
ip route show
# 测试网络连通性
ping -c 4 8.8.8.8
7. 测试故障转移功能
测试有线到WiFi切换:
# 临时禁用有线网络
sudo ip link set eth0 down
# 等待WiFi自动连接
sleep 10
# 测试网络连通性
ping -c 4 8.8.8.8
# 恢复有线网络
sudo ip link set eth0 up
测试WiFi间自动切换:
- 关闭主WiFi网络
- 开启备用WiFi网络
- 观察自动切换情况
🚨 常见问题及解决方案
问题1:权限警告
错误信息:
Permissions for /etc/netplan/xxx.yaml are too open
解决方案:
sudo chmod 600 /etc/netplan/*.yaml
问题2:route-metric配置错误
错误信息:
Error in network definition: link and host routes must specify a 'to' IP
解决方案:
-
不要使用
route-metric
直接配置 -
改用
routes
部分配置,包含完整的路由信息 -
或使用
dhcp4-overrides
中的route-metric
问题3:中文WiFi名称显示异常
现象:
WiFi扫描显示为UTF-8编码字符串
解决方案:
- 使用NetworkManager作为renderer
- NetworkManager对中文SSID支持更好
- 在配置文件中正确使用双引号包围SSID名称
问题4:WiFi故障转移不工作
现象:
有线网断开后,WiFi无法自动提供网络连接
解决方案:
-
确保使用完整的路由配置,包含
to: default
- 设置不同的metric值确保优先级
-
使用
on-link: true
参数
问题5:手机热点设备隔离
现象:
连接手机热点后,设备间无法通信
解决方案:
- 检查手机热点设置,关闭"设备隔离"或"AP隔离"
- 确保热点允许设备间通信
- 某些手机需要在热点高级设置中开启
✅ 使用场景验证
场景1:在家使用(有线+家庭WiFi)
- 插入网线:自动使用有线网络
- 拔掉网线:自动切换到家庭WiFi
- PC通过同一网络SSH连接香橙派
场景2:外出使用(手机热点)
- 关闭家庭WiFi或离开家庭网络覆盖
- 开启手机热点
- 香橙派自动连接到预设的手机热点
- PC连接同一热点后可SSH访问香橙派
场景3:网络优先级测试
当多个网络同时可用时:
- 🥇 有线网络优先级最高
- 🥈 家庭WiFi次之
- 🥉 手机热点作为备用
📚 常用管理命令
查看网络状态
# 查看所有网络设备状态
nmcli dev status
# 查看WiFi网络列表
sudo nmcli dev wifi list
# 查看当前IP地址
ip addr show
# 查看路由表
ip route show
手动网络管理
# 手动连接WiFi
sudo nmcli dev wifi connect "WiFi名称" password "密码"
# 断开网络连接
sudo nmcli con down "连接名称"
# 启用网络连接
sudo nmcli con up "连接名称"
SSH连接
# 通过IP地址连接
ssh username@IP地址
# 查看香橙派当前IP
hostname -I
配置文件备份
建议备份重要配置文件:
# 备份netplan配置
sudo cp /etc/netplan/01-network-manager-all.yaml ~/network-backup.yaml
# 备份SSH配置
sudo cp /etc/ssh/sshd_config ~/ssh-backup.conf
🎉 总结
这套配置方案适用于香橙派Zero3 + Ubuntu 22.04.4 LTS环境,实现了:
⚡
有线网络优先级管理
🔄
多WiFi网络自动切换
🌏
中文SSID支持
🔐
SSH服务持久化
🛡️
网络故障自动恢复
🔄
重启后配置自动生效
通过这种三段式网络配置,可以确保香橙派在不同网络环境下都能保持稳定的连接,并支持远程SSH管理。