openvpn的工作模式
tap俗称网桥模式,tun俗称路由模式,tap在二层,tun在三层
1、tap可以直接使用route这样的路由表命令,但不能用于手机设备。
2、tun可以用于手机,但不能使用route这样的路由表命令,压根无法穿透。
3、tap和tun的路由配置区别,tap往往结合路由表进行设定下一跳,而tun则往往要和iptables集合紧密来实现下一跳。
所以,如果想要组件VPN实现路由命令进行路由网关的多级跳转,那么需要搭建tap网桥模式。
如果使用了tun模式,那么悲剧的东西要来了,想要实现nat转发,那么你只能选择使用iptables来实现。
openvpn报错及解决方法
警告1:Fri May 08 00:19:06 2020 WARNING: this configuration may cache passwords in memory – use the auth-nocache option to prevent this
配置文件设置了将密码存储在cache中,使用auth-nocache阻止这样的使用方式
解决方法:客户端配置文件添加
1 | auth-nocache |
警告2:Openvpn连接的时候提示:No server certificate verification method has been enabled错误
解决:客户端配置文件添加
1 | remote-cert-tls server |
警告3:报ROUTE: route addition failed using CreateIpForwardEntry: 至少有一个参数不正确应对
解决方法:客户端配置文件增加:
1 | route-method exe |
警告4:需要多个客户端使用一个证书连接服务端
解决:在server端添加配置
1 | 允许多个客户端使用相同证书连接 #常用于测试开启的话一个证书可以多个客户端连接 |
二、查看客户端证书状态
1 | find /etc/openvpn/ -type f -name "index.txt" | xargs cat |
吊销用户证书:
crl.pem存储的就是被注销的证书列表。我们每禁用一个客户端证书,OpenVPN就会向该文件中追加一个该客户端的加密标识
仅仅这样还是不够的,我们还需要在配置文件中告诉OpenVPN服务器,叫它以后与客户端连接的时候,记得通过crl.pem文件验证该客户端的证书是否已经被注销。因此,我们需要在服务器端的配置文件server.ovpn的最后一行加上
1 | crl-verify /etc/openvpn/certs/crl.pem |
1 | rm -f ${EASY_RSA_LOC}/pki/reqs/$1.req |