openvpn 客户端无法访问外部互联网

openvpn 客户端无法访问外部互联网

设置具有 tls 身份验证和 ip 转发的 openvpn 服务器。

我可以正常连接到 VPN 服务器,但无法访问任何外部连接

我无法成功 ping 通8.8.8.8Google DNS 服务

但我知道我可以连接到 VPN 服务器:

tcpdump -i tun0

我的 vpn 接口在哪里tun0,我可以看到从我的客户端传入的数据包。但问题是我的 iptables 链被逆转了

这是我的旧 iptables

-A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE
-A INPUT -i lo -j ACCEPT
-A INPUT -d 127.0.0.0/8 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p udp -m udp --dport 2345 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 2345 -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
-A INPUT -j DROP
-A FORWARD -j DROP
-A FORWARD -i eth0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 10.0.0.0/24 -o eth0 -j ACCEPT
-A OUTPUT -j ACCEPT
COMMIT

你会发现这是倒退的

-A FORWARD -j DROP
-A FORWARD -i eth0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 10.0.0.0/24 -o eth0 -j ACCEPT

在任何转发的数据包被接受之前,它会被立即丢弃,只需将其反转即可解决问题

-A FORWARD -i eth0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 10.0.0.0/24 -o eth0 -j ACCEPT
-A FORWARD -j DROP

一旦我修好了它,其他一切都正常了。唯一的问题是我感觉有点傻

答案1

您是否尝试过通过 ip 访问网站/服务器以排除 DNS 作为错误源?如果可行,请尝试将其添加push "dhcp-option DNS 8.8.8.8"到您的 server.conf 中。这会将 Google-DNS 服务器推送到客户端,帮助解析地址

相关内容