设置具有 tls 身份验证和 ip 转发的 openvpn 服务器。
我可以正常连接到 VPN 服务器,但无法访问任何外部连接
我无法成功 ping 通8.8.8.8
Google 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 服务器推送到客户端,帮助解析地址