Jod*_*255 9 linux vpn openvpn arch-linux
我在远程服务器上有 openvpn,它是 Arch Linux。我能够连接到它,但连接后没有互联网,这意味着,当我打开浏览器并尝试加载网站时,它会在“查找...”中获取库存
两边都没有错误。服务器不在 NAT 后面,据我所知,我是 - 客户端 - 是。
服务器上没有防火墙。
路由相关的东西,转发我图?
Ale*_*hev 16
我检查了你的日志,没有发现任何问题。但是你说有No firewall on the server
。这可能会导致问题,因为您应该为工作 NAT 启用转发。这是guide 的输出。
飞翔
为了配置 VPN 流量的 ufw 设置,首先将以下内容添加到 /etc/default/ufw:
Run Code Online (Sandbox Code Playgroud)DEFAULT_FORWARD_POLICY="ACCEPT"
现在更改 /etc/ufw/before.rules,并在标题之后和“*filter”行之前添加以下代码。不要忘记更改 IP/子网掩码以匹配 /etc/openvpn/server/server.conf 中的 IP/子网掩码。示例中的适配器 ID 通常称为 eth0,因此请相应地为您的系统编辑它。
/etc/ufw/before.rules
Run Code Online (Sandbox Code Playgroud)# 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:
Run Code Online (Sandbox Code Playgroud)# ufw allow 1194
最后,重新加载 UFW:
Run Code Online (Sandbox Code Playgroud)# ufw reload
iptables
为了允许 VPN 流量通过您服务器的 iptables 防火墙,首先在服务器上为 NAT 转发 [3] 创建一个 iptables 规则,假设您要转发到的接口名为 eth0:
Run Code Online (Sandbox Code Playgroud)iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
并且不要忘记在 sysctl 中启用转发
sysctl -w net.ipv4.ip_forward=1
Run Code Online (Sandbox Code Playgroud)
当您在客户端和 VPN 服务器之间创建 VPN 连接时,两者之间会形成专用网络,地址以 192.168.xx、10.xxx 或 172.16.xx 开头
当您要将流量从 VPN 客户端路由到全球 Internet 时,必须在服务器上使用 NAT,以便将 VPN 客户端的专用网络地址转换为服务器的公共 IP 地址。
这与您的客户端连接是否位于 NAT 之后无关。
因此,除了安装VPN软件外,您还需要在服务器中添加NAT的防火墙规则。
归档时间: |
|
查看次数: |
62743 次 |
最近记录: |