用tls auth和ip转发设置一个openvpn服务器。
我可以很好地连接到VPN服务器,但无法到达任何外部连接
我无法ping 8.8.8.8谷歌DNS服务
但我知道我可以连接到VPN服务器:
tcpdump -i tun0
tun0是我的VPN接口,可以看到来自我的客户端的数据包。 但问题是,我的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
一旦我修好了,其他的一切都很好。 唯一的问题是我觉得有点傻
你有没有尝试通过IP访问一个网站/服务器来排除DNS作为错误源? 如果这样做可以尝试在你的server.conf文件中添加push "dhcp-option DNS 8.8.8.8" ,这会将Google-DNS服务器推送到客户端,帮助parsing地址