现在很多路由器支持刷成padavan,以支持更丰富的功能,比如广告过滤,打印服务,samba共享,内网穿透等。现在很多家庭宽带,运营商不再提供公网IP,如果在外需要访问家庭网络中的设备和应用,那么内网穿透和openvpn将是一个不错的解决方案,内网穿透仅能访问预先设定好的特定内网IP+端口,而openvpn则可以访问到整个内网,当然前提是openvpn的客户端得能连上openvpn服务器。有公网IP的不需要内网穿透,仅openvpn就可以了,如果没有公网IP,那么得需要内网穿透+openvpn。
一些朋友可能注意到了,在padavan上openvpn的配置界面可以申请证书,并有有效期的选项,CA证书你可以申请10年有效期,而客户端证书有效期你虽然可以申请10年有效期,但是如果你拿到证书去检查下,就会发现仅有1年有效期,实际使用中,一年以内没有问题,超过一年就无法通过认证建立连接了。如果你不想重新安装配置申请的话,其实有简单的处理办法,将客户端的证书有效期延长到10年。
首先,你可以下载client.ovpn文件,里面包含有3段证书相关内容,分别是ca.crt,client.key,client.crt,可以用文本编辑软件将具体内容提取出来存为这3个文件。另外ssh到padavan上,从/etc/storage/openvpn/server下拷贝出ca.key
接下来你需要电脑上安装openssl软件,以下以windows版本为例:
openssl x509 -in client.crt -signkey client.key -x509toreq -out newclient.csr
openssl x509 -req -in newclient.csr -out newclient.crt -CA ca.crt -CAkey ca.key -CAcreateserial -days 3650
将生成得newclient.crt文件内容替换到原client.ovpn中client.crt部分就可以得到一个10年有效的client.ovpn文件了
具体原理就是利用客户端证书和签名密钥生成证书请求文件,然后利用这个证书请求文件重新由ca签发下证书,有效期可以指定。得到的客户端证书会被openvpn server确认是ca签发,没有问题。
当然再说明一下,客户端证书有效期一般是比较短,1年很正常,因为时间越长风险越高,到期重新申请即可,当然我们直接给颁发10年期证书,是自己承担安全风险,主要是设备上不给颁发这么长时间的证书,我们自己动手实现罢了。