Hallo zusammen,
ich habe ein Problem und möchte mich an dieses Forum wenden.
Gemäß der Anleitung http://wiki.stocksy.co.uk/wiki/L2TP_VPN_in_FreeBSD
habe ich versucht, mit einem Android Smartphone eine IPSEC/l2tp VPN Verbindung zu einem
Freebsd 10 Server mit IPSEC+mpd5 aufzubauen. Leider ist die Verbindung nicht zustande gekommen.
Das Android Handy loggt via adb logcat:
Der IPSEC Tunnel scheint aufgebaut. Das meldet der Android racoon mit pid 3109.
Auch der Server vermeldet positives:
Allerdings mit anderen genatteten IP Adressen:
Aus Sicht des Handys ist der Tunnel mit der meiner Dyndns Adresse aufgebaut. Aus Sicht des Servers mit der
IP des Providers, obwohl beide Geräte IP private Adressen besitzen, die genattet werden. Da der Tunnel
established meldet, ist das glaube ich OK.
Der Andoid Prozeß 3368 mtp sendet ganz am Anfang der Verbindung ein SCCRQ und bekommt, so interpretiere ich das, keine Antwort.
Mir ist nicht klar, welchen Dienst er auf dem Server anspricht. Gehört der noch zu IPSEC oder
versucht er den L2TP Server auf dem Freebsd Rechner zu kontaktieren ?
Das LOG des mpd5 Servers bleibt leer. Dieser scheint nichts zu tun.
Hier meine Config Dateien:
racoon.conf
Meine setkey.conf
Meine mpd.conf
Die psk.txt und mpd.secret (mit den vertraulich Daten) denke ich sind OK.
Mir ist im Alauf nicht ganz klar, wo IPSEC aufhört und wo l2TP/MPD anfängt?
Kann irgendjemand Licht ins Dunkle bringen?
Jegliche Hinweise sind willkommen.
Mit freundlichen Grüßen
Joachim
ich habe ein Problem und möchte mich an dieses Forum wenden.
Gemäß der Anleitung http://wiki.stocksy.co.uk/wiki/L2TP_VPN_in_FreeBSD
habe ich versucht, mit einem Android Smartphone eine IPSEC/l2tp VPN Verbindung zu einem
Freebsd 10 Server mit IPSEC+mpd5 aufzubauen. Leider ist die Verbindung nicht zustande gekommen.
Das Android Handy loggt via adb logcat:
Code:
D/VpnSettings( 2456): received connectivity: zuhause-ipsec: connected? CONNECTING err=0
I/SProxy_mtpd( 3060): Stop VPN daemon: mtpd
D/SProxy_mtpd( 3060): mtpd is stopped after 0 msec
D/SProxy_mtpd( 3060): stopping mtpd, success? true
I/SProxy_racoon( 3060): Stop VPN daemon: racoon
D/SProxy_racoon( 3060): racoon is stopped after 0 msec
D/SProxy_racoon( 3060): stopping racoon, success? true
D/dalvikvm( 2339): GC_CONCURRENT freed 267K, 51% free 2784K/5575K, external 824K/1336K, paused 3ms+15ms
D/VpnService( 3060): Local IP: 10.60.171.191, if: rmnet0
D/VpnService( 3060): VPN UP: down
I/SProxy_racoon( 3060): Start VPN daemon: racoon
D/SProxy_racoon( 3060): racoon is running after 0 msec
D/SProxy_racoon( 3060): service not yet listen()ing; try again
D/racoon ( 3109): Waiting for control socket
D/dalvikvm( 2932): GC_CONCURRENT freed 351K, 50% free 3642K/7175K, external 0K/0K, paused 7ms+3ms
D/racoon ( 3109): Received 3 arguments
I/racoon ( 3109): ipsec-tools 0.7.3 (http://ipsec-tools.sf.net)
I/racoon ( 3109): 10.60.171.191[500] used as isakmp port (fd=10)
I/racoon ( 3109): 10.60.171.191[500] used for NAT-T
I/racoon ( 3109): 10.60.171.191[4500] used as isakmp port (fd=11)
I/racoon ( 3109): 10.60.171.191[4500] used for NAT-T
I/SProxy_racoon( 3060): got data from control socket: 3
D/Volley ( 2932): [15] BasicNetwork.logSlowRequests: HTTP response for request=<[ ] https://android.clients.google.com/vending/api/ApiRequest 0xe8d195d1 NORMAL 5 CheckForNotificationsRequestProto> [lifetime=3272], [size=32], [rc=200], [retryCount=0]
D/Volley ( 2932): [1] Request.finish: 3302 ms: [ ] https://android.clients.google.com/vending/api/ApiRequest 0xe8d195d1 NORMAL 5 CheckForNotificationsRequestProto
I/SProxy_mtpd( 3060): Start VPN daemon: mtpd
D/SProxy_mtpd( 3060): mtpd is running after 0 msec
D/SProxy_mtpd( 3060): service not yet listen()ing; try again
D/mtpd ( 3368): Waiting for control socket
D/mtpd ( 3368): Received 19 arguments
I/mtpd ( 3368): Using protocol l2tp
I/mtpd ( 3368): Connecting to 89.244.120.209 port 1701
I/mtpd ( 3368): Connection established (socket = 11)
D/mtpd ( 3368): Sending SCCRQ (local_tunnel = 6951)
I/racoon ( 3109): no in-bound policy found: 89.244.120.209/32[1701] 10.60.171.191/32[0] proto=udp dir=in
I/racoon ( 3109): IPsec-SA request for 89.244.120.209 queued due to no phase1 found.
I/racoon ( 3109): initiate new phase 1 negotiation: 10.60.171.191[500]<=>89.244.120.209[500]
I/racoon ( 3109): begin Identity Protection mode.
I/SProxy_mtpd( 3060): got data from control socket: 19
I/racoon ( 3109): received Vendor ID: RFC 3947
I/racoon ( 3109): received broken Microsoft ID: FRAGMENTATION
I/racoon ( 3109): Selected NAT-T version: RFC 3947
I/racoon ( 3109): Hashing 89.244.120.209[500] with algo #2
I/racoon ( 3109): Hashing 10.60.171.191[500] with algo #2
I/racoon ( 3109): Adding remote and local NAT-D payloads.
I/racoon ( 3109): Hashing 10.60.171.191[500] with algo #2
I/racoon ( 3109): NAT-D payload #0 doesn't match
I/racoon ( 3109): Hashing 89.244.120.209[500] with algo #2
I/racoon ( 3109): NAT-D payload #1 doesn't match
I/racoon ( 3109): NAT detected: ME PEER
I/racoon ( 3109): KA list add: 10.60.171.191[4500]->89.244.120.209[4500]
I/keystore( 2124): uid: 1016 action: g -> 1 state: 1 -> 1 retry: 4
I/racoon ( 3109): ISAKMP-SA established 10.60.171.191[4500]-89.244.120.209[4500] spi:8b9caa410f7c4118:cdd46778cefd2014
I/racoon ( 3109): initiate new phase 2 negotiation: 10.60.171.191[4500]<=>89.244.120.209[4500]
I/racoon ( 3109): NAT detected -> UDP encapsulation (ENC_MODE 2->4).
I/racoon ( 3109): Adjusting my encmode UDP-Transport->Transport
I/racoon ( 3109): Adjusting peer's encmode UDP-Transport(4)->Transport(2)
I/racoon ( 3109): IPsec-SA established: ESP/Transport 89.244.120.209[0]->10.60.171.191[0] spi=12544634(0xbf6a7a)
I/racoon ( 3109): IPsec-SA established: ESP/Transport 10.60.171.191[4500]->89.244.120.209[4500] spi=164290770(0x9cae0d2)
D/mtpd ( 3368): Timeout -> Sending SCCRQ
D/mtpd ( 3368): Timeout -> Sending SCCRQ
D/mtpd ( 3368): Timeout -> Sending SCCRQ
D/mtpd ( 3368): Timeout -> Sending SCCRQ
D/mtpd ( 3368): Timeout -> Sending SCCRQ
D/mtpd ( 3368): Timeout -> Sending SCCRQ
D/mtpd ( 3368): Timeout -> Sending SCCRQ
D/mtpd ( 3368): Timeout -> Sending SCCRQ
Es sieht so aus, als ob das Handy einen SCC Request ? sendet, den der Server nicht beantwortet.Der IPSEC Tunnel scheint aufgebaut. Das meldet der Android racoon mit pid 3109.
Auch der Server vermeldet positives:
Code:
2014-05-15 17:49:01: INFO: respond new phase 1 negotiation: 192.168.1.132[500]<=>2.206.3.191[2354]
2014-05-15 17:49:01: INFO: begin Identity Protection mode.
2014-05-15 17:49:01: INFO: received Vendor ID: RFC 3947
2014-05-15 17:49:01: INFO: received Vendor ID: draft-ietf-ipsec-nat-t-ike-02
2014-05-15 17:49:01: INFO: received Vendor ID: draft-ietf-ipsec-nat-t-ike-02
2014-05-15 17:49:01: INFO: received Vendor ID: draft-ietf-ipsec-nat-t-ike-00
2014-05-15 17:49:01: INFO: received broken Microsoft ID: FRAGMENTATION
2014-05-15 17:49:01: [2.206.3.191] INFO: Selected NAT-T version: RFC 3947
2014-05-15 17:49:01: [192.168.1.132] INFO: Hashing 192.168.1.132[500] with algo #2
2014-05-15 17:49:01: INFO: NAT-D payload #0 doesn't match
2014-05-15 17:49:01: [2.206.3.191] INFO: Hashing 2.206.3.191[2354] with algo #2
2014-05-15 17:49:01: INFO: NAT-D payload #1 doesn't match
2014-05-15 17:49:01: INFO: NAT detected: ME PEER
2014-05-15 17:49:01: [2.206.3.191] INFO: Hashing 2.206.3.191[2354] with algo #2
2014-05-15 17:49:01: [192.168.1.132] INFO: Hashing 192.168.1.132[500] with algo #2
2014-05-15 17:49:01: INFO: Adding remote and local NAT-D payloads.
2014-05-15 17:49:01: INFO: NAT-T: ports changed to: 2.206.3.191[2661]<->192.168.1.132[4500]
2014-05-15 17:49:01: INFO: KA list add: 192.168.1.132[4500]->2.206.3.191[2661]
2014-05-15 17:49:01: INFO: ISAKMP-SA established 192.168.1.132[4500]-2.206.3.191[2661] spi:8b9caa410f7c4118:cdd46778cefd2014
2014-05-15 17:49:01: [2.206.3.191] INFO: received INITIAL-CONTACT
2014-05-15 17:49:02: INFO: respond new phase 2 negotiation: 192.168.1.132[4500]<=>2.206.3.191[2661]
2014-05-15 17:49:02: INFO: Adjusting my encmode UDP-Transport->Transport
2014-05-15 17:49:02: INFO: Adjusting peer's encmode UDP-Transport(4)->Transport(2)
2014-05-15 17:49:02: INFO: IPsec-SA established: ESP/Transport 192.168.1.132[500]->2.206.3.191[500] spi=164290770(0x9cae0d2)
2014-05-15 17:49:02: INFO: IPsec-SA established: ESP/Transport 192.168.1.132[500]->2.206.3.191[500] spi=12544634(0xbf6a7a)
Allerdings mit anderen genatteten IP Adressen:
Aus Sicht des Handys ist der Tunnel mit der meiner Dyndns Adresse aufgebaut. Aus Sicht des Servers mit der
IP des Providers, obwohl beide Geräte IP private Adressen besitzen, die genattet werden. Da der Tunnel
established meldet, ist das glaube ich OK.
Der Andoid Prozeß 3368 mtp sendet ganz am Anfang der Verbindung ein SCCRQ und bekommt, so interpretiere ich das, keine Antwort.
Mir ist nicht klar, welchen Dienst er auf dem Server anspricht. Gehört der noch zu IPSEC oder
versucht er den L2TP Server auf dem Freebsd Rechner zu kontaktieren ?
Das LOG des mpd5 Servers bleibt leer. Dieser scheint nichts zu tun.
Hier meine Config Dateien:
racoon.conf
Code:
root@einwahl:/var/log # cat /usr/local/etc/racoon/racoon.conf
path pre_shared_key "/usr/local/etc/racoon/psk.txt";
listen
{
# REPLACE 192.168.1.132 with the IP address racoon will listen on (if NAT translated, this is the INSIDE IP)
isakmp 192.168.1.132 [500];
isakmp_natt 192.168.1.132 [4500];
strict_address;
}
remote anonymous
{
exchange_mode main;
passive on;
proposal_check obey;
support_proxy on;
nat_traversal on;
ike_frag on;
dpd_delay 20;
proposal
{
encryption_algorithm aes;
hash_algorithm sha1;
authentication_method pre_shared_key;
dh_group modp1024;
}
}
sainfo anonymous
{
encryption_algorithm 3des,aes;
authentication_algorithm hmac_sha1;
compression_algorithm deflate;
pfs_group modp1024;
}
Meine setkey.conf
Code:
root@einwahl:/usr/local/etc/racoon # cat setkey.conf
flush;
spdflush;
spdadd 0.0.0.0/0[0] 0.0.0.0/0[1701] udp -P in ipsec esp/transport//require;
spdadd 0.0.0.0/0[1701] 0.0.0.0/0[0] udp -P out ipsec esp/transport//require;
Meine mpd.conf
Code:
root@einwahl:/usr/local/etc/mpd5 # cat mpd.conf
startup:
# configure mpd users
set user super pwSuper admin
# configure the console
set console self 127.0.0.1 5005
set console open
# configure the web server
set web self 0.0.0.0 5006
set web open
default:
load l2tp_server
l2tp_server:
# Define dynamic IP address pool.
set ippool add pool_l2tp 192.168.1.50 192.168.1.60
# Create clonable bundle template named B_l2tp
create bundle template B_l2tp
set iface enable proxy-arp
set iface enable tcpmssfix
set ipcp yes vjcomp
# Specify IP address pool for dynamic assigment.
set ipcp ranges 192.168.1.0/24 ippool pool_l2tp
set ipcp dns 192.168.1.1
# Create clonable link template named L_l2tp
create link template L_l2tp l2tp
# Set bundle template to use
set link action bundle B_l2tp
# Multilink adds some overhead, but gives full 1500 MTU.
set link enable multilink
set link no pap chap eap
set link enable chap
set link keep-alive 0 0
# We reducing link mtu to avoid ESP packet fragmentation.
set link mtu 1280
# Configure L2TP
set l2tp self 192.168.1.132
set l2tp enable length
# Allow to accept calls
set link enable incoming
Die psk.txt und mpd.secret (mit den vertraulich Daten) denke ich sind OK.
Mir ist im Alauf nicht ganz klar, wo IPSEC aufhört und wo l2TP/MPD anfängt?
Kann irgendjemand Licht ins Dunkle bringen?
Jegliche Hinweise sind willkommen.
Mit freundlichen Grüßen
Joachim