写在前面
公网访问 nas 的方案最主要的就是有两种,一种是 vpn 异地组网,一种是反向代理
有的人死磕一个用到底,非要争出一个第一名,但实际上这两个并不冲突,完全是可以共存的,各有利弊,可以互补,没有必要死认一个方案
本文先只写反向代理的详细版教程
确认光猫是否桥接 {#确认光猫是否桥接}
没有桥接的先改桥接,桥接并不是为了有些人说的什么所谓的光猫性能差,改桥接用路由拨号性能强,不排除有的人光猫性能确实差,但真的不多了,现在的光猫性能不比路由差,而为什么要改桥接,是因为光猫桥接可以让我们的网络少一层 nat,简化了网络结构,便于管理和配置。
电信可以直接打客服电话找技术部门远程改,其他两家不确定有没有,自行测试;也可以咸鱼找大神改,反正改了桥接就行
确认公网 {#确认公网}
这步是基于已经改完桥接之后的操作了,进路由查看路由拨号获取的 ip 地址,如果我们获取的 ipv4 地址和在百度上搜出来的 ip 一样,就可以确定 ipv4 是公网,ipv6 就很简单,240 开头基本都是
关闭路由防火墙或者开放需要使用的 web 端口 {#关闭路由防火墙或者开放需要使用的-web-端口}
这步分两种情况,一种是 ipv4,一种是 ipv6,双栈就都配置,纯 v4 或者纯 v6 只配置一个即可
ipv4 :就像其他教程上配置端口转发即可(没有 v4 公网就别试了,转发也没用)
如图
ipv6 :可以直接关闭防火墙也可以用软路由系统放通 80 和 443 两个 web 端口
如图
关于 op 软路由放通 web 端口请参考 一些 openwrt 配置 v6 防火墙的笔记
ddns {#ddns}
ddns-go
docker cli 直接复制粘贴无需任何修改,docker 拉不到自行百度换源或者挂旁路由
|-----------|-------------------------------------------------------------------------------------------------------|
| 1
| docker run -d --name ddns-go --restart=always --net=host -v /opt/ddns-go:/root jeessy/ddns-go
|
设置管理员账户之后就是下面的样子
dns 服务商那里就跟着自己域名注册商选择,并且根据输入框上方的 蓝字 提示填 id 和 key 或者密码,下面 ipv4 和 ipv6 分别添加自己想要绑定的域名
添加完成后保存,然后去域名服务商那查看解析是否添加,确认无误后 ddns-go 就配置完成了,webhook 那个提醒根据文档填就行,没难度跳过了
反向代理 {#反向代理}
反代程序用啥都可以阿帕奇 nginx caddy 都可以
这里以 nginxwebui 的 docker 容器为例
nginxwebui
docker cli
|-----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1
| docker run -itd -v /home/nginxWebUI:/home/nginxWebUI -e BOOT_OPTIONS="--server.port=8080" --net=host --restart=always registry.cn-hangzhou.aliyuncs.com/cym19871102/nginxwebui:latest
|
安装完成后就是这个样子
首先设置一下 nginx 的最大上传大小
如图
保存
添加 ssl 证书
提交之后进入下一步
配置 ssl 证书的 dns 验证解析,点击 获取dns记录
去域名注册商那添加解析记录并保存
申请
添加反向代理
这里 监听域名
和 代理目标
根据自己的情况填写
监听域名
:外网访问在地址栏输入的域名
代理目标
:内网服务的 ip地址
+ 端口
启用配置
测试
附:
ipv6 端口测试工具
tcping 工具 itdog
有错误或者疑问请评论区指出,谢谢