TCPDUMP alice# tcpdump -i eth0 not port ssh and not port domain and not arp > /tmp/tcpdump.log 2>&1 & venus# tcpdump -i eth0 not port ssh and not port domain and not arp > /tmp/tcpdump.log 2>&1 & carol# tcpdump -i eth0 not port ssh and not port domain and not arp > /tmp/tcpdump.log 2>&1 & dave# tcpdump -i eth0 not port ssh and not port domain and not arp > /tmp/tcpdump.log 2>&1 & PRE-TEST moon# cat /etc/ipsec.d/tables.sql > /etc/ipsec.d/ipsec.sql moon# cat /etc/ipsec.d/ipsec.sql | sqlite3 /etc/ipsec.d/ipsec.db moon# ipsec pool --add extpool --start 10.3.0.1 --end 10.3.1.244 --timeout 48 2> /dev/null allocating 500 addresses... done. moon# ipsec pool --add intpool --start 10.4.0.1 --end 10.4.1.244 --timeout 0 2> /dev/null allocating 500 addresses... done. moon# ip route add 10.3.0.0/16 via 192.168.0.1 moon# ip route add 10.4.0.0/16 via 10.1.0.1 alice# /etc/init.d/iptables start 2> /dev/null * Caching service dependencies ... [ ok ] * Starting firewall ... [ ok ] venus# /etc/init.d/iptables start 2> /dev/null * Caching service dependencies ... [ ok ] * Starting firewall ... [ ok ] moon# /etc/init.d/iptables start 2> /dev/null * Caching service dependencies ... [ ok ] * Starting firewall ... [ ok ] carol# /etc/init.d/iptables start 2> /dev/null * Caching service dependencies ... [ ok ] * Starting firewall ... [ ok ] dave# /etc/init.d/iptables start 2> /dev/null * Caching service dependencies ... [ ok ] * Starting firewall ... [ ok ] alice# ipsec start Starting strongSwan 4.3.6 IPsec [starter]... venus# ipsec start Starting strongSwan 4.3.6 IPsec [starter]... carol# ipsec start Starting strongSwan 4.3.6 IPsec [starter]... dave# ipsec start Starting strongSwan 4.3.6 IPsec [starter]... moon# ipsec start Starting strongSwan 4.3.6 IPsec [starter]... carol# sleep 2 carol# ipsec up home initiating IKE_SA home[1] to 192.168.0.1 generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) ] sending packet: from 192.168.0.100[500] to 192.168.0.1[500] received packet: from 192.168.0.1[500] to 192.168.0.100[500] parsed IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(MULT_AUTH) ] received cert request for "C=CH, O=Linux strongSwan, CN=strongSwan Root CA" sending cert request for "C=CH, O=Linux strongSwan, CN=strongSwan Root CA" authentication of 'carol@strongswan.org' (myself) with RSA signature successful sending end entity cert "C=CH, O=Linux strongSwan, OU=Research, CN=carol@strongswan.org" establishing CHILD_SA home generating IKE_AUTH request 1 [ IDi CERT CERTREQ IDr AUTH CP SA TSi TSr N(MOBIKE_SUP) N(ADD_6_ADDR) N(MULT_AUTH) N(EAP_ONLY) ] sending packet: from 192.168.0.100[4500] to 192.168.0.1[4500] received packet: from 192.168.0.1[4500] to 192.168.0.100[4500] parsed IKE_AUTH response 1 [ IDr CERT AUTH CP SA TSi TSr N(AUTH_LFT) N(MOBIKE_SUP) N(ADD_4_ADDR) N(ADD_6_ADDR) N(ADD_6_ADDR) ] received end entity cert "C=CH, O=Linux strongSwan, CN=moon.strongswan.org" using certificate "C=CH, O=Linux strongSwan, CN=moon.strongswan.org" using trusted ca certificate "C=CH, O=Linux strongSwan, CN=strongSwan Root CA" checking certificate status of "C=CH, O=Linux strongSwan, CN=moon.strongswan.org" fetching crl from 'http://crl.strongswan.org/strongswan.crl' ... using trusted certificate "C=CH, O=Linux strongSwan, CN=strongSwan Root CA" crl correctly signed by "C=CH, O=Linux strongSwan, CN=strongSwan Root CA" crl is valid: until Mar 29 23:27:26 2010 certificate status is good reached self-signed root ca with a path length of 0 authentication of 'moon.strongswan.org' with RSA signature successful IKE_SA home[1] established between 192.168.0.100[carol@strongswan.org]...192.168.0.1[moon.strongswan.org] scheduling reauthentication in 3406s maximum IKE_SA lifetime 3586s installing new virtual IP 10.3.0.1 dave# ipsec up home initiating IKE_SA home[1] to 192.168.0.1 generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) ] sending packet: from 192.168.0.200[500] to 192.168.0.1[500] received packet: from 192.168.0.1[500] to 192.168.0.200[500] parsed IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(MULT_AUTH) ] received cert request for "C=CH, O=Linux strongSwan, CN=strongSwan Root CA" sending cert request for "C=CH, O=Linux strongSwan, CN=strongSwan Root CA" authentication of 'dave@strongswan.org' (myself) with RSA signature successful sending end entity cert "C=CH, O=Linux strongSwan, OU=Accounting, CN=dave@strongswan.org" establishing CHILD_SA home generating IKE_AUTH request 1 [ IDi CERT CERTREQ IDr AUTH CP SA TSi TSr N(MOBIKE_SUP) N(ADD_6_ADDR) N(MULT_AUTH) N(EAP_ONLY) ] sending packet: from 192.168.0.200[4500] to 192.168.0.1[4500] received packet: from 192.168.0.1[4500] to 192.168.0.200[4500] parsed IKE_AUTH response 1 [ IDr CERT AUTH CP SA TSi TSr N(AUTH_LFT) N(MOBIKE_SUP) N(ADD_4_ADDR) N(ADD_6_ADDR) N(ADD_6_ADDR) ] received end entity cert "C=CH, O=Linux strongSwan, CN=moon.strongswan.org" using certificate "C=CH, O=Linux strongSwan, CN=moon.strongswan.org" using trusted ca certificate "C=CH, O=Linux strongSwan, CN=strongSwan Root CA" checking certificate status of "C=CH, O=Linux strongSwan, CN=moon.strongswan.org" fetching crl from 'http://crl.strongswan.org/strongswan.crl' ... using trusted certificate "C=CH, O=Linux strongSwan, CN=strongSwan Root CA" crl correctly signed by "C=CH, O=Linux strongSwan, CN=strongSwan Root CA" crl is valid: until Mar 29 23:27:26 2010 certificate status is good reached self-signed root ca with a path length of 0 authentication of 'moon.strongswan.org' with RSA signature successful IKE_SA home[1] established between 192.168.0.200[dave@strongswan.org]...192.168.0.1[moon.strongswan.org] scheduling reauthentication in 3364s maximum IKE_SA lifetime 3544s installing new virtual IP 10.3.0.2 alice# ipsec up home initiating IKE_SA home[1] to 10.1.0.1 generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) ] sending packet: from 10.1.0.10[500] to 10.1.0.1[500] received packet: from 10.1.0.1[500] to 10.1.0.10[500] parsed IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(MULT_AUTH) ] received cert request for "C=CH, O=Linux strongSwan, CN=strongSwan Root CA" sending cert request for "C=CH, O=Linux strongSwan, CN=strongSwan Root CA" authentication of 'alice@strongswan.org' (myself) with RSA signature successful sending end entity cert "C=CH, O=Linux strongSwan, OU=Sales, CN=alice@strongswan.org" establishing CHILD_SA home generating IKE_AUTH request 1 [ IDi CERT CERTREQ IDr AUTH CP SA TSi TSr N(MOBIKE_SUP) N(ADD_6_ADDR) N(MULT_AUTH) N(EAP_ONLY) ] sending packet: from 10.1.0.10[4500] to 10.1.0.1[4500] received packet: from 10.1.0.1[4500] to 10.1.0.10[4500] parsed IKE_AUTH response 1 [ IDr CERT AUTH CP SA TSi TSr N(AUTH_LFT) N(MOBIKE_SUP) N(ADD_4_ADDR) N(ADD_6_ADDR) N(ADD_6_ADDR) ] received end entity cert "C=CH, O=Linux strongSwan, CN=moon.strongswan.org" using certificate "C=CH, O=Linux strongSwan, CN=moon.strongswan.org" using trusted ca certificate "C=CH, O=Linux strongSwan, CN=strongSwan Root CA" checking certificate status of "C=CH, O=Linux strongSwan, CN=moon.strongswan.org" fetching crl from 'http://crl.strongswan.org/strongswan.crl' ... using trusted certificate "C=CH, O=Linux strongSwan, CN=strongSwan Root CA" crl correctly signed by "C=CH, O=Linux strongSwan, CN=strongSwan Root CA" crl is valid: until Mar 29 23:27:26 2010 certificate status is good reached self-signed root ca with a path length of 0 authentication of 'moon.strongswan.org' with RSA signature successful IKE_SA home[1] established between 10.1.0.10[alice@strongswan.org]...10.1.0.1[moon.strongswan.org] scheduling reauthentication in 3285s maximum IKE_SA lifetime 3465s installing new virtual IP 10.4.0.1 venus# ipsec up home initiating IKE_SA home[1] to 10.1.0.1 generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) ] sending packet: from 10.1.0.20[500] to 10.1.0.1[500] received packet: from 10.1.0.1[500] to 10.1.0.20[500] parsed IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(MULT_AUTH) ] received cert request for "C=CH, O=Linux strongSwan, CN=strongSwan Root CA" sending cert request for "C=CH, O=Linux strongSwan, CN=strongSwan Root CA" authentication of 'venus.strongswan.org' (myself) with RSA signature successful sending end entity cert "C=CH, O=Linux strongSwan, CN=venus.strongswan.org" establishing CHILD_SA home generating IKE_AUTH request 1 [ IDi CERT CERTREQ IDr AUTH CP SA TSi TSr N(MOBIKE_SUP) N(ADD_6_ADDR) N(MULT_AUTH) N(EAP_ONLY) ] sending packet: from 10.1.0.20[4500] to 10.1.0.1[4500] received packet: from 10.1.0.1[4500] to 10.1.0.20[4500] parsed IKE_AUTH response 1 [ IDr CERT AUTH CP SA TSi TSr N(AUTH_LFT) N(MOBIKE_SUP) N(ADD_4_ADDR) N(ADD_6_ADDR) N(ADD_6_ADDR) ] received end entity cert "C=CH, O=Linux strongSwan, CN=moon.strongswan.org" using certificate "C=CH, O=Linux strongSwan, CN=moon.strongswan.org" using trusted ca certificate "C=CH, O=Linux strongSwan, CN=strongSwan Root CA" checking certificate status of "C=CH, O=Linux strongSwan, CN=moon.strongswan.org" fetching crl from 'http://crl.strongswan.org/strongswan.crl' ... using trusted certificate "C=CH, O=Linux strongSwan, CN=strongSwan Root CA" crl correctly signed by "C=CH, O=Linux strongSwan, CN=strongSwan Root CA" crl is valid: until Mar 29 23:27:26 2010 certificate status is good reached self-signed root ca with a path length of 0 authentication of 'moon.strongswan.org' with RSA signature successful IKE_SA home[1] established between 10.1.0.20[venus.strongswan.org]...10.1.0.1[moon.strongswan.org] scheduling reauthentication in 3396s maximum IKE_SA lifetime 3576s installing new virtual IP 10.4.0.2 alice# sleep 1 TEST carol# ipsec status | grep 'home.*INSTALLED' [YES] home{1}: INSTALLED, TUNNEL, ESP SPIs: c9778b15_i ce2a337e_o dave# ipsec status | grep 'home.*INSTALLED' [YES] home{1}: INSTALLED, TUNNEL, ESP SPIs: c4b0b6a2_i c5c5474b_o alice# ipsec status | grep 'home.*INSTALLED' [YES] home{1}: INSTALLED, TUNNEL, ESP SPIs: ced918dd_i c2dec30b_o venus# ipsec status | grep 'home.*INSTALLED' [YES] home{1}: INSTALLED, TUNNEL, ESP SPIs: c3180dbd_i c5dda11a_o moon# ipsec status | grep 'ext.*ESTABLISHED.*carol@strongswan.org' [YES] ext[1]: ESTABLISHED 7 seconds ago, 192.168.0.1[moon.strongswan.org]...192.168.0.100[carol@strongswan.org] moon# ipsec status | grep 'ext.*ESTABLISHED.*dave@strongswan.org' [YES] ext[2]: ESTABLISHED 6 seconds ago, 192.168.0.1[moon.strongswan.org]...192.168.0.200[dave@strongswan.org] moon# ipsec status | grep 'int.*ESTABLISHED.*alice@strongswan.org' [YES] int[3]: ESTABLISHED 4 seconds ago, 10.1.0.1[moon.strongswan.org]...10.1.0.10[alice@strongswan.org] moon# ipsec status | grep 'int.*ESTABLISHED.*venus.strongswan.org' [YES] int[4]: ESTABLISHED 3 seconds ago, 10.1.0.1[moon.strongswan.org]...10.1.0.20[venus.strongswan.org] moon# ipsec pool --status 2> /dev/null | grep 'extpool.*10.3.0.1.*10.3.1.244.*48h.*2' [YES] extpool 10.3.0.1 10.3.1.244 48h 500 2 ( 0%) 2 ( 0%) moon# ipsec pool --status 2> /dev/null | grep 'intpool.*10.4.0.1.*10.4.1.244.*static.*2' [YES] intpool 10.4.0.1 10.4.1.244 static 500 2 ( 0%) 2 ( 0%) moon# ipsec pool --leases --filter pool=extpool,addr=10.3.0.1,id=carol@strongswan.org 2> /dev/null | grep 'online' [YES] extpool 10.3.0.1 online Feb 28 00:23:16 2010 carol@strongswan.org moon# ipsec pool --leases --filter pool=extpool,addr=10.3.0.2,id=dave@strongswan.org 2> /dev/null | grep 'online' [YES] extpool 10.3.0.2 online Feb 28 00:23:17 2010 dave@strongswan.org moon# ipsec pool --leases --filter pool=intpool,addr=10.4.0.1,id=alice@strongswan.org 2> /dev/null | grep 'online' [YES] intpool 10.4.0.1 online Feb 28 00:23:19 2010 alice@strongswan.org moon# ipsec pool --leases --filter pool=intpool,addr=10.4.0.2,id=venus.strongswan.org 2> /dev/null | grep 'online' [YES] intpool 10.4.0.2 online Feb 28 00:23:20 2010 venus.strongswan.org carol# cat /var/log/daemon.log | grep 'installing new virtual IP 10.3.0.1' [YES] Feb 28 00:23:17 carol charon: 16[IKE] installing new virtual IP 10.3.0.1 dave# cat /var/log/daemon.log | grep 'installing new virtual IP 10.3.0.2' [YES] Feb 28 00:23:18 dave charon: 16[IKE] installing new virtual IP 10.3.0.2 alice# cat /var/log/daemon.log | grep 'installing new virtual IP 10.4.0.1' [YES] Feb 28 00:23:19 alice charon: 16[IKE] installing new virtual IP 10.4.0.1 venus# cat /var/log/daemon.log | grep 'installing new virtual IP 10.4.0.2' [YES] Feb 28 00:23:21 venus charon: 15[IKE] installing new virtual IP 10.4.0.2 alice# ping -c 1 10.3.0.1 | grep '64 bytes from 10.3.0.1: icmp_seq=1' [YES] 64 bytes from 10.3.0.1: icmp_seq=1 ttl=63 time=2.84 ms dave# ping -c 1 10.3.0.1 | grep '64 bytes from 10.3.0.1: icmp_seq=1' [YES] 64 bytes from 10.3.0.1: icmp_seq=1 ttl=63 time=2.66 ms alice# ping -c 1 10.4.0.2 | grep '64 bytes from 10.4.0.2: icmp_seq=1' [YES] 64 bytes from 10.4.0.2: icmp_seq=1 ttl=63 time=0.476 ms dave# ping -c 1 10.4.0.2 | grep '64 bytes from 10.4.0.2: icmp_seq=1' [YES] 64 bytes from 10.4.0.2: icmp_seq=1 ttl=63 time=0.873 ms alice# killall tcpdump alice# cat /tmp/tcpdump.log | grep 'IP alice.strongswan.org > moon1.strongswan.org: ESP' [YES] 00:23:28.650578 IP alice.strongswan.org > moon1.strongswan.org: ESP(spi=0xc2dec30b,seq=0x1), length 132 00:23:28.949279 IP alice.strongswan.org > moon1.strongswan.org: ESP(spi=0xc2dec30b,seq=0x2), length 132 alice# cat /tmp/tcpdump.log | grep 'IP moon1.strongswan.org > alice.strongswan.org: ESP' [YES] 00:23:28.653364 IP moon1.strongswan.org > alice.strongswan.org: ESP(spi=0xced918dd,seq=0x1), length 132 00:23:28.949700 IP moon1.strongswan.org > alice.strongswan.org: ESP(spi=0xced918dd,seq=0x2), length 132 dave# killall tcpdump dave# cat /tmp/tcpdump.log | grep 'IP dave.strongswan.org > moon.strongswan.org: ESP' [YES] 00:23:28.808203 IP dave.strongswan.org > moon.strongswan.org: ESP(spi=0xc5c5474b,seq=0x1), length 132 00:23:29.115630 IP dave.strongswan.org > moon.strongswan.org: ESP(spi=0xc5c5474b,seq=0x2), length 132 dave# cat /tmp/tcpdump.log | grep 'IP moon.strongswan.org > dave.strongswan.org: ESP' [YES] 00:23:28.810791 IP moon.strongswan.org > dave.strongswan.org: ESP(spi=0xc4b0b6a2,seq=0x1), length 132 00:23:29.116417 IP moon.strongswan.org > dave.strongswan.org: ESP(spi=0xc4b0b6a2,seq=0x2), length 132 carol# killall tcpdump carol# cat /tmp/tcpdump.log | grep 'IP moon.strongswan.org > carol.strongswan.org: ESP' [YES] 00:23:28.622805 IP moon.strongswan.org > carol.strongswan.org: ESP(spi=0xc9778b15,seq=0x1), length 132 00:23:28.770412 IP moon.strongswan.org > carol.strongswan.org: ESP(spi=0xc9778b15,seq=0x2), length 132 carol# cat /tmp/tcpdump.log | grep 'IP carol.strongswan.org > moon.strongswan.org: ESP' [YES] 00:23:28.622888 IP carol.strongswan.org > moon.strongswan.org: ESP(spi=0xce2a337e,seq=0x1), length 132 00:23:28.770490 IP carol.strongswan.org > moon.strongswan.org: ESP(spi=0xce2a337e,seq=0x2), length 132 venus# killall tcpdump venus# cat /tmp/tcpdump.log | grep 'IP moon1.strongswan.org > venus.strongswan.org: ESP' [YES] 00:23:28.916141 IP moon1.strongswan.org > venus.strongswan.org: ESP(spi=0xc3180dbd,seq=0x1), length 132 00:23:29.071939 IP moon1.strongswan.org > venus.strongswan.org: ESP(spi=0xc3180dbd,seq=0x2), length 132 venus# cat /tmp/tcpdump.log | grep 'IP venus.strongswan.org > moon1.strongswan.org: ESP' [YES] 00:23:28.916221 IP venus.strongswan.org > moon1.strongswan.org: ESP(spi=0xc5dda11a,seq=0x1), length 132 00:23:29.072051 IP venus.strongswan.org > moon1.strongswan.org: ESP(spi=0xc5dda11a,seq=0x2), length 132 POST-TEST alice# ipsec stop Stopping strongSwan IPsec... venus# ipsec stop Stopping strongSwan IPsec... moon# ipsec stop Stopping strongSwan IPsec... carol# ipsec stop Stopping strongSwan IPsec... dave# ipsec stop Stopping strongSwan IPsec... alice# /etc/init.d/iptables stop 2> /dev/null * Stopping firewall ... [ ok ] venus# /etc/init.d/iptables stop 2> /dev/null * Stopping firewall ... [ ok ] moon# /etc/init.d/iptables stop 2> /dev/null * Stopping firewall ... [ ok ] carol# /etc/init.d/iptables stop 2> /dev/null * Stopping firewall ... [ ok ] dave# /etc/init.d/iptables stop 2> /dev/null * Stopping firewall ... [ ok ] moon# ip route del 10.3.0.0/16 via 192.168.0.1 moon# ip route del 10.4.0.0/16 via 10.1.0.1 moon# conntrack -F moon# ipsec pool --del extpool 2> /dev/null moon# ipsec pool --del intpool 2> /dev/null moon# rm /etc/ipsec.d/ipsec.*