在 OpenVPN 中使用静态密钥配置时在客户端上设置 DNS 服务器

在 OpenVPN 中使用静态密钥配置时在客户端上设置 DNS 服务器

我正在为 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?

答案1

您可以添加一个或多个 DNS,

在服务器配置中添加以下行:

push "dhcp-option DNS 8.8.8.8"

或者用您自己的 DNS 服务器替换 8.8.8.8,如果您想使用私有或本地 DNS 记录,否则它将优先使用您的公共 DNS,而不是通过 VPN 隧道引导 DNS 流量。因为这会影响您连接后的正常互联网访问。

你可能需要重新考虑

push "redirect-gateway"

由于这会将所有流量重定向到 VPN 隧道,因此您可能只定向相关子网,而不是使用此选项。

答案2

您可以通过网络接口 dns 客户端设置从 OpenVPN 客户端设置 dns 客户端。

因此,该过程将根据操作系统而有所不同,并且可能会自动化。以下是 Windows 的一个典型示例,此链接

设置 DNS 客户端.cmd:

netsh interface ip set dns "Local Area Connection" static 1.2.3.4

netsh interface ip add dns "Local Area Connection" 5.6.7.8

这是我所知道的唯一(也是痛苦的)方法。

尽管这有点令人费解,但推动选项似乎无法使用静态键的一个背景可能是来自OpenVPN 文档

*Static Key disadvantages*
Limited scalability -- one client, one server

只是推测开发人员遇到了一些障碍,他们没有优先考虑它,当然假设这个发现是正确的。以下摘自静态密钥迷你指南似乎支持这样的假设:

Static key configurations offer the simplest 
setup, and are ideal for point-to-point VPNs
or proof-of-concept testing.

相关内容