主页 > imtoken钱包新版下载 > 4.7. 配置网状 VPN

4.7. 配置网状 VPN

imtoken钱包新版下载 2023-10-13 05:13:36

4.7. 配置网状 VPN

网状 VPN 网络(也称为任意到任意 VPN)是一种所有节点都使用 IPsec 进行通信的网络。 此配置为无法使用 IPsec 的节点设置了例外。 Mesh VPN 网络可以通过两种方式配置:

节点之间的身份验证可以基于 X.509 证书或 DNS 安全扩展 (DNSSEC)。

以下过程使用 X.509 证书。 这些证书可以使用任何类型的证书颁发机构 (CA) 管理系统生成,例如 Dogtag 证书系统。 Dogtag 假定每个节点的证书都以 PKCS #12 格式(.p12 文件)提供,其中包含私钥、节点证书和用于验证其他节点的 X.509 证书的根 CA 证书。

每个节点的 X.509 证书配置不同。 这允许在不重新配置网络中任何现有节点的情况下添加新节点。 PKCS #12 文件需要一个“友好名称”,为此我们使用名称“节点”,以便引用友好名称的配置文件对于所有节点都是相同的。

先决条件

过程

在每个节点中导入 PKCS #12 文件。 此步骤需要用于生成 PKCS #12 文件的密码:

# ipsec import nodeXXX.p12

为需要的 IPsec(专用)、可选的 IPsec(专用或明文)和无 IPsec(明文)配置文件创建以下三个连接定义:

# cat /etc/ipsec.d/mesh.conf
conn clear
	auto=ondemand
	type=passthrough
	authby=never
	left=%defaultroute
	right=%group
conn private
	auto=ondemand
	type=transport
	authby=rsasig
	failureshunt=drop
	negotiationshunt=drop
	# left
	left=%defaultroute
	leftcert=nodeXXXX
	leftid=%fromcert
        leftrsasigkey=%cert
	# right
	rightrsasigkey=%cert
	rightid=%fromcert
	right=%opportunisticgroup
conn private-or-clear
	auto=ondemand
	type=transport
	authby=rsasig
	failureshunt=passthrough
	negotiationshunt=passthrough
	# left
	left=%defaultroute
	leftcert=nodeXXXX
	leftid=%fromcert
        leftrsasigkey=%cert
	# right
	rightrsasigkey=%cert
	rightid=%fromcert
	right=%opportunisticgroup

在适当的类别中添加网络的 IP 地址。 例如,如果所有节点都在 10.15.0.0/16 网络上,那么所有节点都应该强制执行 IPsec 加密:

# echo "10.15.0.0/16" >> /etc/ipsec.d/policies/private

要允许某些节点(例如 10.15.34.0/24)使用或不使用 IPsec,请使用以下命令将这些节点添加到 private-or-clear 组:

# echo "10.15.34.0/24" >> /etc/ipsec.d/policies/private-or-clear

要将不支持 IPsec 的主机(例如 10.15.1.2)定义到清除组etc可以安装在黑网格里么,请使用:

# echo "10.15.1.2/32" >> /etc/ipsec.d/policies/clear

/etc/ipsec.d/policies 目录中的文件可以从每个新节点的模板创建,也可以使用 Puppet 或 Ansible 提供。

请注意,每个节点都有相同的异常列表或不同的流量预期。 因此,两个节点可能无法通信etc可以安装在黑网格里么,因为一个节点需要 IPsec 而另一个节点不能使用 IPsec。

重新启动节点以将其添加到配置的网格中:

# systemctl restart ipsec

添加节点后,ping 命令足以打开 IPsec 隧道。 查看节点已经开通的隧道:

# ipsec trafficstatus

前面一个后面一个