无法通过 OpenVPN 访问互联网

无法通过 OpenVPN 访问互联网

我已经设置了一个 openvpn 服务器,生成了一个证书并将其下载到我的客户端计算机。

在网络管理器中导入 client.ovpn 文件后,我仍然可以 ssh 到服务器本身,但无法访问互联网。

在我服务器的 openvpn 中服务器配置文件, 我有:

 push "redirect-gateway def1 bypass-dhcp"
 push "dhcp-option DNS 208.67.222.222"
 push "dhcp-option DNS 208.67.220.220"

全部未注释。

在全球范围内系统配置文件文件我也有:

net.ipv4.ip_forward=1

我在配置方面有什么遗漏的吗?我可以做什么来帮助调试问题?

答案1

在您的服务器上,net.ipv4.ip_forward=1这还不够,它只启用转发代码。您仍然必须告诉内核(通过 iptables)它允许转发什么、从谁转发以及转发到哪里。您应该阅读Linux IP 伪装指南

如果你想重定向全部通过 VPN 连接的网络流量(如果您连接到不受信任的网络,出于安全原因有时需要这样做,但通常不需要,因为它可能非常慢)。如果您想在连接到 VPN 的同时通过普通网络访问互联网,请务必选中“仅将此连接用于此网络的资源”(这可能不是确切的句子,我是从法语翻译的)单击“路由...”按钮(位于网络管理器小程序中 VPN 连接设置的“IPv4 设置”选项卡底部)后出现的弹出窗口。

答案2

我使用以下 iptables 规则从我的 ovpn 服务器转发流量

IPT=$(其中 iptables)
WWW=“eth0”
${IPT} -A 输入 -i ${WWW} -p udp --dport 1194 -m 状态 --state 新 -j 接受
${IPT} -A 输入 -i tun0 -j 接受
${IPT} -A 转发 -i tun0 -o ${WWW} -j 接受
${IPT} -A 转发 -i ${WWW} -o tun0 -j 接受

相关内容