标签:... etc -- HongKongESC --- pem client strongswan key
第一季 概念
为什么选择StrongSwan
1 Streisand 不支持 IKEv2
2 OpenV和WireGuard需要客户端pass(本人对客户端有抵触)
3 SoftEther 日本?
StrongSwan是基于OpenSource IPsec的V解决方案,使用IKEv2协议和IPSec。官网:https://www.strongswan.org/, 现在生产的大多数新设备都支持 IKEv2,包括Windows、MacOS、iOS和Android。
访问控制可以基于使用X.509属性证书的组成员身份,这是strongSwan独有的功能。它支持用于集成到其他环境(如 Windows Active Directory)中的EAP身份验证方法。strongSwan可以穿透NAT网络防火墙。
IPSec是虚拟私密网络(***)的一种,用于在服务器和客户端之间建立加密隧道并传输敏感数据之用。它由两个阶段组成,第一阶段(Phrase 1, ph1),交换密钥建立连接,使用互联网密钥交换(ike)协议; 第二阶段(Phrase 2, ph2),连接建立后对数据进行加密传输,使用封装安全载荷(esp)协议。
其中,第一阶段和第二阶段可以使用不同的加密方法(cipher suites)。甚至,第一阶段ike协议的第一版(ikev1)有两种模式,主力模式(main mode)和积极模式(aggressive mode),主力模式进行六次加密握手,而积极模式并不加密,以实现快速建立连接的目的。
第二季 行动
1、当前版本
[root@hk ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core)[root@hk ~]# uname -r3.10.0-1160.25.1.el7.x86_64
操作前的环境优化就不多提了,没做的去看我的优化文档,优化完再过来。
https://www.cnblogs.com/ordinaryRoadX/p/14905904.html
自从上次被内核源码编译坑了之后,再也不想碰源码了,用yum。
2、安装strongswan
yum install strongswan
3、生成IKEv2用证书
yum install openssl openssl-devel strongswan pki --gen --outform pem > ca.key.pem strongswan pki --self --in ca.key.pem --dn "C=CN, O=x, CN=CA" --ca --lifetime 365 --outform pem > ca.cert.pem strongswan pki --gen --outform pem > server.key.pem strongswan pki --pub --in server.key.pem --outform pem > server.pub.pem strongswan pki --pub --in server.key.pem | strongswan pki --issue --lifetime 365 --cacert ca.cert.pem --cakey ca.key.pem --dn "C=CN, O=x, CN=公网ip" --san="公网ip" --flag serverAuth --flag ikeIntermediate --outform pem > server.cert.pe strongswan pki --gen --outform pem > client.key.pem strongswan pki --pub --in client.key.pem --outform pem > client.pub.pem strongswan pki --pub --in client.pem | strongswan pki --issue --cacert ca.cert.pem --cakey ca.pem --dn "C=CN, O=x, CN=Client" --outform pem > client.cert.pem openssl pkcs12 -export -inkey client.pem -in client.cert.pem -name "client" -certfile ca.cert.pem -caname "CA" -out client.cert.p12#把证书复制到strongswan目录下cp -r ca.key.pem /etc/strongswan/ipsec.d/private/cp -r server.key.pem /etc/strongswan/ipsec.d/private/cp -r client.key.pem /etc/strongswan/ipsec.d/private/cp -r ca.cert.pem /etc/strongswan/ipsec.d/cacerts/cp -r server.cert.pem /etc/strongswan/ipsec.d/certs/cp -r client.cert.pem /etc/strongswan/ipsec.d/certs/cp -r server.pub.pem /etc/strongswan/ipsec.d/certs/cp -r client.pub.pem /etc/strongswan/ipsec.d/certs/
4、最最重要的配置Strongswan
vi /etc/strongswan/ipsec.conf config setup cachecrls = yes strictcrlpolicy=yes uniqueids=noconn %default compress = yes dpdaction = hold dpddelay = 30s inactivity = 300s esp = aes256-sha256,aes256-sha1,3des-sha1! ike = aes256-sha1-modp1024,aes128-sha1-modp1024,3des-sha1-modp1024! keyexchange = ike leftdns = 8.8.8.8,8.8.4.4 rightdns = 8.8.8.8,8.8.4.4 leftikeport = 500 #rightsubnet = [[]][,...] #authby=psk #lifetime=86400sconn android_xauth_psk keyexchange=ikev1 left=%defaultroute leftauth=psk leftsubnet=0.0.0.0/0 right=%any rightauth=psk rightauth2=xauth rightsourceip=10.13.0.0/24 dpdtimeout = 60s auto=addconn ikev2 ike=aes256-sha1-modp1024,aes128-sha1-modp1024,3des-sha1-modp1024! esp=aes256-sha256,aes256-sha1,3des-sha1! dpdaction=clear dpddelay=300s rekey=no fragmentation=yes eap_identity=%identity left=%defaultroute leftid=公网ip leftsubnet=0.0.0.0/0 leftauth=pubkey leftcert=fullchain.pem server.cert.pem leftsendcert=always leftfirewall=yes right=%any rightauth=pubkey rightsourceip=10.13.0.0/24 rightcert=client.crt auto=add auto=add
5、配置文件dns应该在这里设置
vi /etc/strongswan/strongswan.conf charon { load_modular = yes i_dont_care_about_security_and_use_aggressive_mode_psk = yes compress = yes plugins { duplicheck{ enable=no } include strongswan.d/charon/*.conf } dns1 = 10.13.0.47 nbns1 = 10.13.0.47 } include strongswan.d/*.conf
6、存放密码等配置信息
vi /etc/strongswan/ipsec.secrets# ipsec.secrets - strongSwan IPsec secrets file: PSK sHAXKJB123cm/5e323ku232DS024234: RSA server.key.pem#EAP 方式, 格式同 psk 相同 (用户名/密码 例:oneAA/oneTT)#XAUTH 方式, 只适用于 IKEv1test %any : XAUTH "123456"test %any : EAP "123456"
7、修改charon.conf, 配置日志输出文件。
vi /etc/strongswan/strongswan.d/charon.conf日志为debug使用,配置正常后可注释掉filelog部分。charon { filelog { charon-debug-log { path = /var/log/charon_debug.log time_format = %b %e %T default = 2 mgr = 0 net = 1 enc = 1 asn = 1 job = 1 ike_name = yes append = no flush_line = yes } } #这里是其它设置......}
7、开启内核转发
echo '#' >>/etc/sysctl.conf echo 'net.ipv4.ip_forward = 1' >>/etc/sysctl.conf echo 'net.ipv6.conf.all.forwarding=1' >>/etc/sysctl.conf sysctl -p
8、启用NAT防火墙
iptables -t nat -A POSTROUTING -s 10.13.0.0/24 -o eth0 -j MASQUERADE
9、阿里云安全组需要开放UDP500及4500端口
登录阿里云管理控制台-->云服务器ECS-->网络和安全-->安全组-->添加安全组规则:
授权策略:允许
协议类型:自定义UDP
端口范围:500
授权类型:地址段访问
授权对象:0.0.0.0/0
优先级:2
授权策略:允许
协议类型:自定义UDP
端口范围:4500
授权类型:地址段访问
授权对象:0.0.0.0/0
优先级:2
10、启动服务进行测试
systemctl start strongswan
XauthPSK 连接:
Android 使用XAUTH账户密码及psk连接
Mac 和 Ios 使用EAP账户密码及psk连接
电脑使用ikev2证书链接
第二季 善后
systemctl enable strongswan
标签:...,etc,--,HongKongESC,---,pem,client,strongswan,key
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/4878.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~