我使用 OpenVZ 在 Ubuntu 14.04 VPS 上设置了 OpenVPN 服务器。我可以使用客户端建立与 VPN 的连接。我可以访问一些页面,例如 Google 和 Twitter,但很多网站无法加载。
我将其添加到 iptables 中:
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source my-server-ip
我的 server.conf 如下所示:
port 1194
proto udp
dev tun
ca ca.crt
cert my-cert.crt
key my-key.key # This file should be kept secret
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
答案1
首先尝试只使用一个 DNS 服务器。可能是其中一个 DNS 服务器不接受传入请求。在我的设置中,我只需将 dhcp-option DNS 指向我的 tun0“inet addr:”。在服务器上运行 ifconfig 以找出该地址是什么。类似于 10.8.xx.xx
答案2
这可能是通过客户端和服务器配置的设置来修复的。请参阅OpenVPN 常见问题解答问题“我可以 ping 通隧道,但任何实际工作都会导致它锁定。这是 MTU 问题吗?”
答案3
我的问题是我正在编辑 iptables 但从未保存它们(因为害怕弄乱以前的规则)。
通过使用这个:
sudo /etc/init.d/networking restart
我可以测试我的 iptables 是否正常工作而无需保存它们。