通过好些天的研究,终于把OpenVPN配置成功了。记录一下遇到的坑
1. 按照网上找的安装步骤一步一步安装,但是最终链接不上VPN。提示权限错误。
解放方案:
A. 配置中未加上 tls-auth ta.key 0,生成方式:openvpn --genkey --secret ta.key,客户端添加配置:tls-auth ta.key 1
B. 使用的客户端版本不对,使用Tunnelblick,openVPN的版本不对,改使用Viscosity,链接成功
同时命令行客户端的链接命令为:/usr/local/Cellar/openvpn/2.4.8/sbin/openvpn tdvpnuser.ovpn
2. 客户端报错:
WARNING: Split DNS is being used however no DNS domains are present. The DNS server/s for this connection may not be used. For more information please see: https://www.sparklabs.com/support/kb/article/warning-split-dns-is-being-used-however-no-dns-domains-are-present/
解决方案:DOS设置的不对,使用了阿里的DNS,添加配置: push "dhcp-option DNS 223.5.5.5",
3. 连上VPN后,并没有使用VPN上网
解决方案:去掉配置注释:push "redirect-gateway def1 bypass-dhcp"
4. 链接上VPN只能ping通虚拟IP,不能ping通openvpn server上的物理网卡上的ip
解决方案:因为openvpen的路由设置错误,在配置中添加。 push "route 172.17.0.0 255.255.240.0"
因为物理网卡的网址的淹码是255.255.240.0,所以想了很长时间算出IP所在的网段(扔了好长时间的知识),IP网段设置好后,就可以ping通物理网卡的IP了
5. 不能上网,也不能ping通与openvpn server同网络的其他其他的ip
解决方案:添加路由规则:iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables非常好的教程
下面分别是配置文件
server配置
6. 如果需要多个用户使用同一个证书,打开 duplicate-cn 配置。
至于怎么生成的加密文件,请自行搜索,网上有很多教程