设置指南
首次启动后安全开始使用的步骤。先配置 WAN,再用 HTTPS 保护 LuCI,然后循序渐进地进行配置。
工作 LAN = eth1
HTTPS GUI(LuCI)
仅在必要时使用 SSH
适用范围与前提条件 #
- 对象:BESTNET 提供的 OpenWrt 模板
- WAN =
eth0(配置了全局 IP 的接口) - 工作 LAN =
eth1(DHCP/用于控制台恢复的网络) - 首次登录使用 HTTPS GUI(LuCI)
- SSH 仅在必要时使用(在注册密钥/开放 22 端口后启用,禁止密码 SSH 登录)
重要注意事项(请务必阅读) #
该模板不支持 cloud-init,因此首次使用时需要手动配置。
- 必须限制访问来源 IP(在云端 FW/SG 和 OpenWrt 端 FW 上均将 443/22 端口仅限管理 IP 访问)
- 配置错误可能导致实例无法访问。操作过程中请保持控制台处于打开状态
- 控制台可能按美式键盘布局解析输入(尤其是
/和:)。本指南中主要需要用到的符号是.、/以及空格
整体流程 #
- (可选)在门户中创建 OpenWrt 实例
- 在门户中记录 WAN 信息和管理 IP
- 通过控制台以 root 身份登录
- 运行
firstboot.sh初始配置 WAN 和 HTTPS - 在云端 FW/SG 中仅允许管理 IP 访问 443 端口
- 登录 LuCI(HTTPS)
- (如有必要)注册 SSH 公钥 → 使用
enable_ssh.sh启用 SSH → 在云端 FW/SG 中仅允许管理 IP 访问 22 端口
步骤 0(可选)在门户中创建 OpenWrt 实例 #
如果实例已经创建完成,可以跳过此步骤。门户界面可能因提供商而异,但示例遵循以下流程:
步骤 0.1 将模板(OS)设置为 OpenWrt #
图:创建画面中选择模板的示例(1 = OS 模板/2 = 主机名)。步骤 0.2 确认公网 IP 分配设置并创建 #
图:网络设置示例(1 = 将 IPv4 Pool 设置为公网 IP/2 = IP 数量(通常为 1 个)/3 = 创建按钮)。要点:本指南的前提是 eth0 为 WAN(公网)。若门户允许更改网卡分配或顺序,请确保 eth0 处于公网一侧。
步骤 1事前准备(在门户中确认) #
请在门户中记录以下信息(分配信息):
WAN(全局)信息 #
- IPv4 地址(示例:
203.0.113.2) - 子网掩码(示例:
255.255.255.224) - 网关(示例:
203.0.113.1) - DNS(未指定时使用
1.1.1.18.8.8.8即可)
管理 IP(您的设备的全局 IP) #
- 固定全局 IP(推荐):公司线路/VPN 出口等
- 示例:
203.0.113.10/32
如果管理 IP 会发生变化(移动线路/家庭线路),后续很可能导致自己无法访问。请尽量使用固定 IP(公司/VPN)。
如有疑虑,请提交支持工单进行咨询。
图:门户中确认「控制台」和「IP(WAN)」位置的示例(1 = 控制台/2 = IP)。参考:CIDR 转子网掩码对照表 #
| CIDR | 子网掩码 |
|---|---|
| /29 | 255.255.255.248 |
| /28 | 255.255.255.240 |
| /27 | 255.255.255.224 |
| /26 | 255.255.255.192 |
| /24 | 255.255.255.0 |
步骤 2通过控制台登录(必需) #
- 从门户打开控制台(noVNC/Proxmox 等)。
- 出现
login:提示时,以root身份登录。
初始状态下 root 密码通常未设置(锁定状态),该模板默认允许控制台登录。如提示需要您不知道的密码,请联系提供商。
步骤 3运行初始配置脚本 #
确认提示符为 root@OpenWrt:~# 后运行 firstboot.sh。
./firstboot.sh如果执行失败(如 Permission denied 等),请指定路径运行:
sh /root/firstboot.sh
图:在控制台中运行 ./firstboot.sh 的示例(1 = 要执行的命令)。步骤 4回答脚本提问 #
脚本会依次进行提问。请使用您在步骤 1中记录的信息作为输入值。
步骤 4.1 设置 root 密码(必需) #
如果脚本检测到 root 密码尚未设置,将会启动 passwd。请按照提示设置新密码。
登录 LuCI(HTTPS GUI)时需要用到此密码。
步骤 4.2 输入 WAN 设置 #
本指南的前提是 eth0 为 WAN,因此即使提示显示 WAN device [eth1]:,也请输入 eth0。
图:firstboot.sh 的输入示例(1 = 将 WAN 设备设置为 eth0/2 = 输入 WAN IPv4、子网掩码、网关、DNS)。需要输入的项目(示例):
- WAN 设备:
eth0 - WAN IPv4 地址:门户中的 IP(示例:
203.0.113.2) - WAN 子网掩码:门户中的子网掩码(示例:
255.255.255.224) - WAN 网关:门户中的网关(示例:
203.0.113.1) - DNS 服务器:未指定时使用
1.1.1.1 8.8.8.8即可 - 管理来源 IP/CIDR:您的管理 IP(示例:
203.0.113.10/32)
步骤 4.3 确认应用 #
最后会显示您的设置内容。如果一切正确,请输入 y,对应的提示为 Apply these settings? [y/N]:。
应用后,脚本会配置 OpenWrt 端的网络设置,并按管理 IP 限制配置 HTTPS 访问权限(FW)。
步骤 5配置基础防火墙(云端)(HTTPS) #
脚本完成后,在云端(基础 FW/SG)上允许 HTTPS。
- 允许:TCP 443
- 来源:管理 IP(示例:
203.0.113.10/32) - 目标:本 OpenWrt 实例(WAN 侧)
图:在基础 FW/SG 中开放 443 端口的示例(1 = 将来源 IP 限制为管理 IP/2 = 目标端口 443/3 = 出站)。※ 项目名称及界面外观可能因门户而异。即使先在基础 FW 中开放了 443 端口,在 OpenWrt 端允许之前也无法访问,因此相对安全,但务必限制来源 IP。
步骤 6登录 HTTPS GUI(LuCI) #
从浏览器访问以下地址:
https://<WAN_IP>/会出现自签名证书警告。请查看内容后继续(浏览器显示因环境而异)。
图:自签名证书警告示例(1 = 高级设置)。出现登录界面后,使用用户名 root 和您在步骤 4.1 中设置的密码登录。
步骤 7(如有必要)启用 SSH #
方针:先注册密钥,再启用 SSH(禁止密码 SSH 登录)。如果操作中不使用 SSH,可以跳过本节。
步骤 7.1 在 LuCI 中注册 SSH 公钥 #
LuCI 菜单示例(不同环境下的表述可能略有差异):
System → Administration → SSH-Keys
图:在 LuCI 中打开 System 菜单并选择 Administration 的示例(1 = System/2 = Administration)。
图:SSH-Keys 注册界面示例(1 = 粘贴公钥/2 = Add key)。※ 公钥是「非私钥」(示例:~/.ssh/id_ed25519.pub)。粘贴公钥(单行的 ssh-ed25519 AAAA...)并保存。
请勿粘贴私钥(id_ed25519 等)。
步骤 7.2 运行 SSH 启用脚本 #
在控制台中执行以下命令:
./enable_ssh.sh如果无法正常运行,请指定路径执行:
sh /root/enable_ssh.sh
图:启动 enable_ssh.sh 并输入允许 SSH(22)访问的来源 IP 的示例(1 = 执行位置)。系统会询问管理 IP。如果与您用于 HTTPS 的管理 IP 相同,直接按回车使用默认值即可。
该脚本通常会执行以下操作:
- 启动 dropbear(SSH)
- 配置为仅密钥认证(禁用密码认证)
- 在 OpenWrt 防火墙中添加仅允许管理 IP 访问 22 端口的规则
步骤 7.3 同样在云端 FW/SG 上开放 22 端口(仅限管理 IP) #
- 允许:TCP 22
- 来源:管理 IP(示例:
203.0.113.10/32) - 目标:本 OpenWrt 实例(WAN 侧)
警告:请勿在 OpenWrt 端启用 SSH(密钥注册 + enable_ssh)之前完全开放 22 端口。
步骤 7.4 确认连接(从您的设备) #
ssh -i ~/.ssh/id_ed25519 root@<WAN_IP>使用密码进行 SSH 登录预期会失败(仅支持密钥)。
步骤 8常见故障排查与恢复 #
步骤 8.1 无法访问 HTTPS(超时) #
排查顺序:
- 确认云端 FW/SG 中是否已允许管理 IP 访问 TCP 443
- 确认您的管理 IP 是否正确(线路是否发生了变化?)
- 确认控制台中是否已配置 WAN 设置
控制台确认命令:
uci show network.wan
ip -o -4 addr show
ip route确认数据包是否到达(示例):
tcpdump -ni eth0 tcp port 443步骤 8.2 管理 IP 发生变化导致无法访问 #
您可以在控制台中重写允许的 IP(如果管理 IP 已发生变化)。
重写 HTTPS 的允许来源:
uci set firewall.allow_https_from_admin.src_ip='<NEW_IP/32>'
uci commit firewall
/etc/init.d/firewall restart如果使用 SSH:
uci set firewall.allow_ssh_from_admin.src_ip='<NEW_IP/32>'
uci commit firewall
/etc/init.d/firewall restart步骤 8.3 WAN 设备设置错误(eth0/eth1) #
在错误的接口上配置 WAN 会导致实例无法访问。您可以通过控制台恢复。请确认 network.wan.device 是否为 eth0。
uci show network.wan.device
uci show network.wan.ifname # Depending on environment, this key may be used instead