SWAN之ikev2协议config-payload配置测试

本测试主要验证远程用户carol以及dave和网关moon之间的IKE配置(configuration)功能,由两个远程用户发起配置请求,moon网关回复分配的虚拟IP地址和DNS服务器地址信息。在远程用户carol和dave主机的ipsec.conf配置文件中,将leftsourceip设置为%config开启此功能。测试拓扑如下:

在这里插入图片描述

主机配置

carol的连接配置文件:ikev2/config-payload/hosts/carol/etc/ipsec.conf,内容如下,主要关注home连接中的leftsourceip字段设置为%config,这正是本次测试的地址配置功能。dave主机的ipsec.conf配置与carol基本相同。

config setup

conn %default
        ikelifetime=60m
        keylife=20m
        rekeymargin=3m
        keyingtries=1
        keyexchange=ikev2

conn home
        left=PH_IP_CAROL
        leftsourceip=%config
        leftcert=carolCert.pem
        leftid=carol@strongswan.org
        leftfirewall=yes
        right=PH_IP_MOON
        rightsubnet=10.1.0.0/16
        rightid=@moon.strongswan.org
        auto=add

网关moon配置

moon的配置文件:ikev2/config-payload/hosts/moon/etc/ipsec.conf,内容如下,主要关注rw-carol连接的rightsourceip字段设置为PH_IP_CAROL1,此为要分配给carol主机的虚拟IP,由全局配置文件strongswan-5.8.1/testing/testing.conf可知其值为10.3.0.1。对于连接rw-dave配置相似,分配给dave的虚拟IP地址为PH_IP_DAVE1,其值为10.3.0.2。

config setup

conn %default
        ikelifetime=60m
        keylife=20m
        rekeymargin=3m
        keyingtries=1
        keyexchange=ikev2
        left=PH_IP_MOON
        leftsubnet=10.1.0.0/16
        leftcert=moonCert.pem
        leftid=@moon.strongswan.org
        leftfirewall=yes

conn rw-carol
        right=%any
        rightid=carol@strongswan.org
        rightsourceip=PH_IP_CAROL1
        auto=add

conn rw-dave
        right=%any
        rightid=dave@strongswan.org
        rightsourceip=PH_IP_DAVE1
        auto=add

在以下的ikev2/config-payload/hosts/moon/etc/strongswan.conf配置文件中,配置了两个dns域名,分别为vinnetou和venus,其值为:10.1.0.20和192.168.0.150。

charon {
  load = random nonce aes sha1 sha2 pem pkcs1 curve25519 gmp x509 curl revocation hmac stroke kernel-netlink socket-default updown attr

  dns1 = PH_IP_WINNETOU
  dns2 = PH_IP_VENUS
}

测试准备阶段

配置文件:ikev2/config-payload/pretest.dat,主要是ipsec连接的启动,不再累述。

测试阶段

配置文件:ikev2/config-payload/evaltest.dat。以下测试语句检查carol主机上strongswan的运行日志,匹配安装虚拟ip地址:PH_IP_CAROL1的信息。接下来在carol的接口eth0上确认此IP地址,以及检查路由表220中的去往10.1.0.0/16网段的源地址为PH_IP_CAROL1的路由信息。

以及确认/etc/resolv.conf文件中配置的DNS服务器信息,此处配置了两个DNS:PH_IP_WINNETOU和PH_IP_VENUS,参见moon网关的strongswan.conf配置文件。使用ping命令检查carol到主机alice的连通性。

carol::cat /var/log/daemon.log::installing new virtual IP PH_IP_CAROL1::YES
carol::ip addr list dev eth0::PH_IP_CAROL1::YES
carol::ip route list table 220::10.1.0.0/16.*src PH_IP_CAROL1::YES
carol::cat /etc/resolv.conf::nameserver PH_IP_WINNETOU .*by strongSwan::YES
carol::cat /etc/resolv.conf::nameserver PH_IP_VENUS .*by strongSwan::YES
carol::ping -c 1 PH_IP_ALICE::64 bytes from PH_IP_ALICE: icmp_.eq=1::YES

以下为在主机dave上进行的测试语句,与以上主机carol上的测试类似。

dave:: ipsec status 2> /dev/null::home.*ESTABLISHED.*dave@strongswan.org.*moon.strongswan.org::YES
dave:: ipsec status 2> /dev/null::home.*INSTALLED, TUNNEL::YES
dave:: cat /var/log/daemon.log::installing new virtual IP PH_IP_DAVE1::YES
dave:: ip addr list dev eth0::PH_IP_DAVE1::YES
dave:: ip route list table 220::10.1.0.0/16.*src PH_IP_DAVE1::YES
dave:: ping -c 1 PH_IP_ALICE::64 bytes from PH_IP_ALICE: icmp_.eq=1::YES

以下为在carol主机上strongswan进程的日志文件的部分信息,显示了DNS和虚拟IP的安装日志。

carol charon: 13[IKE] installing DNS server 192.168.0.150 to /etc/resolv.conf
carol charon: 13[IKE] installing DNS server 10.1.0.20 to /etc/resolv.conf
carol charon: 13[IKE] installing new virtual IP 10.3.0.1

由下图tcpdump抓取的报文(已解密)可见,alice主机在IKE_AUTH Initiator Request报文中携带了Configuration(47)载荷,其中的类型为:CFG_REQUEST(1),这里有两个请求的配置属性:INTERNAL_IP4_ADDRESS和INTERNAL_IP4_DNS。

在这里插入图片描述

在moon网关的回复报文IKE_AUTH Responder Response中,携带了回复的Configuration载荷,其中类型为:CFG_REPLY(2),三个配置属性,分别为虚拟IP地址和两个DNS服务器地址。如下所示。

在这里插入图片描述

最后关于strongswan使用的默认路由表220,也可在编译配置strongswan代码时进行修改,如下为文件strongswan-5.8.1/configure中关于routing_table的内容,默认使用220。

  --with-routing-table=arg
                          set routing table to use for IPsec routes (default:
                          220).
  --with-routing-table-prio=arg
                          set priority for IPsec routing table (default: 220).

另外,还可在配置文件strongswan.conf中修改所使用的路由表。

# Options for the charon IKE daemon.
charon {
    # Numerical routing table to install routes to.
    # routing_table =

    # Priority of the routing table.
    # routing_table_prio =
}

以下为测试ping报文。
在这里插入图片描述

strongswan测试版本: 5.8.1

END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值