Linux VPN Server + NAT-T

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Na mijn Windows Home Server ervaringen heb ik Ubuntu Server 10.04 LTS op mijn server gezet. Deze werkt uitstekend. Omdat ik een android telefoon heb wil ik graag gebruik maken van de standaard "L2TP/IPSec" VPN server ipv de "OpenVPN" die ik voorheen altijd gebruikte.

Ik heb het volgende geïnstalleerd:
- OpenSwan
- l2tpd

Na deze ingesteld te hebben via deze site kan ik in mijn interne netwerk een VPN verbinding opzetten. Van buitenaf werkt het nog niet omdat tussen mijn server en het internet een Router staat. Ik heb al verschillende poorten geforward maar kan geen verbinding maken.
Nu heb ik iets gelezen over IPSec en NAT traversal. IPSec zou niet werken in combinatie met een NAT (Network Address Translation). Deze zou moeten werken wanneer je de kernel van OpenSwan (KLIPS) patched of gebruik maakt van NETKEY. Dit laatste zegt mij niks.

Heeft iemand hier ervaring mee?

Gr,

rpleum 8)

Acties:
  • 0 Henk 'm!

  • BHQ
  • Registratie: November 2003
  • Laatst online: 11-09 20:05

BHQ

Hmm, IPsec werkt naast het mappen van een poort geloof ik ook met het GRE protocol.

Het voordeel van OpenVPN is idd. dat je maar een enkele poort hoeft door te mappen, maar om OpenVPN op je toestel te laten werken mag je gaan rooten (iirc)..

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Klopt, en dat kan (volgensmij) nog niet op de HTC Legend. Een ander voordeel is dat als je ergens anders bent, je niet OpenVPN op die PC hoeft te installeren omdat L2TP/IPSec standaard al is geïmplementeerd in Windows.

Acties:
  • 0 Henk 'm!

  • BHQ
  • Registratie: November 2003
  • Laatst online: 11-09 20:05

BHQ

Then again, met OpenVPN kan je nagenoeg overal terecht waar je gelimiteerde internettoegang hebt ;)

Acties:
  • 0 Henk 'm!

  • Kompaan
  • Registratie: Juni 2009
  • Laatst online: 02-12-2022
Je moet idd ook PROTO 47/GRE (of PROTO 50/ESP?) doorsturen, maar dat kan niet in alle routers. Volgens mij zit dat NAT-T trouwens inmiddels wel in de nieuwe kernel/packages.

De VPN server achter NAT lijkt mij voor de rest lastig... Linux bak als gateway inzetten misschien? :+

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Jarpse schreef op dinsdag 05 oktober 2010 @ 15:47:
Then again, met OpenVPN kan je nagenoeg overal terecht waar je gelimiteerde internettoegang hebt ;)
Wanneer je dat hebt, heb je vaak ook geen admin rechten om OpenVPN te installeren.
Als je bij iemand anders op de PC zit, is het een stuk makkelijker om gebruik te maken van de standaard VPN client

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Kompaan schreef op dinsdag 05 oktober 2010 @ 15:57:
Je moet idd ook PROTO 47/GRE (of PROTO 50/ESP?) doorsturen, maar dat kan niet in alle routers. Volgens mij zit dat NAT-T trouwens inmiddels wel in de nieuwe kernel/packages.

De VPN server achter NAT lijkt mij voor de rest lastig... Linux bak als gateway inzetten misschien? :+
De Linksys WRT54G bevat drie opties:
- PPTP Passthrough
- IPSec Passthrough
- L2TP Passthrough

Deze staan alle drie aan, Dan zou mijn router dit toch moeten ondersteunen?

Acties:
  • 0 Henk 'm!

  • Kompaan
  • Registratie: Juni 2009
  • Laatst online: 02-12-2022
Verwijderd schreef op dinsdag 05 oktober 2010 @ 16:21:
[...]

