搭建一个个人的内网环境
前言
随口说几句
对于nas而言,网上大部分外网访问方案主要分为内网穿透和异地组网。我主要倾向于异地组网方案,个人认为更加的安全。由于我长期在学校里,学校的ap隔离非常恶心(tailscale打不通,是的,直接timeout),并且我意外的测试出easytier能够打通连接,而且配置一个中转会更加稳定。而且不知什么原因似乎公共的服务器不是很稳定且大部分都不能中转流量,这个对无法p2p的时候非常灾难。所以我尝试做了可以脱离et公共体系的异地组网lucky可以实现在nat1,upnp或nat-pmp的环境下打开公网端口;easytier负责异地组网
实现这个方案,你需要:
- 多台安装了easytier客户端的设备
- 一台网络环境为
公网或者nat1或者上游开启了upnp且打通后为公网或nat1,24小时长期在线的设备,用于做中继服务器 - 一个域名(可选)
- 中继服务器上已安装好lucky(可选)
如果你的中继服务器为固定公网ip可以不需要域名,如果是动态的那么需要域名做ddns。如果是nat1或者是upnp环境那么安装lucky来穿透端口。个人建议如果公网是ipv6还是配一个域名比较好
网络环境为公网可以不用检查网络环境和写穿透规则,直接tcp://ip:11010即可
检查网络环境
我们需要先检测设备的stun,首先我们打开lucky,点击 内网穿透里面的stun内网穿透
然后点NAT类型检测
然后选多个服务器多测试几遍,这个有些服务器不是很准。如果大部分显示NAT1那么就可以直接去写穿透规则了,否则需要在路由器开启upnp和nat-pmp后,在终端执行下面的指令
| |
- UPnP 成功:输出
[UPnP] Supported / Responding,并伴随Found valid IGD、ExternalIPAddress之类内容 - UPnP 失败:输出
[UPnP] Not detected or disabled,常见是No IGD UPnP Device found on the network - NAT-PMP 成功:输出
[NAT-PMP] Supported / Responding,并伴随Public IP address或using gateway - NAT-PMP 失败:输出
[NAT-PMP] Not detected or disabled,常见是超时或readnatpmpresponseorretry returned ...
只要其中一个成功就可以写穿透规则了
穿透规则
先点添加穿透规则,然后如下图配置
然后点添加,可以重复操作来添加udp
添加后等一会就能打通了
出于不知名的原因,我需要
禁用通道有效性检测,原因我不清楚,但是不禁用就会陷入lucky设计的重启规则的死循环,而且很奇怪的是通道是通的
我是浙江联通,实测下来tcp连接成功率感人但是udp稳定,一般不都是udp不稳定但是tcp稳定吗……
配置DDNS
由于我是动态ipv4和动态ipv6,而且我不喜欢填ip就是懒😆 ,所以我选择配置ddns。此处我使用托管在cloudflare的域名
首先切换到动态域名,再点击添加任务,填写cf的用户key
启用{ipv6Addr}和{ipv4Addr}
然后写一个ipv6(AAAA)的同步记录,我建议用子域名,比如et1.example.com。备注随便写只要记得住就行。之后点添加任务
然后添加一个txt记录
备注随便写,自己看的懂就行。记录名是之前的子域名,记录内容是udp://{STUN_easytier_ADDR}
此处换tcp只要把udp换了就行。{STUN_easytier_ADDR}类似于环境变量,其中
easytier是穿透规则的规则名称,比如说写的名称是et那就写{STUN_et_ADDR}
对于ios设备是不支持txt://协议的,所以说我们要换一个方案。我是直接在动态域名里面直接写A解析和AAAA解析的,然后用tcp://et1.example.com:11010和udp://et1.example.com:11010来连到中继服务器
创建easytier虚拟内网
先登录到easytier控制台
登录成功后,点设备列表,应该会有一台设备,点击那个设备的设置(小齿轮),创建新网络

虚拟ipv4地址:关闭DHCP,填一个内网ip,比如说:192.168.66.1网络名称,网络密码:自己想一个,记住网络方式:这个地方是写中继服务器的地址的,写txt://et.example.com
高级设置可以直接抄我的,主要是选启用私有模式
然后按照这个格式改一下ip比如说192.168.66.2来配置其他设备就行了