Wireguard将真实IP传递给DNS服务器

时间:2019-06-18 21:00:54

标签: wireguard

我有一个自定义DNS服务器,它可以对用户进行身份验证(基于IP地址,因为我们没有其他方法)。问题是我无法在移动设备上使用它(除非在wifi上),因为您无法在移动互联网上设置自定义DNS服务器。

我对此问题的解决方案是还创建一个使用DNS服务器的Wireguard服务器。我连接到VPN,并在vpn配置中指定DNSServer作为该连接的DNS服务器。一切正常,但是我的DNS服务器(如预期)从本地客户端接收查询,例如10.0.20.3。有什么方法或配置/ iptables奇迹可以使我对DNS服务器透明并传递真实/公共ip地址吗?

Wireguard服务器cfg:

[Interface]
PrivateKey = xxXXxx
ListenPort = 51820
Address = 10.0.0.1/24
SaveConfig = false
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
PublicKey = yyYYyy
AllowedIPs = 10.0.0.2/24

0 个答案:

没有答案