From 56ea95195acbb432ee7ab2f03883725408789e97 Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Tue, 18 Sep 2012 16:31:15 +0200 Subject: Add a road-warrior test case requesting both an IPv4 and an IPv6 virtual address --- .../tests/ikev2/ip-two-pools-v4v6/description.txt | 5 +++++ testing/tests/ikev2/ip-two-pools-v4v6/evaltest.dat | 9 +++++++++ .../ip-two-pools-v4v6/hosts/carol/etc/ipsec.conf | 20 ++++++++++++++++++++ .../hosts/carol/etc/strongswan.conf | 5 +++++ .../ip-two-pools-v4v6/hosts/moon/etc/ipsec.conf | 19 +++++++++++++++++++ .../hosts/moon/etc/strongswan.conf | 5 +++++ testing/tests/ikev2/ip-two-pools-v4v6/posttest.dat | 5 +++++ testing/tests/ikev2/ip-two-pools-v4v6/pretest.dat | 6 ++++++ testing/tests/ikev2/ip-two-pools-v4v6/test.conf | 21 +++++++++++++++++++++ 9 files changed, 95 insertions(+) create mode 100644 testing/tests/ikev2/ip-two-pools-v4v6/description.txt create mode 100644 testing/tests/ikev2/ip-two-pools-v4v6/evaltest.dat create mode 100644 testing/tests/ikev2/ip-two-pools-v4v6/hosts/carol/etc/ipsec.conf create mode 100644 testing/tests/ikev2/ip-two-pools-v4v6/hosts/carol/etc/strongswan.conf create mode 100644 testing/tests/ikev2/ip-two-pools-v4v6/hosts/moon/etc/ipsec.conf create mode 100644 testing/tests/ikev2/ip-two-pools-v4v6/hosts/moon/etc/strongswan.conf create mode 100644 testing/tests/ikev2/ip-two-pools-v4v6/posttest.dat create mode 100644 testing/tests/ikev2/ip-two-pools-v4v6/pretest.dat create mode 100644 testing/tests/ikev2/ip-two-pools-v4v6/test.conf diff --git a/testing/tests/ikev2/ip-two-pools-v4v6/description.txt b/testing/tests/ikev2/ip-two-pools-v4v6/description.txt new file mode 100644 index 000000000..32dd88d51 --- /dev/null +++ b/testing/tests/ikev2/ip-two-pools-v4v6/description.txt @@ -0,0 +1,5 @@ +The host carol sets up a tunnel connection to gateway moon. It requests +both an IPv4 and an IPv6 virtual IP via the IKEv2 configuration payload by using +leftsourceip=%config4,%config6. Gateway moon assigns virtual IPs addresses +from two in-memory pools using the rightsourceip option. The established tunnel +carries both IPv4 and IPv6 in an IPv4 encapsulated tunnel. diff --git a/testing/tests/ikev2/ip-two-pools-v4v6/evaltest.dat b/testing/tests/ikev2/ip-two-pools-v4v6/evaltest.dat new file mode 100644 index 000000000..7a0c1ed6f --- /dev/null +++ b/testing/tests/ikev2/ip-two-pools-v4v6/evaltest.dat @@ -0,0 +1,9 @@ +carol::ipsec status 2> /dev/null::home.*ESTABLISHED.*carol@strongswan.org.*moon.strongswan.org::YES +carol::ipsec status 2> /dev/null::home.*INSTALLED, TUNNEL::YES +moon:: ipsec status 2> /dev/null::rw.*ESTABLISHED.*moon.strongswan.org.*carol@strongswan.org::YES +moon:: ipsec status 2> /dev/null::rw.*INSTALLED, TUNNEL::YES +carol::cat /var/log/daemon.log::installing new virtual IP 10.3.0.1::YES +carol::cat /var/log/daemon.log::installing new virtual IP fec3:\:1::YES +carol::cat /var/log/daemon.log::TS 10.3.0.1/32 fec3:\:1/128 === 10.1.0.0/16 fec1:\:/16::YES +carol::ping -c 1 PH_IP_MOON::64 bytes from PH_IP_MOON: icmp_seq=1::YES +carol::ping6 -c 1 ip6-alice.strongswan.org::64 bytes from ip6-alice.strongswan.org: icmp_seq=1::YES diff --git a/testing/tests/ikev2/ip-two-pools-v4v6/hosts/carol/etc/ipsec.conf b/testing/tests/ikev2/ip-two-pools-v4v6/hosts/carol/etc/ipsec.conf new file mode 100644 index 000000000..d19399def --- /dev/null +++ b/testing/tests/ikev2/ip-two-pools-v4v6/hosts/carol/etc/ipsec.conf @@ -0,0 +1,20 @@ +# /etc/ipsec.conf - strongSwan IPsec configuration file + +config setup + +conn %default + ikelifetime=60m + keylife=20m + rekeymargin=3m + keyingtries=1 + keyexchange=ikev2 + +conn home + left=PH_IP_CAROL + leftsourceip=%config4,%config6 + leftcert=carolCert.pem + leftid=carol@strongswan.org + right=PH_IP_MOON + rightid=@moon.strongswan.org + rightsubnet=0.0.0.0/0,::/0 + auto=add diff --git a/testing/tests/ikev2/ip-two-pools-v4v6/hosts/carol/etc/strongswan.conf b/testing/tests/ikev2/ip-two-pools-v4v6/hosts/carol/etc/strongswan.conf new file mode 100644 index 000000000..85d8c191f --- /dev/null +++ b/testing/tests/ikev2/ip-two-pools-v4v6/hosts/carol/etc/strongswan.conf @@ -0,0 +1,5 @@ +# /etc/strongswan.conf - strongSwan configuration file + +charon { + load = curl aes des sha1 sha2 md5 pem pkcs1 gmp random nonce x509 revocation hmac xcbc stroke kernel-netlink socket-default +} diff --git a/testing/tests/ikev2/ip-two-pools-v4v6/hosts/moon/etc/ipsec.conf b/testing/tests/ikev2/ip-two-pools-v4v6/hosts/moon/etc/ipsec.conf new file mode 100644 index 000000000..0777f6db5 --- /dev/null +++ b/testing/tests/ikev2/ip-two-pools-v4v6/hosts/moon/etc/ipsec.conf @@ -0,0 +1,19 @@ +# /etc/ipsec.conf - strongSwan IPsec configuration file + +config setup + +conn %default + ikelifetime=60m + keylife=20m + rekeymargin=3m + keyingtries=1 + keyexchange=ikev2 + +conn rw + left=PH_IP_MOON + leftcert=moonCert.pem + leftid=@moon.strongswan.org + leftsubnet=10.1.0.0/16,fec1::0/16 + rightsourceip=10.3.0.0/28,fec3::/120 + right=%any + auto=add diff --git a/testing/tests/ikev2/ip-two-pools-v4v6/hosts/moon/etc/strongswan.conf b/testing/tests/ikev2/ip-two-pools-v4v6/hosts/moon/etc/strongswan.conf new file mode 100644 index 000000000..dc937641c --- /dev/null +++ b/testing/tests/ikev2/ip-two-pools-v4v6/hosts/moon/etc/strongswan.conf @@ -0,0 +1,5 @@ +# /etc/strongswan.conf - strongSwan configuration file + +charon { + load = curl aes des sha1 sha2 md5 pem pkcs1 gmp random nonce x509 revocation hmac xcbc stroke kernel-netlink socket-default updown +} diff --git a/testing/tests/ikev2/ip-two-pools-v4v6/posttest.dat b/testing/tests/ikev2/ip-two-pools-v4v6/posttest.dat new file mode 100644 index 000000000..fafe030c1 --- /dev/null +++ b/testing/tests/ikev2/ip-two-pools-v4v6/posttest.dat @@ -0,0 +1,5 @@ +alice::ip -6 route del default via fec1:\:1 +carol::ipsec stop +moon::echo 0 > /proc/sys/net/ipv6/conf/all/forwarding +moon::ipsec stop +moon::conntrack -F diff --git a/testing/tests/ikev2/ip-two-pools-v4v6/pretest.dat b/testing/tests/ikev2/ip-two-pools-v4v6/pretest.dat new file mode 100644 index 000000000..f97ff54b5 --- /dev/null +++ b/testing/tests/ikev2/ip-two-pools-v4v6/pretest.dat @@ -0,0 +1,6 @@ +alice::ip -6 route add default via fec1:\:1 +moon::echo 1 > /proc/sys/net/ipv6/conf/all/forwarding +moon::ipsec start +carol::ipsec start +carol::sleep 2 +carol::ipsec up home diff --git a/testing/tests/ikev2/ip-two-pools-v4v6/test.conf b/testing/tests/ikev2/ip-two-pools-v4v6/test.conf new file mode 100644 index 000000000..c86dd1d66 --- /dev/null +++ b/testing/tests/ikev2/ip-two-pools-v4v6/test.conf @@ -0,0 +1,21 @@ +#!/bin/bash +# +# This configuration file provides information on the +# UML instances used for this test + +# All UML instances that are required for this test +# +UMLHOSTS="alice moon carol winnetou" + +# Corresponding block diagram +# +DIAGRAM="a-m-c.png" + +# UML instances on which tcpdump is to be started +# +TCPDUMPHOSTS="carol" + +# UML instances on which IPsec is started +# Used for IPsec logging purposes +# +IPSECHOSTS="moon carol" -- cgit v1.2.3