![OpenVPN - 可以连接但无法 ping 或访问服务器](https://linux22.com/image/1245267/OpenVPN%20-%20%E5%8F%AF%E4%BB%A5%E8%BF%9E%E6%8E%A5%E4%BD%86%E6%97%A0%E6%B3%95%20ping%20%E6%88%96%E8%AE%BF%E9%97%AE%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
我在使用 openvpn 时遇到了问题。我有 Ubuntu 服务器和 Windows 客户端。服务器上的配置文件如下所示:
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
verb 3
client-to-client
push "redirect-gateway def1"
客户端计算机上的配置文件:
dev tun
client
proto tcp
remote vpn.domain.com 1194
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
ca ca.crt
cert marten.crt
key marten.key
verb 3
当我尝试连接时,一切似乎都正常。客户端已连接,并且 IP 在 VPN 范围内。问题是我无法 ping 或连接到服务器或其他客户端。日志文件中没有任何可疑内容。有人可以帮助我或为我提供可用的配置文件吗?
答案1
我上周也遇到了同样的问题。当我将 OpenVPN 服务器配置文件中的以下行从
push "redirect-gateway def1"
到
push "redirect-gateway def"
答案2
看来你已经回答了自己的问题:
客户端已连接并且拥有 VPN 范围内的 IP。
通常,VPN 客户端有自己的 IP 范围,如您的配置 (10.8.xx)。您应该在服务器上设置路由,例如,10.8.0.1 将被伪装成 10.10.0.100 或您的本地内联网范围...
答案3
我 100% 确定是你的防火墙出了问题,因为我也遇到过同样的事情。如果你已连接,则一切正常。防火墙很可能只对 VPN 开放,并拒绝其他所有连接。
答案4
虽然改为def1
工作def
(因为现在该选项不起作用),就我而言,解决方法是取消注释topology subnet
:
# Network topology
# Should be subnet (addressing via IP)
# unless Windows clients v2.0.9 and lower have to
# be supported (then net30, i.e. a /30 per client)
# Defaults to net30 (not recommended)
topology subnet
注意,它说默认是net30
,而建议是subnet
。