IKEv2是继pptp之后在所有系统自带的vpn工具中算是比较好的了,性能比l2tp,openvpn都要快,基于ipsec的加密也能保证数据安全。小沃这几天计划给公司的openwrt网关路由安装vpn方便公司员工远程办公,因此研究了下这个vpn。下面把研究的结果分享给大家,方便大家日后使用。
步骤一:安装相关软件
opkg update opkg install strongswan-minimal strongswan-mod-eap-mschapv2 strongswan-mod-eap-identity strongswan-mod-constraints strongswan-mod-md5 strongswan-mod-pem strongswan-mod-pkcs1 strongswan-mod-revocation
步骤二:生成自签名证书
1、机构证书 ipsec pki --gen --outform pem > ca.key ipsec pki --self --in ca.key --dn "C=com, O=myvpn, CN=companyhost" --ca --lifetime 3650 --outform pem > ca.crt 2、服务器证书 ipsec pki --gen --outform pem > server.key ipsec pki --pub --in server.key --outform pem > server.csr ipsec pki --issue --lifetime 3650 --cacert ca.crt --cakey ca.key --in server.csr --dn "C=com, O=myvpn, CN=192.168.1.1" --san="192.168.1.1" --flag serverAuth --flag ikeIntermediate --outform pem > server.crt 3、cmd打开"certmgr.msc",将ca.crt添加到“受信任的证书颁发机构”中去。 4、修改注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\RasMan\Parameters 添加一个名为的DWORD DisableIKENameEkuCheck,并将其值设置为1。 5、 cp ca.crt /etc/ipsec.d/cacerts/ cp server.key /etc/ipsec.d/private/ cp server.crt /etc/ipsec.d/certs/
步骤三:修改配置文件
/etc/ipsec.conf
conn myvpn keyexchange=ikev2 auto=add left=%any leftsubnet=::/0,0.0.0.0/0 leftauth=pubkey leftcert=server.crt leftsendcert=always right=%any rightsourceip=192.168.23.0/24,2001:db8::/97 rightauth=eap-mschapv2 rightsendcert=never rightdns=192.168.88.1,114.114.114.114 eap_identity=%identity leftupdown=/etc/strongswan.d/proxyndp.updown dpdaction=clear dpddelay=120s rekey=no fragmentation=yes ike=aes256-aes192-aes128-sha384-sha256-sha1-modp3072-modp2048-modp1536-modp1024! esp=aes256-aes192-aes128-sha384-sha256-sha1! forceencaps=yes
/etc/ipsec.secrets
: RSA server.key admin : EAP "123456"
步骤四:启动与测试服务
ipsec start --nofork
如果程序没有报错就安装成功了。
下面来说说IKEv2的缺点,大家可以看到,我以win10作为客户端来连接服务器,经过了导入证书以及修改注册表后,终于连接成功了,但是该方法通用性太差,大部分的使用者无法如此的使用该客户端。我以Android作为客户端时,输入了账号密码却无法点击确认键,可能某些组件没安吧。
思索再三,小沃最后决定更换vpn服务,如果期待小沃的文章,下一期小沃将讲述wireguard的搭建方法,性能与配置难度都远小于IKEv2。
文章作者:沃航科技