OpenVPN DNSparsing不起作用

我目前正试图获得一个简单的OpenVPN设置工作,我几乎在那里,除了我似乎有一个DNS(或路由)问题。

客户端连接到服务器就好了,我可以ping服务器(10.8.0.1)和互联网IP(8.8.8.8)。 当我尝试parsing任何域名时,问题就来了。 以下是VPN连接启动时发生的情况:

[test@localhost etc]$ dig www.google.ca ; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.3 <<>> www.google.ca ;; global options: +cmd ;; connection timed out; no servers could be reached [test@localhost etc]$ dig @<client network DNS server> www.google.ca ; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.3 <<>> @<client network DNS server> www.google.ca ; (1 server found) ;; global options: +cmd ;; connection timed out; no servers could be reached [test@localhost etc]$ dig @8.8.8.8 www.google.ca ; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.3 <<>> @8.8.8.8 www.google.ca ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6453 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;www.google.ca. IN A ;; ANSWER SECTION: www.google.ca. 299 IN A 172.217.1.3 ;; Query time: 32 msec ;; SERVER: 8.8.8.8 

据我所知,我从我的服务器推送DNS到我的客户端:

 push "redirect-gateway def1" push "dhcp-option DNS 8.8.4.4" push "dhcp-option DNS 8.8.8.8" 

而且我还build立了客户的路线:

 client-config-dir ccd route <client subnet IP> 255.255.255.0 

在我的客户端文件中:

 iroute <client subnet IP> 255.255.255.0 

我在服务器上的iptables规则:

 *nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE -A POSTROUTING -s <client subnet IP>/24 -o tun0 -j MASQUERADE COMMIT *filter -A INPUT -i eth0 -p udp -m state --state NEW -m udp --dport 1194 -j ACCEPT -A INPUT -i tun+ -j ACCEPT -A FORWARD -i tun+ -j ACCEPT -A FORWARD -i tun+ -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT -A FORWARD -i eth0 -o tun+ -m state --state RELATED,ESTABLISHED -j ACCEPT -A OUTPUT -o tun+ -j ACCEPT COMMIT 

我在sysctl中启用了IP转发。 不太确定从哪里看,所以任何见解都将不胜感激。

似乎你已经解决了这个问题 。 在这里重复为别人。 这些选项:

 push "dhcp-option DNS 8.8.4.4" push "dhcp-option DNS 8.8.8.8" 

如果没有合适的--up脚本,将无法在Linux客户端上运行。 所以有必要补充

 script-security 2 up /etc/openvpn/update-resolv-conf down /etc/openvpn/update-resolv-conf 

到客户端设置。 我认为指定的脚本就是这样的(UPD:在我的Kubuntu中,类似的东西已经安装在openvpn本身上了)