我有一个远程服务器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 reloadiptables的
为了允许通过你的服务器的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