RouterOS/OpenWrt 配置 HTTPS:openssl 自签 SSL 证书全流程

AI 摘要大番茄AI

RouterOS 的 WebFig 默认走 HTTP,登录密码明文传输存在窃听风险。可用 openssl 自签根证书和服务器证书,导入后启用 www-ssl、指定证书并禁用 www,即可改用 HTTPS;OpenWrt 可让 uHTTPd 使用证书,有公网域名推荐 acme.sh 免费签发。

此内容由AI根据文章内容自动生成。

RouterOS 的 WebFig 管理页面默认走 HTTP,登录密码在网络上是明文传输的,有被窃听的风险。改用 HTTPS 需要先有 SSL 证书——内网自用完全可以用 openssl 自己签一张,下面是完整流程。

一、前置条件

  • 一台装了 openssl 的电脑(Linux、macOS 自带,Windows 可用 Git Bash)
  • 能登录 RouterOS 的 WebFig 或 WinBox
  • 提前说明:自签证书浏览器会提示”不安全”,内网自用直接信任即可;有公网域名更推荐申请免费证书

二、生成根证书(自签 CA)

第 1 步,创建根证书密钥 root.key(会要求输入密码,请记住):

openssl genrsa -des3 -out root.key

第 2 步,创建根证书申请文件 root.csr:

openssl req -new -key root.key -out root.csr

第 3 步,签发根证书 root.crt(-days 是有效期天数,3650 约 10 年):

openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey root.key -in root.csr -out root.crt

三、生成服务器证书

第 4 步,创建服务器证书密钥 server.key:

openssl genrsa -out server.key 2048

顺手去掉 key 文件的口令,否则 RouterOS 导入后每次重启都要输密码:

openssl rsa -in server.key -out server.key

第 5 步,创建服务器证书申请文件 server.csr:

openssl req -new -key server.key -out server.csr

第 6 步,用根证书签发服务器证书 server.crt(-days 730 即两年):

openssl x509 -req -days 730 -sha1 -extensions v3_req -CA root.crt -CAkey root.key -CAcreateserial -in server.csr -out server.crt

到这一步证书就做好了,server.key 和 server.crt 这两个文件就是要给 RouterOS 用的。

四、导入证书并启用 HTTPS

  1. 把 server.key 与 server.crt 上传到 RouterOS(WinBox 的 Files,或直接拖进 WebFig)
  2. 进入 System → Certificates → Certificates,点 Import 依次导入这两个文件
  3. 进入 IP → Services,找到 www-ssl 服务并启用,在 Certificate 一栏选择刚导入的 server.crt
  4. 用 https://路由器IP 访问,确认能正常打开

如果不再需要明文访问,可以在 IP → Services 里把 www 服务禁用,只保留 www-ssl。

五、OpenWrt 上的对应做法

OpenWrt 的思路一样,只是证书交给 uHTTPd 使用,完整步骤写在OpenWrt 配置 SSL 证书并开启 HTTPS 访问 这篇里:

  • 安装 SSL 支持:opkg update && opkg install openssl-util luci-app-uhttpd
  • 把证书放到 /etc/ssl/ 目录,或用 acme.sh 申请免费证书
  • 在 uHTTPd 配置里指定证书路径并监听 443,重启 uHTTPd 生效

有公网域名的话推荐用 acme.sh 自动签发,就不会有自签证书的告警了。

常见问题

浏览器提示”您的连接不是私密连接”:自签证书的正常现象,点高级继续访问即可;把 root.crt 导入系统信任列表后不再提示。

导入证书时报错:确认 server.key 已经去掉口令(第三步那条命令),RouterOS 不支持带密码的私钥。

证书过期:留意 -days 参数,到期重新签发并导入一次即可。

由大番茄(997wan.com)整理,实操中遇到问题欢迎留言讨论。

上一篇 Linux 常用命令大全(系统/文件/磁盘/网络/备份 分类速查)
下一篇 H3C 交换机添加用户与三权分立配置,附千兆口跑不满命令