OpenWrt旁路由配置动态域名, 开启SSL远程访问教程
  JCeicZzrwydO 2023年11月02日 62 0

本文以博主家庭网络为例,介绍在旁路由上配置CloudFlare动态域名并安装ACME证书,实现远程SSL访问的方法。博主家庭网络主路由为华为P812E光猫,采用路由模式,除了负责拨号,还要为四个86面板AP提供Poe供电。四个面板组成Mesh网络,由一台r6s旁路由负责分配DHCP,并提供其他服务。

设置动态域名的前提条件:光猫拨号后获取的必须是公网地址。

一、P812E开启端口转发

进入P812E光猫Web设置界面,转到高级设置>转发规则>IPv4端口映射,添加一条映射规则。由于运营商一般都将公网常用的80、443、8080等端口屏蔽,我们选择一个可用的端口进行映射。在本示例使用9443端口,将WAN接口上的9443端口映射到OpenWrt旁路由443端口上。192.168.18.2为旁路由的LAN地址。

OpenWrt旁路由配置动态域名, 开启SSL远程访问教程_动态域名

点击应用,就可以使用https://wan ip:9443端口访问OpenWrt。

二、设置动态域名

1、在CloudFlare上,添加一条动态域名记录,这里使用了一个二级域名,IPv4地址输入临时地址(客户端配置好动态域名程序后会自动更新地址),关闭代理选项,点击保存。

OpenWrt旁路由配置动态域名, 开启SSL远程访问教程_旁路_02

2、在OpenWrt上,转到服务>DDNS-GO,启用DDNS-GO服务。

OpenWrt旁路由配置动态域名, 开启SSL远程访问教程_动态域名_03

浏览器输入LAN IP:9876地址打开DDNS-GO设置页面,设置参数如下图所示,本教程使用cloudflare管理的域名,只需要输入DNS的令牌和域名信息即可。其他服务商请参考设置说明。

OpenWrt旁路由配置动态域名, 开启SSL远程访问教程_旁路_04

设置完成点击左上方的Save按钮,保存配置。实时连接信息可以点击右上方的日志进行查看。如果设置无误,那么在CloudFlare上添加的记录应该更新了光猫WAN接口的公网地址。

浏览器输入https://test.pfchina.xyz:9443,打开OpenWrt旁路由登录界面。由于没有配置证书,会提示连接不安全。

OpenWrt旁路由配置动态域名, 开启SSL远程访问教程_动态域名_05

三、配置ACME证书

详细安装说明请参考这里

安装acme.sh

使用SSH命令进入OpenWrt的后台,运行以下命令安装acmd.sh,email替换为用于注册acme的邮箱。

curl https://get.acme.sh | sh -s email=my@example.com

配置证书

由于80和443端口无法使用,只能使用手动dns方式在域名上添加一条txt 解析记录, 验证域名所有权。Cloudflare Domain API提供了两种自动颁发证书的方法。

使用全局API密钥

使用Cloudflare账户的全局API密钥和域名注册邮箱替换下面命令行中对应"<>"中的内容,然后在OpenWrt上执行命令:

export CF_Key="<key>"
export CF_Email="<youremail@example.com>"
使用DNS区域令牌

登录Cloudflare帐户,找到网站,打开自己使用的动态域名所使用的顶级域名,在右侧找到区域ID(export CF_Zone_ID)和帐号ID(export)。找到个人资料菜单,点击左侧的API令牌栏,然后点击创建令牌,添加一个对应项级域名的API令牌(export

OpenWrt旁路由配置动态域名, 开启SSL远程访问教程_旁路_06

用上面获取的数据替换下面命令行中对应"<>"内容,然后在OpenWrt上执行命令:

export CF_Token="<token>" 
export CF_Zone_ID="<zone>"
export CF_Account_ID="<id>"

txt 解析记录添加完以后,执行以下命令申请证书了,test.pfchina.xyz为教程示例设置的域名。

/root/.acme.sh/acme.sh --issue --dns dns_cf -d test.pfchina.xyz -d www.test.pfchina.xyz

申请证书需要一点时间,请耐心等待。申请成功以后将会出现以下信息:

OpenWrt旁路由配置动态域名, 开启SSL远程访问教程_动态域名_07

证书和私钥默认保存在以下位置:

/root/.acme.sh/test.pfchina.xyz_ecc/test.pfchina.xyz.cer
/root/.acme.sh/test.pfchina.xyz_ecc/test.pfchina.xyz.key

证书的有效期为三个月,acme.sh安装程序添加了定时任务,到期会自动更新证书。

OpenWrt旁路由配置动态域名, 开启SSL远程访问教程_旁路_08

四、修改OpenWrt配置文件

使用vi命令,打开/etc/config/uhttpd文件,修改证书位置,并将option redirect_https选项修改为1,保存退出。

config uhttpd 'main'
list listen_http '0.0.0.0:80'
list listen_http '[::]:80'
list listen_https '0.0.0.0:443'
list listen_https '[::]:443'
option redirect_https '1'
option home '/www'
option rfc1918_filter '1'
option max_connections '100'
option cert '/root/.acme.sh/test.pfchina.xyz_ecc/test.pfchina.xyz.cer'
option key '/root/.acme.sh/test.pfchina.xyz_ecc/test.pfchina.xyz.key'

执行以下命令,重启uhttpd。

/etc/init.d/uhttpd restart

五、检查测试

浏览器输入https://test.pfchina.xyz:9443,检查证书是否生效,挂锁是否成功。

OpenWrt旁路由配置动态域名, 开启SSL远程访问教程_旁路_09

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

JCeicZzrwydO