连接到openvpn,但没有Internet连接

我有一个远程服务器openvpn,它是Arch Linux。 我可以连接到它,但连接后没有互联网,这意味着当我打开一个浏览器并尝试加载一个网站时,它正在“抬头……”

双方都没有错误。 服务器不在NAT后面,就我所知,我是客户端。

服务器上没有防火墙。

有关的路由,转发我的数字?

当您在客户端和VPN服务器之间创buildVPN连接时,也会在它们之间形成一个专用networking,地址从192.168.xx,10.xxx或172.16.xx开始

如果要将stream量从VPN客户端路由到全局Internet,则必须在服务器上使用NAT,以便将VPN客户端的专用networking地址转换为服务器的公用IP地址。

如果你的客户端的连接是在NAT之后,这是独立的。

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

我检查了你的日志,没有发现任何问题。 但是你说No firewall on the server 。 这可能会导致问题,因为您应该启用工作NAT转发。 这是从指南输出。

UFW

为了configuration您的VPNstream量的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的

为了允许通过你的服务器的iptables防火墙的VPNstream量,首先在服务器上为NAT转发创build一个iptables规则[3],假设你要转发的接口被命名为eth0:

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

并且不要忘记在sysctl中启用转发

 sysctl -w net.ipv4.ip_forward=1