在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、Redmi路由器AC2100作为主路由,路由系统为Padavan,主要负责拨号、DHCP、WIFI等功能,网络地址为192.168.11.1。

2、群晖虚拟机vmm安装koolshare的Openwrt,单臂软路由作为旁路由,以实现zerotier等插件功能,网络地址为192.168.11.11。

3、将旁路由的网关指向主路由网络地址192.168.11.1,关闭DHCP和桥接;同时,将主路由的网关指向旁路由的网络地址192.168.11.11。通过主路由和旁路由互指网关实现。

二、旁路由设置

1、删除wan等接口,只保留lan接口。我这里保留了zerotier接口。

2、设置旁路由网关为主路由地址:192.168.11.1。

3、取消勾选lan接口的桥接接口。

4、禁用旁路由DHCP。

5、打开防火墙进行设置

6、防火墙添加自定义规则:iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE。至此,旁路由设置完毕。

三、主路由设置

1、路由器拨号并打开DHCP服务,网关设置为旁路由地址:192.168.11.11,设置DNS。

2、测试内网访问外网,同时测试外网访问内网以及openwrt插件。

四、收工。

我这里主要是使用了旁路由的zerotier插件功能,目前使用一直没问题,很稳定,内网无线有线连接也正常。在设置旁路由过程中走了很多弯路,如果你仍未跳坑,以上思路可借鉴给你,最后祝你成功!


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

原文地址: http://outofmemory.cn/tougao/11346903.html

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

发表评论

登录后才能评论

评论列表(0条)

保存