首先,我知道这个问题被问了至少一百万次。我已经尝试了许多解决方案,但仍然无法使我的VPN工作。当我连接到我的VPN时,我的客户端IP更改为VPN IP (预期)。但不会通过VPN路由所有的流量。我可以判断,因为我使用OpenDNS作为我的主DNS服务器,并使用他们的internetbadguys.com测试域来测试通过VPN的流量。我正在使用push标志在server.conf中:
push "redirect-gateway def1"
push "remote-gateway vpn_server_ip"
push "dhcp-option DNS 8.8.8.8"
keepalive 10 60在client.ovpn中:
push "redirect-gateway def1"此外,如果有帮助,我将使用AWS EC2实例来运行我的VPN。我不知道接下来还能做什么。希望有人能搞清楚这一点:)
提前感谢!
服务器和客户端信任如下:
服务器:
port PORT
proto udp
dev tun
ca ca.cert
cert server.crt
key server.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 172.31.0.0 255.255.0.0"
keepalive 10 120
tls-auth ta.key 0
key-direction 0
cipher AES-128-CBC
auth SHA256
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
# ROUTE CLIENT'S INTERNET ACCESS THROUGH THE SERVER
push "redirect-gateway def1"
push "remote-gateway vpn_server_ip"
push "dhcp-option DNS 8.8.8.8"
keepalive 10 60
crl-verify crl.pem客户端:
client
dev tun
proto udp
remote MY-SERVER-IP PORT
remote MY-SERVER-HOSTNAME PORT
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
remote-cert-tls server
comp-lzo
push "redirect-gateway def1"
verb 3发布于 2018-07-15 07:39:09
对于其他有此问题的人,您很可能需要启用服务器上的IP转发,因为默认情况下可能会关闭IP转发。
将其放入/etc/sysctl.conf:
net.ipv4.ip_forward = 1然后跑:
sysctl -p /etc/sysctl.conf这就解决了你的IP转发问题。如果您运行的是防火墙(可能是iptables),那么您可能想让NAT运行起来,所以请运行以下命令:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE将类似的内容放入/etc/sysconfig/iptables中以使其永久化:
*nat
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
COMMIT一切顺利,您的服务器正在转发您的客户端VPN流量。接下来你要做的就是把你的客户端浏览器带到whatismyipaddress.com,看看它显示的是亚马逊地址,然后放到www.dnsleaktest.com上,看看情况如何。如果您正在通过Google泄漏,您可能需要考虑在您的VPN服务器上运行一个简单的DNS缓存服务器,如果您希望匿名,请将您的客户端指向这个位置。
我希望这能帮上忙。
https://askubuntu.com/questions/1022770
复制相似问题