De Linksys WRT54G bevat drie opties:
- PPTP Passthrough
- IPSec Passthrough
- L2TP Passthrough
Gaat waarschijnlijk alleen over uitgaande (dus clients binnen -> server buiten) verbindingen. Wat je nodig hebt is ipv TCP/UDP poort forwarding, forwarding van een ander protocol (GRE dus). Meeste standaard routers sturen alleen TCP/UDP door van buiten naar binnen namelijk.
Kan je daar niet zelf DD-WRT ofzo opzetten en daar je VPN server op draaien :9

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Kompaan schreef op dinsdag 05 oktober 2010 @ 16:34:
[...]


Gaat waarschijnlijk alleen over uitgaande (dus clients binnen -> server buiten) verbindingen. Wat je nodig hebt is ipv TCP/UDP poort forwarding, forwarding van een ander protocol (GRE dus). Meeste standaard routers sturen alleen TCP/UDP door van buiten naar binnen namelijk.


[...]

Kan je daar niet zelf DD-WRT ofzo opzetten en daar je VPN server op draaien :9
ja zou kunnen, maar dan lever ik in op de snelheid van mijn VPN verbinding. Is het nou gewoon niet mogelijk om een VPN server te draaien achter een NAT?

Acties:
  • 0 Henk 'm!

  • BHQ
  • Registratie: November 2003
  • Laatst online: 11-09 20:05

BHQ

Ongetwijfeld kan het wel, maar niet met je huidige firmware zo blijkt ;)

Je moet het protocol kunnen forwarden (als ik het correct verwoord zo).

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dit staat in /var/log/auth.log wanneer ik verbinding van buitenaf wil maken:

