已连接到 openvpn,但没有互联网连接

已连接到 openvpn,但没有互联网连接

我在远程服务器上安装了 openvpn,它是 Arch Linux。我可以连接到它,但连接后没有互联网,这意味着,当我打开浏览器并尝试加载网站时,它会在“查找...”时出现问题

两边都没有错误。据我所知,服务器不在 NAT 后面,而我(客户端)在 NAT 后面。

服务器上没有防火墙。

我认为与路由、转发有关吗?

答案1

当你在客户端和 VPN 服务器之间创建 VPN 连接时,两者之间会形成一个专用网络,地址以 192.168.xx、10.xxx 或 172.16.xx 开头

当您想要将流量从 VPN 客户端路由到全球互联网时,您必须在服务器上使用 NAT,以便将 VPN 客户端的私有网络地址转换为服务器的公共 IP 地址。

这与您的客户端连接是否位于 NAT 之后无关。

因此,除了安装 VPN 软件之外,您还需要在服务器中添加 NAT 的防火墙规则。

答案2

我检查了你的日志,没有发现任何问题。但你说有No firewall on the server。这可能会导致问题,因为你应该启用转发才能使 NAT 正常工作。以下是指导

联邦快递

为了配置 VPN 流量的 ufw 设置,首先将以下内容添加到 /etc/default/ufw:

DEFAULT_FORWARD_POLICY="ACCEPT"

现在更改 /etc/ufw/before.rules,并在标题之后和“*filter”行之前添加以下代码。不要忘记更改 IP/子网掩码以匹配 /etc/openvpn/server/server.conf 中的 IP/子网掩码。示例中的适配器 ID 通常称为 eth0,因此请根据您的系统对其进行相应编辑。

/etc/ufw/before.rules

# NAT (Network Address Translation) table rules
*nat
:POSTROUTING ACCEPT [0:0]

# Allow traffic from clients to eth0
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

# do not delete the "COMMIT" line or the NAT table rules above will not be processed
COMMIT

打开OpenVPN端口1194:

# ufw allow 1194

最后,重新加载 UFW:

# ufw reload

iptables

为了允许 VPN 流量通过服务器的 iptables 防火墙,首先在服务器上创建 NAT 转发 [3] 的 iptables 规则,假设您要转发到的接口名为 eth0:

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

不要忘记在 sysctl 中启用转发

sysctl -w net.ipv4.ip_forward=1

答案3

也许是 OpenVPN Linux 客户端安装时的权限问题,因为它并没有创建隧道。 所以我自己做了一个(这是实际问题):

sudo ip tuntap add name tun0 mode tun
sudo ip link show

并在询问 VPN 用户名和密码后连接。

仅供参考,openvpn3 linux 客户端自动安装程序也可能对您有所帮助:https://github.com/OpenVPN/openvpn3-linux

相关内容