设为首页
收藏本站
开启辅助访问
扫一扫 微信快速登陆
搜索
本版
文章
帖子
群组
用户
封面人物
头条推荐
中国名优
品牌营销
上市公司
研报点评
会展资讯
会员投稿
BBS
QQ登录
微博登录
微信登录
注册
|
登录
[人物百科]
郭孔丞
[行业分析]
2月17日ChatGTP宕机后,中国这十家公司被微
[最佳CEO]
美国、瑞士的金融环境还安全吗?三大资本巨
[人物百科]
张玉良
[网红测评]
凉席、枕头、被子、四件套挑选指南 20款夏
[网红测评]
多款同价位档超能打的空调,算好面积直接挑
美国、瑞士的金融环境
中国最佳CEO
»
会员投稿
›
会员投稿
›
网红测评
›
Unraid实践——IPv6反向代理实现域名访问Docker应用 ...
返回列表
发布主题
Unraid实践——IPv6反向代理实现域名访问Docker应用
[复制链接]
查看:
25
|
回复:
0
窃格瓦拉
当前离线
积分
5
1
主题
1
帖子
5
积分
新手上路
新手上路, 积分 5, 距离下一级还需 45 积分
新手上路, 积分 5, 距离下一级还需 45 积分
积分
5
收听TA
发消息
窃格瓦拉
发表于 2023-3-11 17:08:48
|
显示全部楼层
|
阅读模式
距离上一篇公网IPv4版本已经过去三年,而IPv6的教程也从前年拖更到现在,其实是因为一直在光猫拨号+二级路由的环境下,路由器内网的设备只能获取到内网IPv6地址,之前在Padavan上尝试用6relayd方式获取公网地址也不是很稳定。偶然发现了某位老哥的文章 OpenWrt二级路由器分配公网IPV6地址,解决了长久以来的困惑,原来二级路由开启中继模式让内网的设备获取公网IPv6并没有那么复杂,于是上周自己编译了一把OpenWrt,配置好路由器并让NAS获取到了IPv6地址,还在chatgpt的帮助下写了一个反向代理的程序,现在终于能舒舒服服地用IPv6了
。本文总结了个人使用IPv6的最佳实践,希望可以帮到大家。
目录
开启IPv6
光猫配置
路由器配置 (以OpenWrt为例)
Unraid配置
配置域名解析
申请免费域名
DDNS-GO设置自动解析
设置反向代理
Unraid修改网页端口
Docker部署反向代理应用
移动网络访问
手机APN打开IPv6
使用域名访问应用
开启IPv6光猫配置出租屋使用的是某SDN网关,默认开启了IPv6,所以我这里没有额外配置。
动手能力强的朋友可以进入光猫后台修改IP协议,普通用户可以直接致电运营商远程开启。
有条件的还可以改成桥接模式,具体参考前一篇文章或其他教程。
路由器配置理论上较新型号的路由器使用光猫桥接+路由器拨号,下级设备就可以自动获取公网IPv6地址了。
如果是光猫拨号+二级路由,需要开启中继模式:
完整步骤请参考 https://www.azimiao.com/8523.html
首先确认WAN6接口设置为DHCPv6客户端,然后将接口中的WAN和LAN都设置为静态地址;接口页面下方的IPv6 ULA 前缀部分需要清空
分别进入 网络-接口-LAN和WAN,点击下方的IPv6 设置,将可选项全部设置为中继模式
路由器-接口-LAN
路由器-接口-WAN-DHCP服务器
如何判断成功获取到IPv6地址
Windows下进入设置-网络和Internet-属性,可以看到IPv6地址处
24
开头的地址即表示配置成功
或者直接打开 test-ipv6.com 测试页面查看
IPv6测试
防火墙配置
本地获取到公网地址后,可能还不能直接从外网访问,需要进行防火墙配置
打开网络-防火墙-基本设置,将
转发
处更改为
接受
即可
路由器-防火墙设置
Unraid配置
首先兑现上篇文章的承诺,工作后入正了
正版软件受害者
Settings进去Docker和VM Manager中将Enable设置为No,进入 Settings->Network Settings,将 Network protocol 设置为
IPv4 + IPv6
Unraid-网络设置
其余的 assignment 部分设置为
Automatic
,会自动分配IP地址
当IPv6分配完成后,可以看到 IPv6 address 变成了
24
开头的地址
(后文中参考配置的IPv4地址默认使用192.168.123.181,需要替换成你自己的地址)
至此NAS已经成功获取IPv6公网地址,重新Enable Docker和VM后,就可以直接在浏览器中输入 [IPv6地址]:端口 访问NAS中的应用了
IPv6地址访问应用
配置域名解析
申请免费域名
这部分可以参考前一篇文章,动态域名解析需要到DNS服务商处获取API ID和Key,可以参考不同服务商的官方文档
DDNS-GO设置自动解析
这次我们将动态域名解析(DDNS)服务直接安装在了Unraid,省去一些路由器的配置
Docker中添加
jeessy/ddns-go
的配置如图
DDNS-GO 容器设置
浏览器输入 192.168.123.181:9876 进入ddns-go后台
选择DNS服务商并填入ID和Token
下方找到IPv6勾选启用,选择通过网卡获取,Domain框中输入域名,这里依旧使用泛域名 *.xxx.ml
DDNS-GO 后台设置
保存配置后等待日志显示新增解析成功
新增域名解析成功
现在已经可以通过 x.xxx.ml:端口号 访问NAS上的应用了
设置反向代理
Unraid修改网页端口
与前一篇文章不同的是,域名直接解析到了NAS的IPv6地址,而不是路由器的地址,因此需要修改Unraid默认的网页端口,将80和443端口预留给反向代理程序
进去Settings ->Management Access,将HTTP和HTTPS port更改成其他空闲端口,Apply以后,内网访问Unraid后台需要使用新设置的端口号,例如 192.168.123.181:1880
修改Unraid网页端口
Docker部署反向代理应用
这次反向代理没有使用Nginx Proxy Manager,在ChatGPT帮助下用go语言写了一个反向代理的小应用,使用toml文件配置代理和证书目录,支持https,还可以自动申请ssl证书,免去了手动配置证书的麻烦
Github代码仓库:ricardomlee/repro
部署也很简单,首先准备一个配置文件,命名为repro.toml,内容参考如下
[proxies]
"jelly.example.ml" = "http://192.168.123.181:8096"
[cert]
dir = "/config/cert"
将配置文件上传到appdata目录,例如新建一个/mnt/user/appdata/repro目录,放入repro.toml文件
Docker中添加
ricardomlee/repro
的配置如图,将刚刚创建的目录映射到容器里的
/config
目录,80和443端口分别映射到容器内的80和443端口
反向代理容器设置
部署完成后,可以在浏览器输入代理的域名例如 jelly.example.ml 直接访问Unraid应用
第一次访问应用需要申请SSL证书,因此会加载等待一段时间,等证书申请完成后面访问就很快了
当然,除了代理Unraid上的应用,还可以代理内网中任意设备上的应用,例如要添加路由器管理页面的代理,只需要修改/mnt/user/appdata/repro/repro.toml文件,在
[proxies]
下方新增一行
"newifi.example.ml" = "http://192.168.123.1:80"
然后在Unraid Docker页面重启repro即可
移动网络访问
APN开启IPv6
以MIUI13为例,打开设置-双卡与移动网络,选择上网卡设置 接入点名称(APN),进入默认APN的设置页面,找到APN协议,修改成
IPv4/IPv6
, 然后返回并确认保存
APN开启IPv6
重启一下流量开关后,进入我的设备-全部参数-状态信息,查看IP地址部分成功获取到 24 开头的公网IPv6地址
手机查看IPv6地址
使用域名访问应用
浏览器中输入代理的域名,访问成功
域名访问应用
最后
鸽了好久的内容终于补完了,这次没有那么多啰嗦的废话,也是因为从学生成长为了一名入门级码农。希望这篇文章可以帮助还没有用上IPv6的小伙伴,有任何问题欢迎在评论区讨论
链接
[1] Unraid尝鲜——设置反向代理实现泛域名访问Docker应用_NAS存储_什么值得买 (smzdm.com)
[2] OpenWrt二级路由器分配公网IPV6地址 | 梓喵出没 (azimiao.com)
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
推荐模特
美国、瑞士的金融环境还安全吗?三大资本巨头早就给出答案原创2023-03-22 18:06·华商
177人看过
立即查看
美国、瑞士的金融环境还安全吗?三大资本巨
经理人:华商韬略
最佳CEO
浏览过的版块
行业分析
快速回复
返回顶部
返回列表