TCPDUMP alice# tcpdump -i eth0 not port ssh and not port domain and not arp > /tmp/tcpdump.log 2>&1 & moon# tcpdump -i eth0 not port ssh and not port domain and not arp > /tmp/tcpdump.log 2>&1 & PRE-TEST moon# rm /etc/ipsec.d/cacerts/* carol# rm /etc/ipsec.d/cacerts/* dave# rm /etc/ipsec.d/cacerts/* moon# cat /etc/ipsec.d/tables.sql /etc/ipsec.d/data.sql > /etc/ipsec.d/ipsec.sql carol# cat /etc/ipsec.d/tables.sql /etc/ipsec.d/data.sql > /etc/ipsec.d/ipsec.sql dave# cat /etc/ipsec.d/tables.sql /etc/ipsec.d/data.sql > /etc/ipsec.d/ipsec.sql moon# cat /etc/ipsec.d/ipsec.sql | sqlite3 /etc/ipsec.d/ipsec.db carol# cat /etc/ipsec.d/ipsec.sql | sqlite3 /etc/ipsec.d/ipsec.db dave# cat /etc/ipsec.d/ipsec.sql | sqlite3 /etc/ipsec.d/ipsec.db moon# ipsec pool --leases 2> /dev/null name address status start end identity bigpool 10.3.0.1 static May 20 17:56:53 2008 May 20 18:00:05 2008 carol@strongswan.org bigpool 10.3.0.2 static May 20 17:57:11 2008 May 20 17:59:47 2008 dave@strongswan.org 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 ] moon# 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]... carol# sleep 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 N(USE_TRANSP) 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 3579s maximum IKE_SA lifetime 3879s installing new virtual IP 10.3.0.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 N(USE_TRANSP) 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 3556s maximum IKE_SA lifetime 3856s installing new virtual IP 10.3.0.1 carol# sleep 1 TEST carol# cat /var/log/daemon.log | grep 'installing new virtual IP 10.3.0.1' [YES] Feb 28 01:21:47 carol charon: 14[IKE] installing new virtual IP 10.3.0.1 carol# ip addr list dev eth0 | grep '10.3.0.1' [YES] inet 10.3.0.1/32 scope global eth0 carol# ip route list table 220 | grep '10.1.0.0/16.*src 10.3.0.1' [YES] 10.1.0.0/16 via 192.168.0.1 dev eth0 proto static src 10.3.0.1 carol# ipsec status | grep 'home.*INSTALLED' [YES] home{1}: INSTALLED, TUNNEL, ESP SPIs: c4ad7f70_i cfcb3207_o carol# ping -c 1 10.1.0.10 | grep '64 bytes from 10.1.0.10: icmp_seq=1' [YES] 64 bytes from 10.1.0.10: icmp_seq=1 ttl=63 time=1.70 ms dave# cat /var/log/daemon.log | grep 'installing new virtual IP 10.3.0.2' [YES] Feb 28 01:21:46 dave charon: 14[IKE] installing new virtual IP 10.3.0.2 dave# ip addr list dev eth0 | grep '10.3.0.2' [YES] inet 10.3.0.2/32 scope global eth0 dave# ip route list table 220 | grep '10.1.0.0/16.*src 10.3.0.2' [YES] 10.1.0.0/16 via 192.168.0.1 dev eth0 proto static src 10.3.0.2 dave# ipsec status | grep 'home.*INSTALLED' [YES] home{1}: INSTALLED, TUNNEL, ESP SPIs: cfca090d_i c62ae147_o dave# ping -c 1 10.1.0.10 | grep '64 bytes from 10.1.0.10: icmp_seq=1' [YES] 64 bytes from 10.1.0.10: icmp_seq=1 ttl=63 time=0.754 ms moon# cat /var/log/daemon.log | grep 'peer requested virtual IP %any' [YES] Feb 28 01:21:46 moon charon: 11[IKE] peer requested virtual IP %any Feb 28 01:21:47 moon charon: 13[IKE] peer requested virtual IP %any moon# cat /var/log/daemon.log | grep 'acquired existing lease for address.*in pool.*bigpool' [YES] Feb 28 01:21:46 moon charon: 11[LIB] acquired existing lease for address 10.3.0.2 in pool 'bigpool' Feb 28 01:21:47 moon charon: 13[LIB] acquired existing lease for address 10.3.0.1 in pool 'bigpool' moon# cat /var/log/daemon.log | grep 'assigning virtual IP' [YES] Feb 28 01:21:46 moon charon: 11[IKE] assigning virtual IP 10.3.0.2 to peer Feb 28 01:21:47 moon charon: 13[IKE] assigning virtual IP 10.3.0.1 to peer moon# ipsec pool --status 2> /dev/null | grep 'bigpool.*10.3.0.1.*10.3.0.6.*static.*2' [YES] bigpool 10.3.0.1 10.3.0.6 static 6 2 (33%) 2 (33%) moon# ipsec pool --leases --filter pool=bigpool,addr=10.3.0.1,id=carol@strongswan.org 2> /dev/null | grep 'online' [YES] bigpool 10.3.0.1 online Feb 28 01:21:47 2010 carol@strongswan.org moon# ipsec pool --leases --filter pool=bigpool,addr=10.3.0.2,id=dave@strongswan.org 2> /dev/null | grep 'online' [YES] bigpool 10.3.0.2 online Feb 28 01:21:46 2010 dave@strongswan.org moon# ipsec status | grep 'rw.*ESTABLISHED.*carol@strongswan.org' [YES] rw[2]: ESTABLISHED 6 seconds ago, 192.168.0.1[moon.strongswan.org]...192.168.0.100[carol@strongswan.org] moon# ipsec status | grep 'rw.*ESTABLISHED.*dave@strongswan.org' [YES] rw[1]: ESTABLISHED 7 seconds ago, 192.168.0.1[moon.strongswan.org]...192.168.0.200[dave@strongswan.org] moon# killall tcpdump moon# cat /tmp/tcpdump.log | grep 'IP carol.strongswan.org > moon.strongswan.org: ESP' [YES] 01:21:50.097918 IP carol.strongswan.org > moon.strongswan.org: ESP(spi=0xcfcb3207,seq=0x1), length 132 moon# cat /tmp/tcpdump.log | grep 'IP moon.strongswan.org > carol.strongswan.org: ESP' [YES] 01:21:50.098142 IP moon.strongswan.org > carol.strongswan.org: ESP(spi=0xc4ad7f70,seq=0x1), length 132 moon# cat /tmp/tcpdump.log | grep 'IP dave.strongswan.org > moon.strongswan.org: ESP' [YES] 01:21:50.909690 IP dave.strongswan.org > moon.strongswan.org: ESP(spi=0xc62ae147,seq=0x1), length 132 moon# cat /tmp/tcpdump.log | grep 'IP moon.strongswan.org > dave.strongswan.org: ESP' [YES] 01:21:50.910129 IP moon.strongswan.org > dave.strongswan.org: ESP(spi=0xcfca090d,seq=0x1), length 132 alice# killall tcpdump alice# cat /tmp/tcpdump.log | grep 'IP carol1.strongswan.org > alice.strongswan.org: ICMP echo request' [YES] 01:21:50.035772 IP carol1.strongswan.org > alice.strongswan.org: ICMP echo request, id 47445, seq 1, length 64 alice# cat /tmp/tcpdump.log | grep 'IP alice.strongswan.org > carol1.strongswan.org: ICMP echo reply' [YES] 01:21:50.037066 IP alice.strongswan.org > carol1.strongswan.org: ICMP echo reply, id 47445, seq 1, length 64 alice# cat /tmp/tcpdump.log | grep 'IP dave1.strongswan.org > alice.strongswan.org: ICMP echo request' [YES] 01:21:50.847641 IP dave1.strongswan.org > alice.strongswan.org: ICMP echo request, id 21348, seq 1, length 64 alice# cat /tmp/tcpdump.log | grep 'IP alice.strongswan.org > dave1.strongswan.org: ICMP echo reply' [YES] 01:21:50.847678 IP alice.strongswan.org > dave1.strongswan.org: ICMP echo reply, id 21348, seq 1, length 64 POST-TEST moon# ipsec stop Stopping strongSwan IPsec... carol# ipsec stop Stopping strongSwan IPsec... dave# ipsec stop Stopping strongSwan IPsec... 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# rm /etc/ipsec.d/ipsec.* carol# rm /etc/ipsec.d/ipsec.* dave# rm /etc/ipsec.d/ipsec.*