OpenWrt 初始配置步骤

OpenWrt 初始配置步骤

4 min read

设置指南

BESTNET 提供的 OpenWrt 模板初始配置步骤

首次启动后安全开始使用的步骤。先配置 WAN,再用 HTTPS 保护 LuCI,然后循序渐进地进行配置。

WAN = eth0
工作 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 访问)
  • 配置错误可能导致实例无法访问。操作过程中请保持控制台处于打开状态
  • 控制台可能按美式键盘布局解析输入(尤其是 / 和 :)。本指南中主要需要用到的符号是 .、/ 以及空格

整体流程 #

  1. (可选)在门户中创建 OpenWrt 实例
  2. 在门户中记录 WAN 信息和管理 IP
  3. 通过控制台以 root 身份登录
  4. 运行 firstboot.sh 初始配置 WAN 和 HTTPS
  5. 在云端 FW/SG 中仅允许管理 IP 访问 443 端口
  6. 登录 LuCI(HTTPS)
  7. (如有必要)注册 SSH 公钥 → 使用 enable_ssh.sh 启用 SSH → 在云端 FW/SG 中仅允许管理 IP 访问 22 端口

步骤 0(可选)在门户中创建 OpenWrt 实例 #

如果实例已经创建完成,可以跳过此步骤。门户界面可能因提供商而异,但示例遵循以下流程:

步骤 0.1 将模板(OS)设置为 OpenWrt #

Example of selecting OpenWrt template in creation screen图:创建画面中选择模板的示例(1 = OS 模板/2 = 主机名)。

步骤 0.2 确认公网 IP 分配设置并创建 #

Example of verifying Public IP allocation in network settings图:网络设置示例(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.1 8.8.8.8 即可)

管理 IP(您的设备的全局 IP) #

  • 固定全局 IP(推荐):公司线路/VPN 出口等
  • 示例:203.0.113.10/32

如果管理 IP 会发生变化(移动线路/家庭线路),后续很可能导致自己无法访问。请尽量使用固定 IP(公司/VPN)。

如有疑虑,请提交支持工单进行咨询。

Example of location to confirm console and WAN IP in portal图:门户中确认「控制台」和「IP(WAN)」位置的示例(1 = 控制台/2 = IP)。

参考:CIDR 转子网掩码对照表 #

CIDR子网掩码
/29255.255.255.248
/28255.255.255.240
/27255.255.255.224
/26255.255.255.192
/24255.255.255.0

步骤 2通过控制台登录(必需) #

  1. 从门户打开控制台(noVNC/Proxmox 等)。
  2. 出现 login: 提示时,以 root 身份登录。

初始状态下 root 密码通常未设置(锁定状态),该模板默认允许控制台登录。如提示需要您不知道的密码,请联系提供商。

步骤 3运行初始配置脚本 #

确认提示符为 root@OpenWrt:~# 后运行 firstboot.sh。

./firstboot.sh

如果执行失败(如 Permission denied 等),请指定路径运行:

sh /root/firstboot.sh
Example of running firstboot.sh in console图:在控制台中运行 ./firstboot.sh 的示例(1 = 要执行的命令)。

步骤 4回答脚本提问 #

脚本会依次进行提问。请使用您在步骤 1中记录的信息作为输入值。

步骤 4.1 设置 root 密码(必需) #

如果脚本检测到 root 密码尚未设置,将会启动 passwd。请按照提示设置新密码。

登录 LuCI(HTTPS GUI)时需要用到此密码。

步骤 4.2 输入 WAN 设置 #

本指南的前提是 eth0 为 WAN,因此即使提示显示 WAN device [eth1]:,也请输入 eth0。

Input example for firstboot.sh图: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 侧)
Example of permitting TCP 443 from management IP only in base firewall图:在基础 FW/SG 中开放 443 端口的示例(1 = 将来源 IP 限制为管理 IP/2 = 目标端口 443/3 = 出站)。※ 项目名称及界面外观可能因门户而异。

即使先在基础 FW 中开放了 443 端口,在 OpenWrt 端允许之前也无法访问,因此相对安全,但务必限制来源 IP。

步骤 6登录 HTTPS GUI(LuCI) #

从浏览器访问以下地址:

https://<WAN_IP>/

会出现自签名证书警告。请查看内容后继续(浏览器显示因环境而异)。

Example of self-signed certificate warning图:自签名证书警告示例(1 = 高级设置)。

出现登录界面后,使用用户名 root 和您在步骤 4.1 中设置的密码登录。

步骤 7(如有必要)启用 SSH #

方针:先注册密钥,再启用 SSH(禁止密码 SSH 登录)。如果操作中不使用 SSH,可以跳过本节。

步骤 7.1 在 LuCI 中注册 SSH 公钥 #

LuCI 菜单示例(不同环境下的表述可能略有差异):

System → Administration → SSH-Keys

Example of opening Administration screen in LuCI图:在 LuCI 中打开 System 菜单并选择 Administration 的示例(1 = System/2 = Administration)。
Screen to register SSH public key in LuCI图: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
Example of starting 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(超时) #

排查顺序:

  1. 确认云端 FW/SG 中是否已允许管理 IP 访问 TCP 443
  2. 确认您的管理 IP 是否正确(线路是否发生了变化?)
  3. 确认控制台中是否已配置 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

附录:本指南中使用的常见占位符替换说明 #

<WAN_IP> #

在门户中确认的 WAN IPv4 地址

<ADMIN_SOURCE_CIDR> #

您的管理 IP(示例:203.0.113.10/32)

<NEW_IP/32> #

管理 IP 发生变化时的新 IP

Updated on 2026年6月9日

What are your feelings

  • Happy
  • 常规
  • Sad

©2020 BESTNET.LLC . All Rights Reserved.