Hi all,
I'm trying to set up a strongswan gateway, behind a NAT router for
roadwarrior use.
I can initiate the connection from another debian machine also using
strongswan (also behind NAT), virtual ip is assigned correctly and I'm
able to ping/ssh to the gateway machine on its private ip address but
nothing else behind it.
Routes get added on both machines but I'm not convinced the next hop on
the initiator machine is correct.
My network:
192.168.0.0/24===192.168.0.18 (SS gw)--- 192.168.0.1 (router) .......
%any (vpn client) === 192.168.0.19/32 (virtual ip)
I've added rules to IP tables on the router to forward traffic on udp
ports 500 and 4500 aswell as esp traffic, coming in to a particular
public ip address, to the SS gw - with matching SNAT rules for outbound
traffic. I've tested all this using netcat.
Any help would be most appreciated - I can provide any more info if
required.
Thanks in advance!
Russ
(I've changed the public ip of my router for security to XX.XX.XX.XX and
the router of the roadwarrior machine to YY.YY.YY.YY)
Ipsec.conf on the gateway is;
config setup
# plutodebug=all
crlcheckinterval=180
strictcrlpolicy=no
# cachecrls=yes
nat_traversal=yes
charonstart=yes
plutostart=no
conn %default
ikelifetime=60m
keylife=20m
rekeymargin=3m
keyingtries=1
conn edba-nat
left=%defaultroute
leftcert=lister.e-dba.net-cert.pem
[email protected]
leftsubnet=192.168.0.0/24
right=%any
rightsourceip=192.168.0.19
keyexchange=ikev2
auto=add
On the rw machine;
ted:~# cat /etc/ipsec.conf
config setup
crlcheckinterval=180
strictcrlpolicy=no
plutostart=no
conn %default
ikelifetime=60m
keylife=20m
rekeymargin=3m
keyingtries=1
keyexchange=ikev2
conn edba-nat
left=%defaultroute
leftsourceip=%config
leftcert=russ.e-dba.net-cert.pem
[email protected]
right=XX.XX.XX.XX
[email protected]
rightsubnet=192.168.0.0/24
auto=add
When I initiate the connection from the test roadwarrior machine I get ;
ted:~# ipsec up edba-nat
initiating IKE_SA edba-nat[1] to XX.XX.XX.XX
generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) ]
sending packet: from 192.168.61.90[500] to XX.XX.XX.XX[500]
received packet: from XX.XX.XX.XX[500] to 192.168.61.90[500]
parsed IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP)
CERTREQ N(MULT_AUTH) ]
local host is behind NAT, sending keep alives
remote host is behind NAT
received cert request for "C=UK, ST=East Sussex, O=eDBA Ltd, CN=vpngw,
[email protected]"
sending cert request for "C=UK, ST=East Sussex, O=eDBA Ltd, CN=vpngw,
[email protected]"
authentication of '[email protected]' (myself) with RSA signature
successful
sending end entity cert "C=UK, ST=East Sussex, L=Brighton, O=eDBA Ltd,
CN=russ, [email protected]"
establishing CHILD_SA edba-nat
generating IKE_AUTH request 1 [ IDi CERT CERTREQ IDr AUTH CP SA TSi TSr
N(MOBIKE_SUP) N(NO_ADD_ADDR) N(MULT_AUTH) ]
sending packet: from 192.168.61.90[4500] to XX.XX.XX.XX[4500]
received packet: from XX.XX.XX.XX[4500] to 192.168.61.90[4500]
parsed IKE_AUTH response 1 [ IDr CERT AUTH CP SA TSi TSr N(AUTH_LFT)
N(MOBIKE_SUP) N(NO_ADD_ADDR) ]
received end entity cert "C=UK, ST=East Sussex, L=Brighton, O=eDBA Ltd,
CN=lister, [email protected]"
using certificate "C=UK, ST=East Sussex, L=Brighton, O=eDBA Ltd,
CN=lister, [email protected]"
using trusted ca certificate "C=UK, ST=East Sussex, O=eDBA Ltd,
CN=vpngw, [email protected]"
checking certificate status of "C=UK, ST=East Sussex, L=Brighton, O=eDBA
Ltd, CN=lister, [email protected]"
certificate status is not available
authentication of 'lister.e-dba.net' with RSA signature successful
scheduling reauthentication in 3254s
maximum IKE_SA lifetime 3434s
IKE_SA edba-nat[1] established between
192.168.61.90[[email protected]]...xx.xx.xx.xx[lister.e-dba.net]
installing new virtual IP 192.168.0.19
ted:~#
Route on rw machine;
ted:~# ip r show table 220
192.168.0.0/24 via 192.168.61.1 dev eth0 proto static src 192.168.0.19
Ping gateway on private ip;
ted:~# ping -c 1 192.168.0.18
PING 192.168.0.18 (192.168.0.18) 56(84) bytes of data.
64 bytes from 192.168.0.18: icmp_seq=1 ttl=64 time=75.7 ms
Ping DNS server on private network;
ted:~# ping -c 1 192.168.0.15
PING 192.168.0.15 (192.168.0.15) 56(84) bytes of data.
--- 192.168.0.15 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms
excerpt of the daemon.log in case this is significant;
Jan 14 10:14:15 ted charon: 14[NET] sending packet: from
192.168.61.90[4500] to 217.154.55.251[4500]
Jan 14 10:14:22 ted charon: 03[KNL] creating rekey job for ESP CHILD_SA
with SPI cf8ef4a6 and reqid {1}
Jan 14 10:14:22 ted charon: 09[IKE] establishing CHILD_SA edba-nat{1}
Jan 14 10:14:22 ted charon: 09[ENC] generating CREATE_CHILD_SA request 2
[ N(REKEY_SA) SA No TSi TSr ]
Jan 14 10:14:22 ted charon: 09[NET] sending packet: from
192.168.61.90[4500] to 217.154.55.251[4500]
Jan 14 10:14:22 ted charon: 15[NET] received packet: from
217.154.55.251[4500] to 192.168.61.90[4500]
Jan 14 10:14:22 ted charon: 15[ENC] parsed CREATE_CHILD_SA response 2 [
SA No TSi TSr ]
Jan 14 10:14:22 ted charon: 15[IKE] CHILD_SA edba-nat{1} established
with SPIs c2c5f5e9_i cb2579f8_o and TS 192.168.0.19/32 === 192.168.0.0/24
Jan 14 10:14:22 ted charon: 15[IKE] closing CHILD_SA edba-nat{1} with
SPIs cf8ef4a6_i c72aadd3_o and TS 192.168.0.19/32 === 192.168.0.0/24
Jan 14 10:14:22 ted charon: 15[IKE] sending DELETE for ESP CHILD_SA with
SPI cf8ef4a6
Jan 14 10:14:22 ted charon: 15[ENC] generating INFORMATIONAL request 3 [
D ]
Jan 14 10:14:22 ted charon: 15[NET] sending packet: from
192.168.61.90[4500] to 217.154.55.251[4500]
Jan 14 10:14:22 ted charon: 16[NET] received packet: from
217.154.55.251[4500] to 192.168.61.90[4500]
Jan 14 10:14:22 ted charon: 16[ENC] parsed INFORMATIONAL response 3 [ D ]
Jan 14 10:14:22 ted charon: 16[IKE] received DELETE for ESP CHILD_SA
with SPI c72aadd3
Jan 14 10:14:22 ted charon: 16[IKE] CHILD_SA closed
Jan 14 10:14:46 ted charon: 10[IKE] sending keep alive
Jan 14 10:14:46 ted charon: 10[NET] sending packet: from
192.168.61.90[4500] to 217.154.55.251[4500]
Jan 14 10:15:06 ted charon: 12[IKE] sending keep alive
Jan 14 10:15:06 ted charon: 12[NET] sending packet: from
192.168.61.90[4500] to 217.154.55.251[4500]
Jan 14 10:15:26 ted charon: 13[IKE] sending keep alive
Jan 14 10:15:26 ted charon: 13[NET] sending packet: from
192.168.61.90[4500] to 217.154.55.251[4500]
Ipsec statusall on rw machine;
ted:~# ipsec statusall
Status of IKEv2 charon daemon (strongSwan 4.3.2):
uptime: 31 minutes, since Jan 14 09:58:41 2010
worker threads: 9 idle of 16, job queue load: 0, scheduled events: 4
loaded plugins: curl ldap random x509 pubkey openssl xcbc hmac agent
gmp kernel-netlink stroke updown eapidentity eapmd5 eapgtc eapaka
eapmschapv2
Listening IP addresses:
192.168.61.90
Connections:
edba-nat: %any...XX.XX.XX.XX
edba-nat: local: [[email protected]] uses public key authentication
edba-nat: cert: "C=UK, ST=East Sussex, L=Brighton, O=eDBA Ltd,
CN=russ, [email protected]"
edba-nat: remote: [lister.e-dba.net] uses any authentication
edba-nat: child: dynamic === 192.168.0.0/24
Security Associations:
edba-nat[1]: ESTABLISHED 31 minutes ago,
192.168.61.90[[email protected]]...xx.xx.xx.xx[lister.e-dba.net]
edba-nat[1]: IKE SPIs: 8f74877205e6e94a_i* ec51a88ef2fc6eb4_r,
public key reauthentication in 21 minutes
edba-nat[1]: IKE proposal:
AES_CBC_128/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_2048
edba-nat{1}: INSTALLED, TUNNEL, ESP in UDP SPIs: c79a6ff9_i cb98be4d_o
edba-nat{1}: AES_CBC_128/HMAC_SHA1_96, rekeying in 15 minutes, last
use: no_i no_o
edba-nat{1}: 192.168.0.19/32 === 192.168.0.0/24
======================
On SS gateway machine;
Remote public ip masked for security to YY.YY.YY.YY
lister:/var/cache/apt/archives# ipsec statusall
Status of IKEv2 charon daemon (strongSwan 4.3.2):
uptime: 33 minutes, since Jan 14 09:58:52 2010
worker threads: 9 idle of 16, job queue load: 0, scheduled events: 3
loaded plugins: curl ldap random x509 pubkey openssl xcbc hmac agent
gmp kernel-netlink stroke updown eapidentity eapmd5 eapgtc eapaka
eapmschapv2
Virtual IP pools (size/online/offline):
edba-nat: 1/1/0
Listening IP addresses:
192.168.0.18
Connections:
edba-nat: 192.168.0.18...%any
edba-nat: local: [lister.e-dba.net] uses public key authentication
edba-nat: cert: "C=UK, ST=East Sussex, L=Brighton, O=eDBA Ltd,
CN=lister, [email protected]"
edba-nat: remote: [%any] uses any authentication
edba-nat: child: 192.168.0.0/24 === dynamic
Security Associations:
edba-nat[1]: ESTABLISHED 33 minutes ago,
192.168.0.18[lister.e-dba.net]...yy.yy.yy.yy[[email protected]]
edba-nat[1]: IKE SPIs: 8f74877205e6e94a_i ec51a88ef2fc6eb4_r*,
public key reauthentication in 22 minutes
edba-nat[1]: IKE proposal:
AES_CBC_128/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_2048
edba-nat{1}: INSTALLED, TUNNEL, ESP in UDP SPIs: cb98be4d_i c79a6ff9_o
edba-nat{1}: AES_CBC_128/HMAC_SHA1_96, rekeying in 11 minutes, last
use: no_i no_o
edba-nat{1}: 192.168.0.0/24 === 192.168.0.19/32
lister:/var/cache/apt/archives# ip r show table 220
192.168.0.19 via 192.168.0.1 dev eth0 proto static src 192.168.0.18
--
Russ Cox
Systems Engineer
e-DBA Ltd.
48A Old Steine,
Brighton, East Sussex,
BN1 1NH
Main: +44 (0) 870 366 7800
Direct: +44 (0) 127 322 4704
email: [email protected]
Msn: [email protected]
Skype: russc0x
Company No: 365969
Oracle Partner of the Year
General Business Technology
UKOUG Partner of the year
(4 categories)
_______________________________________________
Users mailing list
[email protected]
https://lists.strongswan.org/mailman/listinfo/users