威联通nas的ipv4+ipv6双栈https证书ddns折腾记录
威联通nas的ipv4+ipv6双栈https证书ddns折腾记录
IPV4+IPV6公网DDNS搭配https
背景
起因
目标
方案
过程
光猫配置
路由器配置
Let's Encrypt证书申请
DDNS配置
301永久重定向
证书文件使用
nginx反向代理
QA
413 Request Entity Too Large报错
背景
起因
家用宽带下发了IPV6地址,加上本身的公网IPV4地址,达成了公网双栈的网络环境。
之前配置的的DDNS仅限于http的无加密访问,暴露在公网且不支持IPV6解析。
目标
配置IPV6网络,实现各支持IPV6的终端均可以进行IPV6的使用。
为光猫的出口IPV4地址和nas的IPV6地址配置DDNS解析。
对DDNS的域名解析配置https证书认证,仅涉及到nas管理后台页面,transmission web control。
实现免端口号访问。
方案
配置光猫和路由器就可以简单实现。
搭配自动同步动态IP脚本实现动态DDNS,米发提供301永久重定向实现免端口号访问。(我看看能不能贴一个推广链接,啊这,没有推广链接,那没事了)
申请免费的Let’s Encrypt证书实现https证书认证。
效果为:
主域名(进行301重定向)
----->前缀.域名:端口号(对应泛域名证书)
----->A解析记录解析到IPV4/AAAA解析记录解析到IPV6
----->通过端口转发到nas上
过程
光猫配置
设备:电信光猫ZXHN F650
网络->网络设置->网络名称选择5_INTERNET_R_VID_41
ipv6地址获取方式: DHCPv6
获取前缀(选中)
前缀获取方式: DCHPV6-PD
DNS获取方式: DHCPv6
1
2
3
4
这里我选择过自动配置,出现了PC设备获取的IPV6地址无法在路由器上查看到的问题,修改后问题解决。
网络->用户侧管理->IPv6设置
DNS来源: 网络连接
接口: 5_INTERNET_R_VID_41
前缀来源: WAN侧代理
启动DHCPv6服务器(选中)
起始地址(我没有改默认配置)
结束地址(我没有改默认配置)
地址信息是否通过DHCP获取 (选中)
其他信息是否通过DHCP获取 (选中)
RA使能(选中)
RA报文最大自动发送时间(我没有改默认配置)
RA报文最小自动发送时间(我没有改默认配置)
1
2
3
4
5
6
7
8
9
10
11
路由器配置
设备:Asus AC86U
基本设置
联机类型:Passthrough
Release prefix on exit:启用
1
2
IPv6 DNS 设置
自动接上 DNS 服务器:启用
1
Let’s Encrypt证书申请
参考https://github.com/acmesh-official/acme.sh项目进行证书的申请
我则直接使用DNSPOD的ID和key的API方式进行申请(ID和key获取对于不同域名供应商有所不同)
也可以使用Koolshare软件中心的Let’s Encrypt自动申请SSL证书(也是采用的acme)
最终申请了泛域名证书用于同一域名不同前缀的认证。
获得材料:
fullchain.crt (证书)
*.域名.key(密钥)
备份待用
DDNS配置
这里采用了https://github.com/NewFuture/DDNS项目脚本
我使用了二进制版进行实现,在威联通TS-453Bmini上成功执行。
定时任务配置参考https://blog.csdn.net/weixin_33966365/article/details/94316205
vim /etc/config/crontab
* */1 * * * /share/Public/dnspod/ddns -c /share/Public/dnspod/config.json > /share/Public/dnspod/run.log #添加这一行后保存,这里是每小时执行一次#
crontab /etc/config/crontab #套用設定#
/etc/init.d/crond.sh restart #重启crontab#
1
2
3
4
5
6
301永久重定向
参考https://www.mfpad.com/blog/how-to-redirect-a-domain进行301重定向的设置
证书文件使用
qnap取代证书
nginx反代证书
nginx反向代理
nginx反向代理证书使用是为了让transmission实现https的访问,不通过代理未找到合适的方法实现https访问。(nginx有各种安装方法,我采用了在qnap上安装Qnginx的方式)
下载后的Qnginx文件通过qnap的APP Center安装,然后进行配置。
配置文件是/share/CACHEDEV1_DATA/.qpkg/QNginx/etc/nginx/nginx.conf
根据你选择安装的位置对应配置文件的所在,然后进行证书和反向代理的配置。(配置方法参考了挺多,就不附上原文链接了)以下是我新增的反向代理的配置部分
server {
listen <监听的端口> ssl;
server_name <监听的域名>;
ssl_certificate /share/CACHEDEV1_DATA/.qpkg/QNginx/etc/ssl.crt; #证书复制到自定义位置#
ssl_certificate_key /share/CACHEDEV1_DATA/.qpkg/QNginx/etc/ssl.key; #密钥复制到自定义位置#
location / {
root html;
index index.php index.html index.htm;
proxy_pass <transsmission的http连接及端口>;
}
}
1
2
3
4
5
6
7
8
9
10
11
重启nginx后生效
这样外部网络访问transmission的方式就是https域名和自定义端口,通过反向代理转发到内部的http连接和transsmission的访问端口。
QA
413 Request Entity Too Large报错
修改/share/CACHEDEV1_DATA/.qpkg/QNginx/etc/php.ini
upload_max_filesize = 20M (原2M)
post_max_size = 80M (原8M)
(实际上可能并不需要修改)
主要修改/share/CACHEDEV1_DATA/.qpkg/QNginx/etc/nginx/nginx.conf
server {
…
client_max_body_size 20M;
…
}
————————————————
版权声明:本文为CSDN博主「InDimension」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_49631714/article/details/113782614