网络管理器 openvpn 使用本地 dns

网络管理器 openvpn 使用本地 dns

当您从网络管理器连接到 openvpn 时,它不会通过 vpn 加密 dns 请求,结果是 ubuntu 使用当地政府 dns 结果。

答案1

如果你已经设置了自己的VPN,那么可以在openvpn配置文件中修改以下行。

push "redirect-gateway def1 bypass-dhcp bypass-dns"

将其更改为

push "redirect-gateway def1 bypass-dhcp"

并更改默认配置:

push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"

push "dhcp-option DNS 10.8.0.1"

假设 10.8.0.1 是您为 vpn 客户端设置的网关。注意:通常您不希望 DHCP 通过 VPN,如果要通过,请同时删除旁路 dhcp。

另外,通过将以下内容添加到防火墙规则,确保您的服务器可以处理流量。

iptables -v -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

如果这些方法不能解决您的问题,那么您需要查看客户端的路由表,以确保 10.8.0.1 上的网关路由比客户端计算机上配置的网关(通常是 19.168.0.1 或类似地址)具有更低的度量。您可以修改非 VPN 网关并将其增加到更高的数字,度量值越低,路由优先级越高。

连接到 VPN 后,在客户端计算机上检查路由指标。

ip route
default via 10.8.0.1 dev tun0 proto static metric 50 
default via 192.168.0.1 dev enx00 proto dhcp metric 100 
default via 192.168.0.1 dev wlps proto dhcp metric 600 
10.8.0.0/24 dev tun0 proto kernel scope link src 10.8.0.4 metric 50 
100.77.34.23 via 192.168.0.1 dev enx00 proto static metric 100
....

如您所见,10.8.0.1 隧道的度量值最低,因此将首先尝试。接下来将尝试本地 ISP 以太网接口上的 192.168.0.1,依此类推。

相关内容