StrongSwan lan 到 lan / PKI RSA 自 CA - 隧道(0 上行,1 连接),仅 RSA 隧道不使用自 CA 即可正常工作

StrongSwan lan 到 lan / PKI RSA 自 CA - 隧道(0 上行,1 连接),仅 RSA 隧道不使用自 CA 即可正常工作

我正在尝试使用自签名 CA 证书创建基于 x.509 的隧道。

我正在 AWS 上创建解决方案,VPN 网关是 Debian Stretch 机器版本 Linux ip-10-0-0-208 4.9.0-8-amd64 #1 SMP Debian 4.9.110-3+deb9u3 (2018-08- 19) x86_64 GNU/Linux,strongSwan 版本为 Linux StrongSwan U5.5.1/K4.9.0-8-amd64。

首先,我仅创建了用于东网关的 RSA 隧道:

openssl genrsa -out us-east-a1.key 4096
openssl rsa -in us-east-a1.key -pubout > us-east-a1.pub

我也为西门创建了同样类型的钥匙。然后,我将公钥复制到两个网关,并创建 ipsec.conf 和 ipsec.secrets 配置文件。

此配置运行没有任何问题。

现在我正在尝试进行使用 CA 证书的配置,但该配置并未建立连接。

我使用清除了证书和ikes

ipsec purgecerts
ipsec purgeike

所以IPsec缓存中没有剩余,并且我停止了Ipsec和strongSwan。

然后

我为西网关和东网关创建了 CA 主密钥、根 CA 证书、RSA 证书(私有/公共)。

之后,我在两个网关上创建了新的 ipsec.conf 和 ipsec.secrets。

隧道两侧启动后

systemctl restart networking
systemctl start ipsec
systemclt start strongswan

我运行命令

ipsec statusall

这是输出

Status of IKE charon daemon (strongSwan 5.5.1, Linux 4.9.0-9-amd64, x86_64):<br>

正常运行时间:45分钟,自2019年8月11日13:41:48起
malloc:sbrk 1486848,mmap 0,已使用415232,空闲1071616
工作线程:16个中的11个空闲,5/0/0/0工作,作业队列:0/0 /0/0,计划:1个
已加载插件:charon aesni aes rc2 sha2 sha1 md5 random nonce x509 撤销约束 pubkey pkcs1 pkcs7 pkcs8 pkcs12 pgp dnskey sshkey pem openssl fips-prf gmp agent xcbc hmac gcm attr kernel-netlink 解析套接字默认 connmark中风 updown
侦听 IP 地址:
10.1.2.250
连接:
tunnel-east:54.88.xxx.yyy...13.57.zz.dd IKEv2,dpddelay=30stunnel
-east:本地:[C=DE,O=组织名称,CN= east-ssw-gateway] 使用公钥认证
tunnel-east: remote: [C=DE, O=Orgname, CN=west-ssw-gateway] 使用公钥认证
tunnel-east: child: 10.1.0.0/16 == = 10.0.0.0/16 隧道,dpdaction=重新启动
安全关联(0 向上,1 连接):
隧道东[1]:连接,54.88.xxx.yyy[%any]...13.57.zz.dd[%any ]
隧道东[1]:IKEv2 SPI:a157af3c58009cd8_i* 0000000000000000_r
隧道东[1]:活动任务:IKE_VENDOR IKE_INIT IKE_NATD IKE_CERT_PRE IKE_AUTH IKE_CERT_POST IKE_CONFIG CHILD_CREATE IKE_MOBIKE

我的 ipsec.conf “west” 看起来像这样:

配置设置
charondebug =“全部”
uniqueids = yes
strictcrlpolicy = no

conn%def​​ault

conntunnel-west
left = 13.57.zz.dd
leftsubnet = 10.0.0.0/16
right = 54.88.xxx.yyy
rightsubnet = 10.1.0.0/16
ike = aes256-sha2_256-modp1024!
esp=aes256-sha2_256!
keyingtries=0
ikelifetime=1h
生命周期=8h
dpddelay=30
dpdtimeout=120
dpdaction=重新启动
authby=pubkey
自动=启动
keyexchange=ikev2
类型=隧道
leftrsasigkey=vpn-west-public-certificate.pem
rightrsasigkey=vpn-east-public-certificate .pem
leftid="C=DE, O=Orgname, CN=west-ssw-gateway"
rightid="C=DE, O=Orgname, CN=east-ssw-gateway"

包括 /var/lib/strongswan/ipsec。 conf.inc

的 ipsec.secrets “west” 看起来像这样

include /var/lib/strongswan/ipsec.secrets.inc

: RSA vpn-west-private-key.pem

我的 ipsec.conf “east” 看起来像这样:

config setup<br>
    charondebug="all"<br>
    uniqueids=yes<br>
    strictcrlpolicy=no<br>


conn %default

