在Truenas中搭建Zerotier内网穿透

在Truenas中搭建Zerotier内网穿透,第1张

提到内网穿透,我了解的免费或者性价比高的方案有frp、nps、Ngrok、蒲公英、Zerotier。大部分方案都有限流、不稳定、部署难度大等问题。其中Zerotier各方面表现良好,部署难度低,客户端兼容三大主流平台、两大手机系统、常见NAS系统、路由器、Docker(WINDOWS、MAC OS、APPLE IOS、ANDROID、LINUX (DEB/RPM)、FREE BSD、Synology、QNAP、WD MyCloud、 Community OpenWRT Port 、 DOCKER ),个人认为是覆盖日常家用的全场景。而且在国内使用的场景通过搭建Zreotier moon,可以大幅度降低延迟。

但是用Turenas或者Freenas用户应该会有这样的烦恼,版本11.2-RELEASE之后,Zerotier在系统自带命令行、Jail环境下都部署失败,或者出现难以解决的BUG。

翻阅大量资料都没有Truenas或Freenas系统成功解决问题的方案。机缘巧合下看到司波图的视频。尝试通过Truenas安装docker环境,然后docker部署Zerotier实现内网穿透,自建虚拟局域网

最后发现该方案实现难度低、系统运行稳定。通过Zerotier,将虚拟局域网内24H运行的机器作为网关,顺利使用(手机电脑平板)外网连接家里局域网上任意主机(路由器、NAS、PC)。

这里引用知乎 Lulus 的教程

https://zhuanlan.zhihu.com/p/83849371

https://my.zerotier.com/

(1)Advanced中添加局域网网段。待Turenas或其它主机安装完Zerotier客户端后,添加对应Zeroyier分配的具体的主机ip(本地局域网网段 via Zerotier分配主机ip)

(2)Zerotier分配主机ip需要打开Allow Ethernet Bridging

Truenas里面安装CentOS 7 docker环境。

这里引用B站司波图的教程。一步步安装完CentOS 7及Portainer

https://www.bilibili.com/video/BV1JN411R7Gs

通过FinalShell,登录到CentOS7。安装zerotier-one-docker dockers应用

这里用Github里 henrist / zerotier-one-docker 提供的命令行

https://github.com/henrist/zerotier-one-docker

docker run \  -d \  --restart unless-stopped \  --name zerotier-one \  --device /dev/net/tun \  --net host \  --cap-add NET_ADMIN \  --cap-add SYS_ADMIN \  -v /var/lib/zerotier-one:/var/lib/zerotier-one \  henrist/zerotier-one

docker exec zerotier-one zerotier-cli status

docker exec zerotier-one zerotier-cli join NETWORK-ID

docker exec zerotier-one zerotier-cli listnetworks

写入内核

    vi /etc/sysctl.conf

    添加 net.ipv4.ip_forward = 1

    sysctl -p

CentOS 7防火墙放通转发

    iptables -I FORWARD -i 网卡名 -j ACCEPT

    iptables -I FORWARD -o 网卡名 -j ACCEPT

    iptables -t nat -I POSTROUTING -o 网卡名 -j MASQUERADE

    #网卡名可以在CentOS7中用 docker exec zerotier-one zerotier-cli listnetworks 或者 ifconfig 查询zt开头的网卡名

    iptables -I FORWARD -j ACCEPT

    iptables -A FORWARD -d 本地局域网网段 -j ACCEPT

    iptables -t nat -A POSTROUTING -s 本地局域网网段 -j MASQUERADE

    iptables -t nat -A POSTROUTING -d 本地局域网网段 -j MASQUERADE

    #添加本地局域网网段(192.168.1.0/24)

    iptables -A FORWARD -d ZeroTier分配网段 -j ACCEPT

  #添加 ZeroTier分配网段到iptables(10.147.17.0/24)

    iptables-save

    #保存iptables配置到文件,否则重启规则会丢失

    待续

参考链接:

https://zhuanlan.zhihu.com/p/83849371

https://www.bilibili.com/video/BV1JN411R7Gs

https://github.com/henrist/zerotier-one-docker

1、第一种方式,也是最简单的方式,在Linux的首页使用Ctrl+alt+T,打开终端。

2、第二种方式,通过“search your computer”功能搜索,terminal。

3、输入“ter”,可以看到,terminal终端出现了,单击打开。

4、可以鼠标左键terminal,拖到“search your computer”的下面,然后右键固定到“启动栏”中,就类似Windows的“锁定到任务栏” 这样就方便下次直接使用。

5、单击某个终端,然后Ctrl+d,发现可以关闭终端。

备注:我自己的电脑是Mac,服务器是Linux,学校的服务器有gateway。

2022-05-03 16:54:49 更新内网穿透。

说明:

连接顺序为:

笔记本-(内网穿透)->办公台式->linux 跳板机->linux 服务器

命令行可从以下links中寻找:

https://blog.csdn.net/sinat_42483341/article/details/117460203

https://fishc.com.cn/thread-159695-1-1.html

vscode如何通过跳板机连上服务器

配置跳板机,并配置服务器使通过跳板机连接。

配置完成。

如何查看内网IP

建立端口转发,使访问localhost:xxxx时可以通过端口转发到jupyter notebook的端口8888。

远程访问二跳节点的Jupyter Notebook

远程访问服务器 jupyter notebook 的设置方法

这里有个不错的教程:

https://segmentfault.com/a/1190000023095631

登陆官网 https://www.zerotier.com/ 注册账号。

查询内网和外网的IP地址:


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7602496.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-07
下一篇2023-04-07

发表评论

登录后才能评论

评论列表(0条)

    保存