想要拥有自己的大内网,但是却发现大部分设备都处于nat4网络中,p2p基本不可行
另外frp又过于繁琐,并且不加配置的话甚至导致数据明文传输
国内的公网服务器不备案又绑定不了域名也就开启不了https
个人背景:
家庭网络为nat4
拥有国内云服务商的公网服务器
国内不备案难以配置https
想要组建自己的大内网
不能接受明文传输数据的协议
于是找到了一个方便安全地访问内网服务的方法:p2p打洞软件的另外一个功能:打洞不成功走中转
经过简单的对比,发现easytier自建节点最为简单(它的每个节点既能当服务端也能当客户端),也就是说,同一个docker镜像就涵盖了所有功能
这里说得比较简陋,建议直接参考easytier的官方文档
需要一台公网服务器(如果不是nat4可以直接用官方节点,这里主要用于中转而不是p2p打洞)
如果你有docker,同一份镜像就可以既当客户端又当服务端,只需改动docker compose文件中最后一行命令,如下
command: -d --network-name <用户> --network-secret <密码> -p tcp://public.easytier.cn:11010 #客户端配置
下面是以私有模式启动自建节点,也可以不加--private-mode true作为公共节点给别人使用😋
command: --private-mode true --network-name <网络名字> --network-secret <密码> #服务端配置使用docker compose即可快速部署即插即用(建议去官方文档复制,避免时效性问题)
services:
watchtower: # 用于自动更新easytier镜像,若不需要请删除这部分
image: containrrr/watchtower
container_name: watchtower
restart: unless-stopped
environment:
- TZ=Asia/Shanghai
- WATCHTOWER_NO_STARTUP_MESSAGE
volumes:
- /var/run/docker.sock:/var/run/docker.sock
command: --interval 3600 --cleanup --label-enable
easytier:
image: easytier/easytier:latest # 国内用户可以使用 m.daocloud.io/docker.io/easytier/easytier:latest
hostname: easytier
container_name: easytier
labels:
com.centurylinklabs.watchtower.enable: 'true'
restart: unless-stopped
network_mode: host
cap_add:
- NET_ADMIN
- NET_RAW
environment:
- TZ=Asia/Shanghai
devices:
- /dev/net/tun:/dev/net/tun
volumes:
- /etc/easytier:/root
- /etc/machine-id:/etc/machine-id:ro # 映射宿主机机器码
command: -d --network-name <用户> --network-secret <密码> -p tcp://public.easytier.cn:11010另外,easytier还有windows的gui和安卓的gui等等,都内置了core,这样就很简单实现了全端互联
大内网组建成功!

不得不说阿里云这个学生券白嫖真香😋

开一个端口就能用了😋
