由于我没有公网 IP,因此我尝试使用 zerotier 构建 VPN。我家里有一台安装了 zerotier 的华硕路由器,它使用 ip ( 192.168.195.208
) 接入网络。我目前正尝试通过路由器引导虚拟网络上的所有流量,并将其用作 DNS。
我在办公室的 MacBook 上进行测试,并尝试在控制面板上设置一些 DNS 规则,以便 YouTube 使用我的路由器作为 DNS,但不起作用,我在路由器上运行 tcpdump 时可以看到查询仍然是本地 DNS。然后我手动将 DNS 修改为192.168.195.208
。我可以看到路由器接收具有正确 dst 的 dns 查询,192.168.195.208
但它根本没有响应,而家里的所有其他设备都正常。
我真的不知道这是怎么发生的。连接一切正常,我甚至可以很好地使用 PS5 进行流式传输。我还检查了 iptables,似乎没有规则会导致查询被丢弃。我在网上搜索了几天,但找不到解决方案。
答案1
我觉得我搞明白了。这是路由器上的 dnsmasq 的配置。它没有监听 zerotier 的接口。
就我而言,我检查了 dnsmasq 的配置文件
/etc/dnsmasq.conf
。
这里有一行指向自定义配置的目录。
conf-dir=/jffs/configs/dnsmasq.d
然后在该目录下创建一个文件,my.conf
其中包含一行interface=zt_interface
。您可以使用来检查名称ifconfig
。
然后运行service restart_dnsmasq
重新启动dnsmasq服务。问题解决。