(Windows客户端)拨号 VPN(Windows作为客户端)(Remote Access IKEv2 证书).note
1、创建证书(需要携带IKE属性、Server Auth属性):
# 创建CA
/usr/lib/ssl/misc/CA.pl -newca如果客户端是Linux就不需要IKE这个属性、ServerAuth、ClientAuth属性都不需要
vim /etc/ssl/openssl.cnf
# IKE属性在debian中没有 oid的映射,只能够写完整的,这里没有得抄,只能背
# 部分字段可以这样查看到,但是查看不了IKE的oid字段(1.3.6.1.5.5.8.2.2):
openssl list -objects | grep ipsec
## linux默认有一个 ipsecIKE字段(...7.3.17),但是windows无法识别
2、配置 S2S:
1)将 根证书、证书、私钥,放到指定位置:
根证书、证书、私钥 必须被放到指定位置
cp vpn.crt /etc/swanctl/x509 //将证书放到 x509目录下
cp vpn.crt /etc/swanctl/private //将私钥放到 private目录下
cp ca.crt /etc/swanctl/x509ca //将根证书放到 x509ca目录下2)配置S2S:
需要定义一个 pools 地址池给隧道分配地址
apt install -y strongswan
# 配置对端FQDN公网地址的hosts解析:
echo "210.103.5.65 fr-edge.wsc2024.fr" >> /etc/hosts //对端地址
## 本地不要加本地地址的FQDN解析,127.0.1.1的建议也去掉一下,否则会解析成127.0.1.1的地址,导致无法建立
cd /etc/swanctl
vim swanctl.conf地址建议写FQDN:

调用pools地址池(地址池名为 ikev2,这个地址池在后面定义):



remote 使用默认的 %any 即可,认证方式为 证书



四个括号结尾,取消注释即可(默认就有4个括号)

定义 secrets 调用私钥:


定义 pools 地址池(这里地址池名为 ikev2):

# 服务端加载配置文件:
## 加载配置文件就行了,不需要 initiate发起连接
swanctl --load-all
·(可选)如果要跳过 证书吊销列表检查(默认就是跳过的):

取消注释即可
·(可选)配置重启自动连接:
在 children 下修改三个参数:


当 start_action = trap 时,就仅会在有流量时才建立连接(但是当restart strongswan之后,就会删除上一次的会话)
3、客户端连接:
rasphone地址写域名:

认证方式选择IKEv2,使用机器证书:

连接:

连接成功:

4、(可选)加上用户名密码登陆:
这里使用 EAP-MSCHAPv2
# 在前面的基础上配置:
vim /etc/swanctl/swanctl.conf1、改remote的身份认证方式为 eap-mschapv2
2、在secrets中加一个 eap 用户即可


swanctl --load-all·客户端连接:
认证方式设置为 EAP-MSCHAPv2:


连接成功:

·有一个问题:
这里有一个问题,客户端第一次输入用户和密码时不会连接成功(哪怕用户密码正确),只有在后续自动弹出的身份认证框输入密码才会连接成功,这是因为Windows客户端第一次连接时会发送匿名 EAP Identity,它不被linux接受
这个点其实问题不大,裁判评分时不可能只输入一次密码,他有可能输错密码5、(可选)调用 radius为后端做身份认证:
要安装插件:libcharon-extra-plugins
(1)配置 strongswan:
这里使用 eap-radius协议
# 也是在上面的基础上:
vim /etc/swanctl/swanctl.conf
## remote 认证方式为 eap-radius
不需要再在secrets 中定义 eap用户
·调用 radius:
# 安装插件:
apt install -y libcharon-extra-plugins
cd /etc/strongswan.d/charon
vim eap-radius.conf
systemctl restart strongswan(2)配置 radius:
我们这里的环境,radius的用户连接的是ldap
apt install -y freeradius
cd /etc/freeradius/3.0
vim users //虽然这里用的是ldap用户,但是还是要知道怎么打定义用户,直接进去复制一个即可
vim clients.conf
# 默认就开启了 mschap协议:
ls mods-enabled/mschapsystemctl restart freeradius·测试:
认证方式设置为 EAP-MSCHAPv2:

连接:

连接成功:


连接成功:
并且不会出现上面单独使用 eap-mschapv2的问题,直接就连接成功了
