场景:家里的设备(如路由器)和 vps 上都装了 zerotier 且 vps 上装了梯子(如 ss、naive 等),解决手机等只能在梯子和 zerotier 只能二选一连接的问题
zerotier、梯子等安装教程一大把,过程省略,只要能让家里和 vps 能通过 zerotier 互相访问即可。
vps 设置
环境:Debian 12,防火墙 nftables
1、如果用的是 ss,在 /etc/nftables.conf
参考下面规则添加到防火墙:
table inet filter {
chain input {
type filter hook input priority filter;
}
chain forward {
type filter hook forward priority filter;
}
chain output {
type filter hook output priority filter;
ip daddr 192.168.1.0/24 accept;
}
}
其中 192.168.1.0/24
为家里的路由器网段,如果是某个设备,修改为该设备的 ip 即可。
2、如果用的是 naive
2.1、先按照第一步添加防火墙规则
2.2、起一个 socks5 服务器,我这里使用的是 glider:
glider -verbose -listen 127.0.0.1:8443
请确保该端口不要暴露在公网上,否则不要省略 127.0.0.1
。
2.3、caddy 配置参考:
{
order forward_proxy before file_server
}
:443, example.com {
tls me@example.com
forward_proxy {
basic_auth user pass
hide_ip
hide_via
probe_resistance
upstream socks5://127.0.0.1:8443
}
file_server {
root /var/www/html
}
}
梯子客户端设置
确保让家里的内网 ip(192.168.1.0/24
)走代理即在代理规则内,通过内网 ip 即可访问家里的设备。
同理,其他梯子也可以参照同样的方式回家。