我在 CentOS7 上安装了 Strongswan,连接到帕洛阿尔托路由器。我无法访问远程路由器上的配置。我想在另一侧配置两个子网 - 一个只有一个 IP。我在 ipsec.conf 中有这个配置:
conn %default
keyexchange=ikev2
authby=secret
conn net-net
ike=aes256-sha512-modp2048!
leftauth=psk
left=xx.xx.xx.xx
leftsubnet=10.255.1.0/24
leftfirewall=yes
rightauth=psk
right=yy.yy.yy.yy
auto=add
rightsubnet=10.250.72.0/24,192.168.149.199/32
启动隧道后,只能 ping 通 192.168.149.199,但无法 ping 通 10.250.72.0/24 中的主机。如果我只配置 10.250.72.0/24 子网,则 ping 可以正常工作。
我的版本:
[root@ipsec01 strongswan]# strongswan --version
Linux strongSwan U5.4.0/K3.10.0-514.6.1.el7.x86_64
根据手册,逗号分隔符号应该是正确的。我应该使用什么配置?
答案1
根据手册,逗号分隔符号应该是正确的......
如果另一个对等方支持每个 CHILD_SA 多个子网,则情况如此。这里的情况可能并非如此。如果是这样,您必须定义多个 conn 部分来启动单独的 CHILD_SA:
conn %default
keyexchange=ikev2
authby=secret
conn net-net
ike=aes256-sha512-modp2048!
leftauth=psk
left=xx.xx.xx.xx
leftsubnet=10.255.1.0/24
leftfirewall=yes
rightauth=psk
right=yy.yy.yy.yy
auto=add
rightsubnet=10.250.72.0/24
conn net-host
also=net-net
rightsubnet=192.168.149.199/32
“strongswan up net-net”成功,但之后“strongswan up net-host”失败,并显示“收到 INVALID_SYNTAX 通知错误”。当我首先设置 net-host 时,此成功,然后 net-net 失败。所以第二个总是失败...
如果每个 IKE_SA 创建了多个 CHILD_SA,则该对等点似乎也会出现问题(但是,在这种情况下,INVALID_SYNTAX 是一个奇怪的错误)。为了避免这种情况, charon.reuse_ikesa
在 Strongswan.conf 中可能会被禁用。这样,一个新的 IKE_SA 就会与第二个 CHILD_SA 一起创建。
如果每个对等方仅允许一个 IKE_SA,则后者可能会导致问题。因此,另一种可能的选择(如果对等方支持)是设置rightsubnet=0.0.0.0/0
(仅需要一个 conn 部分),然后另一个对等方可以将其范围缩小到它允许的子网。但是,这与您的第一次尝试有点相似,因此它可能不适用于首先存在每个 CHILD_SA 多个子网问题的对等方。