conn 隧道东
左=54.88.xxx.yyy
leftsubnet=10.1.0.0/16
right=13.57.zz.dd
rightsubnet=10.0.0.0/16
ike=aes256-sha2_256-modp1024!
esp=aes256-sha2_256!
keyingtries=0
ikelifetime=1h
生命周期=8h
dpddelay=30
dpdtimeout=120
dpdaction=重新启动
authby=pubkey
自动=启动
keyexchange=ikev2
类型=隧道
leftrsasigkey=vpn-east-public-certificate.pem
rightrsasigkey=vpn-west-public-certificate .pem
leftid="C=DE, O=Orgname, CN=east-ssw-gateway"
rightid="C=DE, O=Orgname, CN=west-ssw-gateway"

包括 /var/lib/strongswan/ipsec。会议公司

ipsec.secrets“东”看起来像这样

include /var/lib/strongswan/ipsec.secrets.inc <br>

: RSA vpn-east-private-key.pem

在双方我得到:

Security Associations (0 up, 1 connecting):<br>

知道我做错了什么吗?

正如AB建议的那样,我添加了 leftca= ,没有任何改变。

这是 Charon.log

2019-08-11T17:34:27+0000 04[NET] 写入套接字时出错:参数无效
2019-08-11T17:34:27+0000 01[JOB] 3s 999ms 内的下一个事件,等待
2019-08-11T17: 34:27+0000 10[MGR] 签入 IKE_SA 隧道东[1]
2019-08-11T17:34:27+0000 10[MGR] 签入 IKE_SA 成功
2019-08-11T17:34:31+0000 01[作业] 得到事件,排队作业等待执行
2019-08-11T17:34:31+0000 01[JOB] 999ms 内的下一个事件,等待
2019-08-11T17:34:31+0000 12[MGR] 使用 SPI 签出 IKEv2 SA 3dbe135f4a4d8d96_i 0000000000000000_r
2019-08-11T17:34:31+0000 12[MGR] IKE_SAtunnel-east[1] 成功签出
2019-08-11T17:34:31+0000 12[IKE] 重新传输 1 个消息 ID 为 0 的请求
2019 -08-11T17:34:31+0000 12[NET]发送数据包:从54.88.xxx.yyy[500]到13.57.zz.dd[500](336字节)
2019-08-11T17:34:31+0000 12[MGR] 签入 IKE_SA 隧道东[1]
2019-08-11T17:34:31+0000 12[MGR] 签入 IKE_SA 成功
2019-08-11T17:34:31+0000 04[NET] 发送数据包:来自54.88.xxx.yyy[500] 到 13.57.zz.dd[500]
2019-08-11T17:34:31+0000 04[NET] 写入套接字时出错:参数无效
2019-08-11T17:34:31+0000 01[JOB] 998ms 内的下一个事件,正在等待
2019-08-11T17:34:32+0000 01[JOB] 已获取事件,正在排队执行作业
2019-08-11T17:34:32+0000 01[JOB] 下一个事件6s 200ms,等待
2019-08-11T17:34:32+0000 13[MGR] 使用 SPI 签出 IKEv2 SA
3dbe135f4a4d8d96_i 0000000000000000_r
2019-08-11T17:34:32+0000 13[MGR] IKE_SA 隧道东[1] 已成功检查out
2019-08-11T17:34:32+0000 13[IKE] 重新传输 2 个消息 ID 为 0 的请求
2019-08-11T17:34:32+0000 13[NET] 发送数据包:来自 54.88.xxx.yyy[500 ] 到 13.57.zz.dd[500](336 字节)
2019-08-11T17:34:32+0000 13[MGR] 签入 IKE_SA 隧道东[1]
2019-08-11T17:34:32+0000 13[ MGR] 签入 IKE_SA 成功
2019-08-11T17:34:32+0000 04[NET] 发送数据包:从 54.88.xxx.yyy[500] 到 13.57.zz.dd[500]
2019-08-11T17:34:32+0000 04[NET] 写入套接字时出错:参数无效

因此,看起来写入套接字不起作用。

这可能意味着数据包无法离开服务器!

这是接口列表:

root@ip-10-1-2-250:/var/log# ip a

1:lo:mtu 65536 qdisc noqueue状态未知组默认qlen 1链接/环回00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8范围主机lo valid_lft永远首选_lft 永远 inet6 ::1/128 范围主机 valid_lft 永远首选_lft 永远 2: eth0: mtu 9001 qdisc pfifo_fast 状态 UP 组默认 qlen 1000 link/ether 12:09:c3:5b:9c:78 brd ff:ff:ff: ff:ff:ff inet 10.1.2.250/24 brd 10.1.2.255 作用域全局 eth0 valid_lft 永远 Preferred_lft 永远 inet6 fe80::1009:c3ff:fe5b:9c78/64 作用域链接 valid_lft 永远 Preferred_lft 永远

很明显,AWS public (EIP) 没有被直接解决,这可能就是原因。

那么,遇到这种情况该如何解决呢。

相关内容