我已经按照本教程设置了 OpenVPN,并且一切运行正常,只是在连接到 VPN 时客户端上没有互联网连接。
我的 VPS 服务器配置如下(Ubuntu):
dev tun
proto udp
port 1194
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
user nobody
group nogroup
server 10.8.0.0 255.255.255.0
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
client-to-client
push "redirect-gateway local def1"
#set the dns servers
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
log-append /var/log/openvpn
comp-lzo
plugin /usr/lib/openvpn/openvpn-auth-pam.so common-auth
我的客户端配置如下(Windows 7):
dev tun
client
proto udp
remote XXX.XXX.XXX.XXX 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert stefan.crt
key stefan.key
comp-lzo
verb 3
auth-user-pass
redirect-gateway local def1
为了测试目的,我关闭了服务器上的防火墙(但没有帮助),并在客户端上尝试了有线和无线连接。
我尝试过很多 Google 搜索结果...但似乎没有什么帮助。
你能帮助我吗?
到目前为止,谢谢...
答案1
如果你按照配置(指令redirect-gateway
)通过 VPN 推送所有互联网流量,则还需要告诉服务器使用 iptables 路由流量,如下所示:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
根据您的要求进行调整,但这就是它的要点。