
之前一直以来,我都在使用 zerotier 搭建内部局域网,但是我也想,为什么我不能用 zeortier 的某个节点作为出站节点?经过几周的休息(?),这周然有空把这玩意做了。我分享一下具体细节。其实跟着官方文档走就不错了。
核心步骤就是配置转发和配置持久化问题。
# 加入网络 sudo zerotier-cli join <你的网络 ID> # 编辑配置文件 sudo nano /etc/sysctl.conf # 添加以下内容 net.ipv4.ip_forward = 1 # 重载配置 sudo sysctl -p # 验证设置 sudo sysctl net.ipv4.ip_forward ip link show export ZT_IF=zthnhhqofq # 你的 ZeroTier 接口名 export WAN_IF=eth0 # 你的外网接口名 # 启用 NAT sudo iptables -t nat -A POSTROUTING -o $WAN_IF -j MASQUERADE # 允许转发 sudo iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i $ZT_IF -o $WAN_IF -j ACCEPT # 安装 iptables-persistent 使规则持久化 sudo apt-get install iptables-persistent sudo netfilter-persistent save 0.0.0.0/0 via <你的路由节点 ZeroTier IP>~/.bashrc:tunnel() { sudo zerotier-cli set $nwid allowDefault=1 } notunnel() { sudo zerotier-cli set $nwid allowDefault=0 } 配置完成后,你可以通过以下命令检查 IP:
curl -4 ifconfig.co # 检查 IPv4 curl -6 ifconfig.co # 检查 IPv6 官方文档参考: https://docs.zerotier.com/exitnode/
我测试了一下,ip 的确变成了是出口节点的 ip 。
但是有一个问题:
google 和 youtube 我莫名其妙的无法访问。而 newbing 等其他网站却不受影响。 原因我还没有排查出来。
还有就是,这样的出站方式,中间流量由 zerotier 保证和控制。因此,实际上这样的流量路由转发,并没有主流的集中魔法协议的那种伪装防护功能。其实用性存疑。但是这给了一个如何利用 zerotier 的新思路。
1 xzpjerry731 2024-12-22 19:13:44 +08:00 我这样配用了很久了,你最后那个问题有可能是 DNS 的问题吧,试试在“出口节点”劫持全部 DNS 请求试试 |
2 Redhut 2024-12-22 20:55:11 +08:00 不能过墙,需要搭配其他协议伪装,国内还可以用用 |
3 anonymity 2024-12-22 22:43:34 +08:00 zt 会被 qos 吧 |
4 Levox 2024-12-22 22:47:04 +08:00 如果是 windows 如何作为网关? |
5 wtks1 2024-12-23 00:20:32 +08:00 现在 udp 别说跨境了,就算是跨省都被 qos 的惨不忍睹 |
6 yunisky 2024-12-23 00:34:08 +08:00 我的玩法是,一定范围的区域内用 zt 组网 ,基本上形成 mesh 的效果,区域间另搞一个 zt 网络或者用 wg 充当骨干,区域间的连接选互联延迟最低+带宽最大+性价比最高的节点互联 区域内所有节点 ospf ,区域间节点 bgp ,在边界上的节点 ospf+bgp 双向引入 这样基本上形成了一个有点大的私网,在这个私网里的某些节点上装 ipsec 并做 NAT ,基本上从任何一个节点接入之后,就可以从其他任意一个部署了 ipsec 的节点出局了 试了一下,虽然网络本身对系统资源消耗有点大,但是确实可用 |
7 xdeng 2024-12-23 09:30:05 +08:00 frp 是不是也能解决 |
8 sbboy 2024-12-23 10:07:22 +08:00 我有个 zerotier 的问题想请教一下,我有同一网段下的两台机器,它们都安装了 zerotier ,它们之间用路由器分配的 IP 测速有千兆的网速,zerotier 显示直连,zerotier IP ping 延迟比路由器 IP ping 略高 0.5ms 左右,但是 zerotier IP 之间测速就不到百兆,还不稳定,请问这该怎么办呢? |
9 starryloki 2024-12-23 10:17:18 +08:00 @sbboy 排查一下 MTU 是否正确 |
10 fortitudeZDY 2024-12-23 21:57:23 +08:00 这么看其实 tailscale 作了出口节点还是简化了很多,最多要求配置一下出口的 ip_forward ,不过折腾有折腾的快乐:) |
11 fortitudeZDY 2024-12-23 21:59:35 +08:00 而且 tailscale 如果启用出口,会把本机的 dns 上游设置为出口上 tailscale 暴露在仅 tailscale 成员可访问的 doH ,这样在某些场景上还是非常方便的 |
12 Doiiars OP @xzpjerry731 请问这个具体如何操作? |
13 xzpjerry731 360 天前 via iPhone @Doiiars clash 和 surge tun 模式都支持 dns hijack ,直接配*:53 就行 |
14 Doiiars OP 。。。为什么我无法回复了。 |
15 Doiiars OP 我说一下如何解决这种情况下的 dns 问题 打开 53 端口的防火墙,允许 DNS 流量。 重定向来自 ZeroTier 网络的 DNS 流量到本地 DNS 服务器。 持久化 DNS 配置,确保规则和配置在重启后依然生效。 |