如何在openwrt路由器上安装使用openconnect客户端?
系统环境:OpenWrt 19.07.1
硬件:极路由1S
一、路由器刷机
在OpenWrt官方网站选择适合自己路由器的固件,然后刷机。
我用的极路由1s的芯片是MT7620,型号为HC5661,所以选择如下固件:
二、安装openconnect
putty连接路由器,输入以下命令:
opkg update
opkg install luci-proto-openconnect openconnect
三、openconnect设置
1、OpenWrt 官方的设置说明:
openconnect2.PNG
2、在interface中建立一个新接口,根据官方说明,最好命名为ocvpn,协议选择OpenConnect(CISCO AnyConnect)。
openconnect3.PNG
3、OpenWrt 图形界面设置如下:
openconnect1.PNG
注:如果你填写的是用户名和密码,则不需要填写用户证书和用户密钥。
四、附加说明:
1、VPN server sha1 的获取:
在linux终端中输入以下命令(用你自己的vpn server地址和端口取代vpn.example.com:443):
openssl s_client -connect vpn.example.com:443 -showcerts 2>/dev/null </dev/null | awk '/-----BEGIN/,/-----END/ { print $0 }' | openssl x509 -noout -fingerprint -sha1 | sed 's/Fingerprint=//' | sed 's/://g'
2、你可能需要用到证书分离:
p12(或者pfx)文件里一般存放有CA的根证书,用户证书和用户的私钥
假设我们有一个test.p12文件,在安装了openssl的linux终端上执行以下命令:
提取用户证书:
openssl pkcs12 -in test.p12 -clcerts -nokeys -out cert.pem
提取私钥:
openssl pkcs12 -in test.p12 -nocerts -out key.pem
根据OpenWrt的要求,必须清除秘钥中的密码
openssl rsa -in key.pem -out newkey.pem
3、将pem文件用SCP程序上传到路由器的/etc/openconnect目录下,官方要求pem文件要命名为:user-cert-vpn-ocvpn.pem和user-key-vpn-ocvpn.pem。
或者直接将其base64编码(用记事本打开pem文件即可获取)粘贴到图片所示的输入框中。