6. 详解 IPSec 的 net2net-RSA 组网实践

实验环境

本篇记录 IPSec 的 net2net 的组网, 身份认证方式 基于 预共享密钥 (PSK) 模式, 主机采用自定义编译 openwrt-x86 虚拟主机,IPSec 使用 StrongSwan 组件。

测试环境:

(1)x86-OpenWRT-19.09 镜像
(2)PVE ( proxmox-6.3.2 )

网络架构

net2net-psk的组网图,我们可以看到我们至少需要两个客户机Alice和Bob,两个网关Moon和Sun。

在这里插入图片描述

配置net2net-rsa

配置rsa,主要是rsa需要进行公钥私钥的认证,还要有CA签发证书。在 PVE 主机上,安装 strongswan、strongswan-pki、strongswan-swanctl工具,产生ca证书。
安装命令如下:

apt install strongswan strongswan-pki strongswan-swanctl

生产 CA 证书

生成私钥:

# 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 服务器证书 为例。

  • 1.生成 moon 私钥:
ipsec pki --gen --outform pem > moon.server.pem
    1. 签发 moon 证书:
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/

修改 IPSec 配置文件

  • moon 服务器的配置文件
# 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

  • sun 服务器配置文件
# 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

启动 IPSec

实验待落实补充。

参考链接:https://blog.csdn.net/puppylpg/article/details/64918562
数字证书、公钥: https://blog.csdn.net/ly131420/article/details/38400583#t5

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值