我正在为 OpenVPN 使用静态密钥配置。但我无法设置 DNS 服务器。
我server.conf
的是:
port 3001
proto udp
dev tun
ifconfig 10.8.1.1 10.8.1.2
secret static.key
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
#user nobody
#group nobody
comp-lzo
daemon
push "redirect-gateway def1 bypass-dhcp"
我的客户是:
remote ###.###.###.### 3001
proto udp
dev tun
ifconfig 10.8.1.2 10.8.1.1
secret static.key
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
comp-lzo
redirect-gateway def1
如何在客户端设置 DNS?
您可以添加一个或多个 dns,
在服务器配置中添加以下行:
或用您自己的 dns 服务器替换 8.8.8.8,如果您想使用私有或本地 dns 记录,否则最好使用公共 dns,而不是通过 VPN 隧道引导 dns 流量。因为一旦您连接,这将影响正常的互联网访问。
您可能需要重新考虑
由于这会将所有流量重定向到 VPN 隧道,因此您可能只定向相关子网而不是此选项。
您可以通过网络接口 dns 客户端设置从 OpenVPN 客户端设置 dns 客户端。
因此,该过程将因操作系统而异,并且可能是自动化的。这是来自此链接的 Windows 的一个典型示例:
设置-dns-client.cmd:
这是我知道的唯一(也是痛苦的)方式。
尽管这有点令人费解,但推送选项似乎不适用于静态密钥的一个背景可能是OpenVPN 文档中的以下条目:
只是推测开发人员遇到了一些障碍并且他们没有优先考虑它,当然假设这个发现是正确的。Static Key Mini-HOWTO中的这个片段似乎支持这样一个假设: