阅读 208

威联通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


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