赞
踩
本篇记录 IPSec 的 net2net 的组网, 身份认证方式 基于 预共享密钥 (PSK) 模式, 主机采用自定义编译 openwrt-x86 虚拟主机,IPSec 使用 StrongSwan 组件。
(1)x86-OpenWRT-19.09 镜像
(2)PVE ( proxmox-6.3.2 )
net2net-psk的组网图,我们可以看到我们至少需要两个客户机Alice和Bob,两个网关Moon和Sun。
配置rsa,主要是rsa需要进行公钥私钥的认证,还要有CA签发证书。在 PVE 主机上,安装 strongswan、strongswan-pki、strongswan-swanctl工具,产生ca证书。
安装命令如下:
apt install strongswan strongswan-pki strongswan-swanctl
生成私钥:
# ipsec pki --gen --outform pem > ca.pem
# ls -l
total 1145588
-rw-r--r-- 1 root root 1679 Jun 23 17:54 ca.pem # 证书生成完成
自签发CA证书:
# ipsec pki --self --in ca.pem\
--dn "C=CN, O=NetworkLab, CN=NetworkLab CA"\
--ca --outform pem > ca.cert.pem
# ls -l
total 1145592
-rw-r--r-- 1 root root 1176 Jun 23 18:01 ca.cert.pem
-rw-r--r-- 1 root root 1679 Jun 23 17:54 ca.pem
这里–self表示自签证书,–in是输入的私钥,–dn是判别名,–ca表示生成 CA,其它同上。
C 表示国家名,同样还有 ST 州/省名,L 地区名,STREET(全大写) 街道
O 表示组织名
CN 为通用名
IPSec 两端通讯的服务器是互为 client – server 模式,所以需要分别给 moon (192.168.40.79)、 sun(192.168.40.80) 生成证书,以 生成 moon 服务器证书 为例。
ipsec pki --gen --outform pem > moon.server.pem
ipsec pki --pub --in moon.server.pem | \
ipsec pki --issue --cacert ca.cert.pem --cakey ca.pem \
--dn "C=CN, O=NetworkLab, CN=moon.com" --san="moon.com" \
--flag serverAuth --flag ikeIntermediate --outform pem > moon.server.cert.pem
ipsec pki --pub --in moon.server.pem 就是从刚生成的私钥里把公钥提取出来。然后我们用公钥去进行后面的服务器证书签发。
注: 生成 sun 密钥 和 证书 方法相同。
服务器 moon 需要配置文件清单:
CA证书(认证使用的 ca.pem 证书);
sun的server私钥 (sun.server.pem)、sun的server证书(sun.server.cert.pem ), moon 认证 sun 使用,此时 sun为客户端;
moon的client私钥、moon的client证书;
我们就把证书放到相应的位置:
scp -r ca.cert.pem root@192.168.40.79:/etc/ipsec.d/cacerts/
scp -r moon.server.cert.pem root@192.168.40.79:/etc/ipsec.d/certs/
scp -r moon.server.pem root@192.168.40.79:/etc/ipsec.d/private/
scp -r sun.client.cert.pem root@192.168.40.79:/etc/ipsec.d/certs/
scp -r sun.client.pem root@192.168.40.79:/etc/ipsec.d/private/
# basic configuration config setup # strictcrlpolicy=yes # uniqueids = no # Add connections here. conn %default ikelifetime=60m keylife=20m rekeymargin=3m keyingtries=1 authby=secret keyexchange=ikev2 mobike=no conn net-net left=192.168.40.79 leftsubnet=10.2.0.0/16 leftid=@sun.strongswan.org leftfirewall=yes right=192.168.40.80 rightsubnet=10.1.0.0/16 rightid=@moon.strongswan.org auto=add
# basic configuration config setup # strictcrlpolicy=yes # uniqueids = no # Add connections here. conn %default ikelifetime=60m keylife=20m rekeymargin=3m keyingtries=1 authby=secret keyexchange=ikev2 mobike=no conn net-net left=192.168.40.80 leftsubnet=10.1.0.0/16 leftid=@moon.strongswan.org leftfirewall=yes right=192.168.40.79 rightsubnet=10.2.0.0/16 rightid=@sun.strongswan.org auto=add
实验待落实补充。
参考链接:https://blog.csdn.net/puppylpg/article/details/64918562
数字证书、公钥: https://blog.csdn.net/ly131420/article/details/38400583#t5
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。