客户端无法通过 OpenVPN 访问互联网

客户端无法通过 OpenVPN 访问互联网

客户端都可以通过OpenVPN连接。

OpenVPN 服务于以下池:服务器 10.8.0.0 255.255.255.0

我已经使用以下规则配置了服务器的 iptable:

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

echo 1 > /proc/sys/net/ipv4/ip_forward

这在我以前使用的 VPS 上曾经有效。现在我已迁移到具有 ipv6 连接的 VPS。

Ipv6 是否与客户端无法访问互联网有关?

答案1

我遇到了同样的问题,它是由以下 iptables 规则引起的:

iptables -A FORWARD -j DROP

为了解决这个问题,我在上述规则之前添加了这些规则:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables -t filter -A FORWARD -i tun0 -o eth0 -j ACCEPT
iptables -t filter -A FORWARD -i eth0 -o tun0 -j ACCEPT
iptables -A INPUT -i tun0 -j ACCEPT

另外,请确保执行以下操作:

echo 1 > /proc/sys/net/ipv4/ip_forward

答案2

嗯,客户端有重定向网关选项: http://openvpn.net/index.php/open-source/documentation/howto.html#redirect

虽然听起来你已经做到了这一点。你已经设置了 NAT,但是防火墙呢?

iptables -t filter -A FORWARD -s 10.8.0.0/24 -o eth0 -j ACCEPT

...应该这样做(尽管您可能需要根据您的要求进行一些限制)。或者按照界面方式进行:

iptables -t filter -A FORWARD -i tun0 -o eth0 -j ACCEPT

此毯子接受所有进入 vpn 隧道适配器(在您的情况下可能不是 tun0)并发往互联网的流量。

答案3

我认为您的问题是由于 DNS 问题造成的,因为大多数具有本地 dhcp(VPN 之前的连接)的 NAT 设置在路由器上都有本地 DNS 转发,您需要设置服务器以通过以下选项将新的 DNS 服务器推送到客户端:

按“dhcp-option DNS”。

这样,主机就不再尝试从远程 VPN 服务器连接到本地(私有 IP)。

相关内容