DNSparsing发生在OpenVPN上不一致

这是我的OpenVPN服务器configuration:

port 1194 proto udp dev tun ca ca.crt cert server.crt key server.key dh dh4096.pem topology subnet server 10.224.127.0 255.255.255.0 # AKA 10.224.127.0/24 ifconfig-pool-persist ipp.txt push "route 10.0.0.0 255.0.0.0" push "dhcp-option DNS 10.0.9.102" push "dhcp-option DNS 10.0.8.186" push "dhcp-option DOMAIN dc1.lam.myname.net aws.myname.net myname.local" keepalive 10 120 comp-lzo max-clients 10 user nobody group nobody persist-key persist-tun status openvpn-status.log verb 3 cipher AES-256-CBC auth SHA256 tls-version-min 1.2 tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384 TLS-DHE-RSA-WITH-AES-256-CBC-SHA256 TLS-DHE-RSA-WITH-AES-128-GCM-SHA256 TLS-DHE-RSA-WITH-AES-128-CBC-SHA256 TLS-DHE-RSA-WITH-AES-256-CBC-SHA TLS-DHE-RSA-WITH_AES-128-CBC-SHA client-cert-not-required username-as-common-name plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so login 

我基本上想要做到以下几点:

  • 使用我们的内部DNS服务器进行名称parsing。
  • 10.224.127.0/24范围内分配客户端IP地址。
  • 只能通过VPN链路路由到10.0.0.0/8stream量。
  • 使用几个search域进行DNS查找。
  • 通用强化和好的encryption。
  • 使用PAMlogin。

所以它“基本上”的作品,有一些注意事项。 VPN服务器联机后,DNSparsing仅在几秒钟内运行,然后停止工作。 无论DNS是否工作,我都可以很好地路由TCP数据包。

为什么DNS只能在连接的前几秒钟工作? 我究竟做错了什么?

我打算使用的客户端是Linux和OSX。 我怎样才能将DNSparsing推送给他们呢?

由于OpenVPN的DNS推送选项只适用于Windows,我认为这是您的VPN客户端运行的操作系统。

这可能是(如@HåkanLindqvist提到的)某些软件会修改您的DNS设置。 这是安全相关软件(如防病毒软件)的常见function,因为假的DNS服务器可用于ie。 networking钓鱼攻击。 您必须自己find该应用程序,如果可能的话,从OpenVPN运行一个脚本,这将禁用连接时的DNS保护function。

另外,如果您使用PAM,则需要提供来自用户空间的凭据,因此OpenVPN不能作为Windows服务运行。 你只运行OpenVPN GUI或命令行? 你是否以提升的特权开始?

如果您想在UNIX客户端下使用服务器提供的DNS地址,则需要在OpenVPN上运行OpenVPN脚本,该脚本将读取OpenVPN环境,并将收到的值发送到/etc/resolv.conf 。 检查手册以供参考。 另一个select是在客户端本地安装dnsmasq ,并提供--server /LOCAL_DOMAIN/LOCAL_DNS_IP选项,这将提供仅在所选域中的主机通过VPN隧道parsing的名称。