原文地址:https://htm.fun/archives/nas-ipv6-ipv4-ddns-frp.html
前提条件
以下所有内容均在博主家庭实际搭建,所有截图均为博主家庭实际操作,请举一反三!本教程面向幼儿园,内容略显简单直白,请一年级以上的小朋友自觉退出本教程!
网络环境
我们用一张图来详细描述网络环境
以上就是博主家庭所处的网络环境,显而易见的是从光纤到nas都是支持ipv6的,如果你的网络环境中间有任何一步不支持ipv6,则你的nas就没有ipv6!
本文讲的是内网穿透,所以 你家有没有公网ip都无所谓了,如果你的网络环境和博主不一致,请尽量弄成图上这样!
内网穿透所需物资
- 公网服务器一台(阿里云/腾讯云等其他都行)
- 域名一个(什么后缀都行)
- 一台内网配置好的nas
路由器的配置
绑定固定内网ip给nas
首先,我们先进入路由器找到你的nas,给其绑定固定内网ip地址。我们这里以192.168.1.30
为例
这样就避免以后路由器重启或者停电后找不到nas的尴尬!没错写死他!
开启DMZ
然后我们开启路由器DMZ
功能。DMZ是什么?
,看看官方怎么说:“开启DMZ功能可以将内网某一个设备的IP映射到外网,方便从外网访问到该设备。” 所以说我们开启后,我们做外网访问的时候就不必在路由器做一次端口转发,你也知道,nas及其套件的端口可是相当的多,如果每一次都要手工设置,就很麻烦!
开启UPnP
- UPNP开启后能方便智能监控设备直接透传到因特网,无需做烦琐的映射端口设置。
- UPNP开启后能方便智能网络存储设备与因特网进行数据传输,节省手动设置时间。
- UPNP开启后能方便在因特网使用ERP、CRM、第三方远程桌面等软件。
- UPNP开启后能提高AnyChat系统的P2P成功率,节省服务器的带宽。
ps:不比关注设备列表里面的内容,这是系统自动生成的
到这里路由器相关的设置就已经完成!接下来我们来操作nas!
内网穿透/ipv6直连
ipv6直连
我们先来个简单的开胃菜,先搞定ipv6直连,如果你家里没有ipv6请跳过本内容,直达下方frp内网穿透。
请根据上图找到你的ipv6地址,我们的到一个240e:***:**:**:**:**:**:9953/64
的ipv6地址,我们拿下/64
前面的地址,这就是你nas的公网ipv6地址了。然后我们在浏览器地址栏里面输入[240e:***:**:**:**:**:**:9953]
就可以访问到你的nas了。
绑定域名
当然这么长一串ipv6地址,正常人都是记不住的,所以我们绑定一个简短的域名(如何注册域名,请百度一下,谢谢)。
我们解析一个二级域名nas.xxx.com
给定AAAA方式,记录的值就是你的nas的ipv6
地址!然后在浏览器中输入nas.xxx.com
即可访问你的nas了!
ddns ipv6
当然,到这里了你也不是说一直就能访问你的nas,因为你的公网ipv6地址也不是固定的。每次重启nas或者路由器都会刷新ipv6地址。所以我们也需要用到ddns。
获取dnspod秘钥
这里以博主使用dnspod为例,先登录dnspod。然后点击右上角个人头像选择秘钥管理
记住你的id及token!
配置dnspod ddns脚本
这里我们没有使用群晖自带的ddns,因为不支持ipv6,所以我们使用自己写的脚本。点击这里下载: 下载脚本,我的安装路径为:/volume2/docker/ddnsipv6/
请举一反三,谢谢!
- 修改ddnspod.sh第25行
IPtype=3
把1改为3。 - 修改ddnspod.sh最后一行
. /volume2/docker/ddnsipv6/dns.conf
改为你的绝对路径。请举一反三改为你的地址! - 修改dns.conf
# 1. 修改你的dnspod秘钥的ID,token,中间用英文逗号隔开!请注意:引文逗号!
arToken="XXXX,XXXXXXXXXXXXXXXXXXXXXXX"
# 2. 修改你的访问域名。我的nas访问域名是:nasi.htm.fun 请举一反三!
arDdnsCheck "htm.fun" "nasi"
添加定时执行计划
进入群晖,面板—-任务计划,添加每隔30分钟执行的计划!
bash /volume2/docker/ddnsipv6/ddnspod.sh
这样就可以了。
如果需要检测是否配置成功,有两种方式:①,修改域名的AAAA解析记录,随便修改之后执行一次计划,看看IP地址会不会变。②,进入ssh运行一次sh脚本,有输出信息。
frp内网穿透
Frps服务器端的配置
我们以博主的web服务器为例,由于是web服务器,所以博主安装了宝塔面板(bt.cn),以下操作均在可视化界面宝塔下操作,如果你的服务器没有安装宝塔面板可以选择安装一个,方便做frpc配置以及反向代理!当然,命令大佬可以点击浏览器右上角的退出按钮,本教程面向幼儿园!
安装frps插件
进入宝塔面板安装第三方插件:frps插件。下载地址:https://www.bt.cn/bbs/thread-35967-1-1.html,然后进入服务器后台宝塔面板,安装第三方插件,导入插件选择刚刚下载的插件
参照我截图的配置,配置你的frps。请一定要安装我配置的配置,如果你需要修改,请成功后再改,以免影响教程体验!
然后开始运行,你会看到以下状态
2021/03/19 20:07:58 [I] [service.go:178] frps tcp listen on 0.0.0.0:7000
2021/03/19 20:07:58 [I] [service.go:187] frps kcp listen on udp 0.0.0.0:7000
2021/03/19 20:07:58 [I] [service.go:220] http service listen on 0.0.0.0:7080
2021/03/19 20:07:58 [I] [service.go:241] https service listen on 0.0.0.0:7443
2021/03/19 20:07:58 [I] [service.go:259] nat hole udp service listen on 0.0.0.0:7001
2021/03/19 20:07:58 [I] [root.go:209] start frps success
2021/03/19 20:07:59 [I] [service.go:432] [bf68116a440a65ed] client login info: ip [XX.XXX.XXX.XXX:7983] version [0.33.0] hostname [] os [linux] arch [amd64]
2021/03/19 20:07:59 [I] [tcp.go:63] [bf68116a440a65ed] [ssh] tcp proxy listen port [7022]
2021/03/19 20:07:59 [I] [control.go:445] [bf68116a440a65ed] new proxy [ssh] success
2021/03/19 20:07:59 [I] [tcp.go:63] [bf68116a440a65ed] [tarn] tcp proxy listen port [9091]
2021/03/19 20:07:59 [I] [control.go:445] [bf68116a440a65ed] new proxy [tarn] success
2021/03/19 20:07:59 [I] [http.go:92] [bf68116a440a65ed] [web1] http proxy listen for host [nas.htm.fun] location [] group []
2021/03/19 20:07:59 [I] [control.go:445] [bf68116a440a65ed] new proxy [web1] success
2021/03/19 20:07:59 [I] [https.go:51] [bf68116a440a65ed] [web2] https proxy listen for host [nas.htm.fun]
2021/03/19 20:07:59 [I] [control.go:445] [bf68116a440a65ed] new proxy [web2] success
开放宝塔安全端口
然后同理,在你的服务器后台,策略组中开放这些端口。每个平台的操作方式不一样,请自行百度一下。如:
如何开放阿里云服务器端口
如何开放腾讯云服务器端口
如何开放天翼云服务器端口
如何开放百度云服务器端口
如何开放景安云服务器端口
.....
Frpc端配置
编辑frpc配置表
我的配置表放在/docker/frpc/frpc.ini
这里的,请举一反三!
# FRPC链接配置
[common]
server_addr = XXX.XXX.XXX.XXX #你服务器的ip地址!
server_port = 7000
token = SDQWEW15EQW4EQ6W #你的token!
[web1]
type = http
local_ip = 192.168.1.30 #你的nas固定的内网ip
local_port = 5000
custom_domains = nas.htm.fun #你的域名
[web2]
type = https
local_ip = 192.168.1.30
local_port = 5001
custom_domains = nas.htm.fun
# 配置ssh端口
[ssh]
type = tcp
local_ip = 192.168.1.30
local_port = 22 #内网nas的ssh端口
remote_port = 7022 #外网访问的ssh端口
[tarn]
type = tcp
local_ip = 192.168.1.30
local_port = 9091
remote_port = 9091
群晖Docker下载Frpc
先在套件中心下载Docker,然后在注册表下载frpc插件
下载完成后,进入映像中选择启动。
在高级设置中启用自动启动,然后点击卷
添加选择你刚刚保存的frpc.ini
然后装载路径设置:/frp/frpc.ini
然后,你就可以在网上快乐的冲浪了!
是不是很简单??