一.Zerotier
Zerotier速度在50kb/s(晚上测得)左右,访问较慢。但是相当于组建了虚拟局域网,所以不用搞什么端口映射。下载软件,打开,在虚拟ip后加上本地端口号就能直接访问。无论是里面的套件,还是DSM管理页面都是一样,加上本地端口号即可访问。不过每个连接的设备都要下载安装zerotier。
步骤一共两步:
①在zerotier官网注册一个账号,创建一个虚拟局域网,会有一串16个字符的代码,在每个连接的设备上都要输入这串代码来加入虚拟局域网。
②在你要连接的设备上下载安装zerotier,启用并输入你的16个字符的代码。回到页面管理端,勾选授权允许其加入虚拟局域网,看见Auth下面时绿色√时就完成啦。
注:Windows和Android端都是下载后输入代码即可,但是Linux就只能在命令行操作。比如说你要在服务器端创建moon服务器(伪根服务器)辅助下载时(当zerotier根服务器不能打洞成功下载时,就会借用你创建的伪根服务器进行下载),就要使用到命令行进行下载了。
FRP,伪根服务器的安装:
自建内网穿透服务器: 通过FRP,Zerotier等几种通过自己服务器实现内网穿透的教程
BV1dr4y147aq
BV1hK4y1L7ND
二.Sarura frp
这个软件非常简单粗暴,是一个现成的基于FRP的内网穿透软件。远程访问nas,组建游戏服务器,WOL(网络唤醒),远程桌面什么的都可以做到。
步骤一共两步:
①在官网注册账号,创建隧道,绑定端口号,也要在路由器中打开端口,防止被墙。之后启用隧道。
②在nas里套件中心,或者SSH安装Sakura frp,之后在nas中打开软件,登录刚刚注册的账号,便可以看到刚刚创建的隧道。启用之后在日志中会发现IP和网址两种登录方式,之后就可以输入网址远程进行访问了。
注:一个隧道只能映射一个端口。比如说你现在开通的是群晖的5000端口,如果还要用里面的软件,如jellyfin,qb,dnss-go之类的,有些要另外映射端口,比如说jellyfin的8096,就要新建一个隧道再次映射8096端口。而官方普通账号的免费隧道数只有两个,所以说考虑好再用吧,映射更多端口需要更多的隧道,嗯,大概是这样的。DSM的5000端口开放后不仅可以用于打开群晖管理后台,也可以用于DS file等群晖官方软件。
官方文档:首页 | SakuraFrp 帮助文档
三.Frp
Frp这个软件就是很普遍的软件的,很多软件的内网穿透服务都是基于frp的,像上面提到的sakura frp。不过要想使用frp进行内网穿透,必须要有一个有公网ip的服务器,比如说云服务器。云服务器其实各家都有,像什么腾讯云,阿里云,亚马逊云,华为云等等。
Frp的搭建要稍微麻烦一点,分为三步:
①去买一个云服务器。上述提到的多个服务商都有,搜“轻量应用服务器”应该就可以搜到。各个服务商应该都有一些新人优惠,一开始几年力度都会很大,比如说我用的阿里云,2核2G带宽2M不限流量的服务器,前三年都是每年99,原价可是620一年,这其实划算很多。再说有些服务商会有一些高校学生认证,也能享受得到不同程度的优惠,所以前几年玩玩成本还是不高的。买了服务器其实很简单用,记住SSH登录的端口和账号密码,还有会用防火墙端口映射。就这两点搞明白,对于普通用云服务器就够了。
②在服务器和你的nas上分别搭建frps和frpc,也就是服务端和客户端。在服务器中你可以先用命令行拉取1 panal的镜像并安装。1 panal是一个图形化的linux的运维平台,其实就是把命令行变成图形化来操作,就会简易一点。安装完之后登录1 panal,下载frps软件,之后按照网上的教程改四行代码就完成了。Nas中的搭建就会简单很多,在套件中心或者docke中安装frpc,之后打开就会出现空白页面,按章教程中的去修改四行代码。之后重启就会自动启用了。
③之后你要在云服务器防火墙中启用你刚刚设置的端口,比如说群晖DSM的管理后台5000.如果你要添加另外的端口,比如说jellyfin之类的软件,你就要在frpc中添加,也就是复制粘贴小修改的事情。之后试着去访问一下,如果可以,那就是成功了。
FRPB站上的教程:BV1dr4y147aq
网址:自建内网穿透服务器: 通过FRP,Zerotier等几种通过自己服务器实现内网穿透的教程
四.IPV6+DDNS
使用IPV6+DDNS的访问方式有一个大前提:拥有一个公网IPV6地址。其实现在ipv6普及的时代,一般家里宽带都会支持IPV6的网络,如果没有那就真的没办法了。之后你的路由器要支持IPV6的访问,并且是桥接模式,也就是拨号上网才能是公网的IPV6,不然就是内网的IPV6,你只能在局域网中访问,无论你用DDNS解析之后也是只能在内网访问的。
所以有三个要求:
①路由器支持IPV6访问
②路由器与光猫是桥接模式,也就是让路由器拨号上网
③有一个域名
如果满足这三个要求之后,剩下的就很简单了。
①在随便一个云服务商购买一个域名,一般都很便宜的,几十块钱一年的很多,获取网站的accesskey,也就是下载下来或者复制到新建文本文档中。这个东西要妥善保存,因为有些云服务商指挥提供一次,这一次没有记录下来就只能重新获取一个新的accesskey了。
②在域名设置中找到DNS解析。在其中新建一个解析,A和AAAA的解析。对应的时ipv4和ipv6的解析。Ipv4的解析中填个127.0.0.1,随便填填就好了,因为它是会自动解析到你的主机的。Ipv6的解析中你要填一个你nas的ipv6地址。注意不能是fe开头的,那个是局域网中的虚拟IPV6地址。比如说我的中国移动的,就是2409开头的ipv6地址。
待ipv4和ipv6的解析都填完之后,就可以退出域名控制台了。
③在nas中下载DDNS-GO之类的DDNS动态解析软件,无论是套件中心或者是docker拉取都可以。因为IPV6地址不是固定的,在路由器中有租期的,每隔一段时间变换一次,所以要用到DDNS动态解析软件,当IPV6地址变动时,软件就可以及时变化,并解析到域名中。
④安装启用DDNS-GO软件后,输入你从云服务商得到的accesskey,把它粘贴复制到里面,在ipv4和ipv6中填上你刚刚解析完的域名,之后保存并等待10分钟或者更久一点(一般你默认设置的TTL是10分钟,也就是默认10分钟解析一次)。之后尝试着用手机流量或者具有ipv6访问能力的家庭网络去输入你刚刚设置的网址,能访问就是大功告成了。
注:在IPV6+DDNS的解析中,你只能用IPV6的网络去访问同为IPV6的nas,用一般没有设置ipv6访问的家庭网络是不行的,一般来说就是手机流量,所以还是有些局限性的。
IPV6+DDNS的教程:BV1vW4y1v7uf