code: auth.log
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Oct  5 18:48:39 server pluto[1546]: packet from 62.133.64.1:19460: received Vendor ID payload [RFC 3947] method set to=109 
Oct  5 18:48:39 server pluto[1546]: packet from 62.133.64.1:19460: received Vendor ID payload [draft-ietf-ipsec-nat-t-ike-02] meth=107, but already using method 109
Oct  5 18:48:39 server pluto[1546]: packet from 62.133.64.1:19460: received Vendor ID payload [draft-ietf-ipsec-nat-t-ike-02_n] meth=106, but already using method 109
Oct  5 18:48:39 server pluto[1546]: packet from 62.133.64.1:19460: received Vendor ID payload [draft-ietf-ipsec-nat-t-ike-00]
Oct  5 18:48:39 server pluto[1546]: packet from 62.133.64.1:19460: ignoring Vendor ID payload [FRAGMENTATION 80000000]
Oct  5 18:48:39 server pluto[1546]: "L2TP-PSK-NAT"[4] 62.133.64.1 #6: responding to Main Mode from unknown peer 62.133.64.1
Oct  5 18:48:39 server pluto[1546]: "L2TP-PSK-NAT"[4] 62.133.64.1 #6: transition from state STATE_MAIN_R0 to state STATE_MAIN_R1
Oct  5 18:48:39 server pluto[1546]: "L2TP-PSK-NAT"[4] 62.133.64.1 #6: STATE_MAIN_R1: sent MR1, expecting MI2
Oct  5 18:48:40 server pluto[1546]: "L2TP-PSK-NAT"[4] 62.133.64.1 #6: NAT-Traversal: Result using RFC 3947 (NAT-Traversal): both are NATed
Oct  5 18:48:40 server pluto[1546]: "L2TP-PSK-NAT"[4] 62.133.64.1 #6: transition from state STATE_MAIN_R1 to state STATE_MAIN_R2
Oct  5 18:48:40 server pluto[1546]: "L2TP-PSK-NAT"[4] 62.133.64.1 #6: STATE_MAIN_R2: sent MR2, expecting MI3
Oct  5 18:48:40 server pluto[1546]: "L2TP-PSK-NAT"[4] 62.133.64.1 #6: byte 2 of ISAKMP Identification Payload must be zero, but is not
Oct  5 18:48:40 server pluto[1546]: "L2TP-PSK-NAT"[4] 62.133.64.1 #6: probable authentication failure (mismatch of preshared secrets?): malformed payload in packet
Oct  5 18:48:40 server pluto[1546]: | payload malformed after IV
Oct  5 18:48:40 server pluto[1546]: |   d3 e8 33 6b  f2 5b ed 27  70 ca ec 74  63 50 0c 8b
Oct  5 18:48:40 server pluto[1546]: |   eb 8b 5e 28
Oct  5 18:48:40 server pluto[1546]: "L2TP-PSK-NAT"[4] 62.133.64.1 #6: sending notification PAYLOAD_MALFORMED to 62.133.64.1:19460
Oct  5 18:48:43 server pluto[1546]: "L2TP-PSK-NAT"[4] 62.133.64.1 #5: max number of retransmissions (2) reached STATE_MAIN_R2
Oct  5 18:48:50 server pluto[1546]: "L2TP-PSK-NAT"[4] 62.133.64.1 #6: byte 2 of ISAKMP Identification Payload must be zero, but is not
Oct  5 18:48:50 server pluto[1546]: "L2TP-PSK-NAT"[4] 62.133.64.1 #6: probable authentication failure (mismatch of preshared secrets?): malformed payload in packet
Oct  5 18:48:50 server pluto[1546]: | payload malformed after IV
Oct  5 18:48:50 server pluto[1546]: |   d3 e8 33 6b  f2 5b ed 27  70 ca ec 74  63 50 0c 8b
Oct  5 18:48:50 server pluto[1546]: |   eb 8b 5e 28
Oct  5 18:48:50 server pluto[1546]: "L2TP-PSK-NAT"[4] 62.133.64.1 #6: sending notification PAYLOAD_MALFORMED to 62.133.64.1:19460
Oct  5 18:49:02 server pluto[1546]: "L2TP-PSK-NAT"[4] 62.133.64.1 #6: byte 2 of ISAKMP Identification Payload must be zero, but is not
Oct  5 18:49:02 server pluto[1546]: "L2TP-PSK-NAT"[4] 62.133.64.1 #6: probable authentication failure (mismatch of preshared secrets?): malformed payload in packet
Oct  5 18:49:02 server pluto[1546]: | payload malformed after IV
Oct  5 18:49:02 server pluto[1546]: |   d3 e8 33 6b  f2 5b ed 27  70 ca ec 74  63 50 0c 8b
Oct  5 18:49:02 server pluto[1546]: |   eb 8b 5e 28
Oct  5 18:49:02 server pluto[1546]: "L2TP-PSK-NAT"[4] 62.133.64.1 #6: sending notification PAYLOAD_MALFORMED to 62.133.64.1:19460
Oct  5 18:49:50 server pluto[1546]: "L2TP-PSK-NAT"[4] 62.133.64.1 #6: max number of retransmissions (2) reached STATE_MAIN_R2
Oct  5 18:49:50 server pluto[1546]: "L2TP-PSK-NAT"[4] 62.133.64.1: deleting connection "L2TP-PSK-NAT" instance with peer 62.133.64.1 {isakmp=#0/ipsec=#0}


Zo ziet overigens de VPN Passthrough eruit: http://img3.imageshack.us/img3/6927/wrt54g.png

Acties:
  • 0 Henk 'm!

  • Kompaan
  • Registratie: Juni 2009
  • Laatst online: 02-12-2022
Verwijderd schreef op dinsdag 05 oktober 2010 @ 19:11:
Dit staat in /var/log/auth.log wanneer ik verbinding van buitenaf wil maken:
code: auth.log
1
Oct  5 18:48:40 server pluto[1546]: "L2TP-PSK-NAT"[4] 62.133.64.1 #6: NAT-Traversal: Result using RFC 3947 (NAT-Traversal): both are NATed


code: auth.log
1
Oct  5 18:49:02 server pluto[1546]: | payload malformed after IV
Beide devices zitten achter NAT, en een van de NAT router (of beide) klooit met pakketjes, waar je VPN niet van houdt. Kan dus nu zijn dat je WRT er niet aankomt, maar de andere router waar je vandaan probeert wel :P. Is het forwarden van GRE/ESP al gelukt? Bij mijn router ziet dat er zo uit:

Afbeeldingslocatie: http://img214.imageshack.us/img214/4911/90395333.png

Acties:
  • 0 Henk 'm!

Verwijderd

Meeste ellcheapo uitgeleverde (door provider) gateway devices ondersteunen geen GRE.
Ook al is je config goed, het komt niet door die apparaten heen,...

Zo dat scheelt weer uren zoekwerk ;-)
Pagina: 1