RouterOS 的 WebFig 默认走 HTTP,登录密码明文传输存在窃听风险。可用 openssl 自签根证书和服务器证书,导入后启用 www-ssl、指定证书并禁用 www,即可改用 HTTPS;OpenWrt 可让 uHTTPd 使用证书,有公网域名推荐 acme.sh 免费签发。
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
- 把 server.key 与 server.crt 上传到 RouterOS(WinBox 的 Files,或直接拖进 WebFig)
- 进入 System → Certificates → Certificates,点 Import 依次导入这两个文件
- 进入 IP → Services,找到 www-ssl 服务并启用,在 Certificate 一栏选择刚导入的 server.crt
- 用 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)整理,实操中遇到问题欢迎留言讨论。
- 文章名称:RouterOS/OpenWrt 配置 HTTPS:openssl 自签 SSL 证书全流程
- 文章永久网址:https://www.997wan.com/routeros-openwrt-https-selfsigned-ssl/
- 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长 997笔记 进行删除处理。
- 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
- 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
- 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
- 如无特别声明本文即为原创文章仅代表个人观点,版权归《997笔记》所有,欢迎转载,转载请保留原文链接。