OpenVPN 已连接但无法访问服务器

OpenVPN 已连接但无法访问服务器

我的 OpenVPN 服务器已连接,我仍然可以访问互联网,但无法访问 LAN 上的任何服务器。

我有一个虚拟网络,其 IP 范围为172.31.0.0/16

此 VNET 有 3 个子网,分别是:

  • 172.31.0.0/24
  • 172.31.1.0/24
  • 172.31.0.0/24

不去往 VNET 的流量不需要经过 VPN。

服务器配置文件

port 1194
proto udp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key  # This file should be kept secret
dh /etc/openvpn/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"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
tls-auth /etc/openvpn/ta.key 0 # This file is secret
cipher AES-256-CBC
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 3

iptables

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

客户

client
dev tun
proto udp
remote X.X.X.X 1194
route 172.31.0.0 255.255.0.0 vpn_gateway 3
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
tls-auth ta.key 1
ns-cert-type server
cipher AES-256-CBC
comp-lzo
verb 1 

IP转发配置如下所示:

$ cat /proc/sys/net/ipv4/ip_forward
  1

答案1

你的 IP 转发设置为何?

cat /proc/sys/net/ipv4/ip_forward

如果是 0 那么你需要做

echo 1 > /proc/sys/net/ipv4/ip_forward

答案2

我设法解决了这个问题。似乎在客户端配置中启用了 comp-lzo 但没有在服务器配置中启用,导致它无法工作。在服务器上启用它解决了这个问题。

相关内容