连接到 OpenVPN 后互联网停止工作

连接到 OpenVPN 后互联网停止工作

连接到 OpenVPN 后互联网无法工作。

我在 Linux 服务器上安装了 OpenVPN。并尝试从我的 Windows 10 连接到它。但连接后我无法打开任何网站。

我的客户端配置:

client
dev tun
proto udp
sndbuf 0
rcvbuf 0
remote <ip_removed> 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
auth SHA512
cipher AES-256-CBC
comp-lzo
setenv opt block-outside-dns
key-direction 1
verb 3
auth SHA512

服务器配置:

port 1194
proto udp
dev tun
sndbuf 0
rcvbuf 0
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
tls-auth ta.key 0
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
#push "redirect-gateway def1 bypass-dhcp"
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
cipher AES-256-CBC
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
crl-verify crl.pem

无需连接 VPN:

>nslookup
Address:  192.168.3.1

连接到 VPN 后:

>nslookup
Address:  8.8.8.8

ping 也不起作用。

服务器上的 IP 转发已启用:

# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

我的防火墙有下一条规则:

$ sudo ufw allow 22
$ sudo ufw allow 80
$ sudo ufw allow 443
$ sudo ufw allow 1194

 

root@me:~# cat /etc/rc.local
#!/bin/sh -e
iptables -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -I FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -I INPUT -p udp --dport 1194 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 ! -d 10.8.0.0/24 -j SNAT --to <external-IP-of-my-server>

哪里有问题?

答案1

您可以尝试使用工具进行调试(在 Windows 上,我认为traceroute它被命名为)。查看数据包被阻止的位置:如果出现服务器内部 IP(然后数据包丢失),则 IP 转发(服务器上的路由表、NAT)存在问题。如果没有出现服务器 IP,则服务器或客户端的防火墙存在问题。tracert10.8.0.1

如果您可以提供客户端和服务器的路由表,并用它ping来验证 VPN 内部客户端和服务器之间的可达性(iptables在服务器上添加允许 ICMP 的规则后),那就更好了。

答案2

您能从 Windows 客户端 (可能是 10.8.0.1) ping 您的 OpenVPN 服务器吗?

您是否在服务器机箱上具有伪装(也称为 NAT),并配置了防火墙以允许传出和传入的转发数据?

sysctl 中是否启用了 IP 转发?

答案3

关于防火墙规则

$ sudo ufw allow 22 
$ sudo ufw allow 80 
$ sudo ufw allow 443 
$ sudo ufw allow 1194

您允许从外部访问您的服务器。(SSH、HTTP(S) 和 OpenVPN)您不是允许从 vpn(可能是 tun0)转发到 Internet(可能是 eth0),并且您没有进行伪装(重写发件人地址)。

这是通过简单的 iptables 规则存档的,例如看这里: https://arashmilani.com/post?id=53

谨致问候 margau

相关内容