Re: [openSwan] ipsec.conf: Welche IP bei left= wenn hinter NAT-Router?

2006-05-28 Diskussionsfäden Thomas Antepoth
On Tue, 23 May 2006, Daniel Musketa wrote:

 Server ist über PPPoE/DSL mit der Welt verbunden und hat seine eigene (aber 
 täglich wechselnde) IP.

Und bei hinreichender Instabilität des Providers auch mehrmals täglich.  
Spannend wird es insbesondere dann, wenn beide Seiten dynamische 
IP-Adressen bei instabilen Providern haben.

 Bonusfrage: Hätte es auch eine elegantere Variante gegeben, als jedesmal die 
 IP in der conf-Datei zu ändern?

Ja. Die Verwendung von einem dynamischen Resolving. Ich mache das hier 
über einen angemieteten Root-Server, der via TSIG beim ip-up die neuen 
Namenszuordnungen empfängt und über entsprechende forwarder-Einträge im 
DNS für diese spezielle Zone das Resolving vornimmt.

Diese IP-Namenszuordnungen besitzen eine TTL von gerade mal 30 Sekunden, 
so daß ein PERL-Script auf dem Router diese Zuordnungen zeitnah überprüfen 
und bei Änderungen den Tunnel neu starten kann.

Das PERL-Script dazu gibt's hier:

http://212.227.20.60/debian/dyn-ipsec.pl


Die Wirkungsweise ist grob skizziert wie folgt:

- Einlesen der /etc/ipsec.conf und ermitteln der konfigurierten 
  Connections mit ihren Parametern.

- Für jede Connection einen Resolver-Thread starten, der die in left/right 
  angegebenen Hostnamen in den vom DNS vorgegebenen TTL-Intervallen prüft 
  und Änderungen entsprechend abarbeitet.

- Einen Master-Thread, der zwischen einfachen Namensänderungen oder ganzen 
  Linedrops unterscheidet und entsprechend entweder die Connection neu 
  lädt oder den pppd durchstartet.

Einen Effekt hat die Verwendung von Zertifikaten mit OpenSwan jedoch noch: 
Wenn eine Connection innerhalb ihrer ikelifetime zweimal ab- und wieder 
aufgebaut wird, weigert sich die SA bei ipsec auto --delete zu sterben.

Erst nach Ablauf der ikelifetime geht die SA kaputt und kann erneut 
aufgebaut werden. Sieht nach einem komischen Bug in KLIPS aus.

Die Connection-Infos des Routers sind hier:

conn %default
rightrsasigkey=%cert
leftrsasigkey=%cert
right=%defaultroute
rightcert=fs-antepoth.pem
rightsubnet=192.168.186.0/24
rightsourceip=192.168.186.254
ikelifetime=900
rekeymargin=300
keyingtries=0
authby=rsasig
auto=start
dpddelay=10
dpdtimeout=60
dpdaction=restart

Alle anderen Connections sind dann etwas übersichtlicher definiert:

conn extta
left=www.antepoth.de
leftcert=www.antepoth.de.pem
leftsubnet=192.168.101.254/24
leftsourceip=192.168.101.254
rightcert=dfw1.so.antepoth.de.pem

conn XXXhhta
left=XX-hh.dyndns.org
leftcert=lc-hamburg.pem
leftsubnet=192.168.13.5/255.255.252.0
leftsourceip=192.168.13.5

usw...

Wie Du siehst, haben weder left noch right irgendwelche IP-Adressen. Auf 
diese Weise kann auch die Gegenstelle bei einem IPSEC-Tunnel dynamisch 
sein.



t++

Re: [openSwan] ipsec.conf: Welche IP bei left= wenn hinter NAT-Router?

2006-05-24 Diskussionsfäden Daniel Musketa
Am Dienstag 23 Mai 2006 13:51 schrieb Markus Schulz:
 On Tuesday 23 May 2006 10:00, Daniel Musketa wrote:
  ich habe einen IPsec-VPN-Server, 
[...]
  Server ist über PPPoE/DSL mit der Welt verbunden und hat seine eigene
  (aber täglich wechselnde) IP.
 
  Aus der /etc/ipsec.conf (left ist local, right remote):
 
  # vigor_client
  conn vigor
  authby=secret
  auto=add
  compress=yes
  left=84.179.65.xxx

 Versuch mal:
 left=%defaultroute

  leftsubnet=192.168.1.0/24
  right=%any
  rightsubnet=192.168.0.0/24
  type=tunnel
  # /vigor_client

 So hatte ich das früher bei FreeSWan. Dort habe ich dann die Einwahl per
 Cronjob nachts von Hand neu gemacht (damit immer zur gleichen Uhrzeit)
 und das IPSec neu gestartet. Dabei muss man dann nichts im Configfile
 ersetzen.
 Das sollte bei OpenSWan auch funktionieren.

Das habe ich gerade (noch unter dem PPPoE-Setup) mal probiert: Setze ich 
left=%defaultroute und starte ipsec neu, wird keine Verbindung aufgebaut. 
auth.log erhält die Meldung 

pluto[14997]: packet from remote ip:500: initial Main Mode message
received on local ip:500 but no connection has been authorized

Setze ich wieder die aktuelle (öffentliche) IP und restarte ipsec, bekomme ich 
sofort eine Verbindung:


Am Dienstag 23 Mai 2006 10:00 schrieb Daniel Musketa:
 Jetzt möchte ich den Server hinter einen NAT-Router (Fritz!Box) stellen.
 Der Server hätte also ein neues Subnetz mit dem Router.
 Dieser Router (192.168.254.254) ist so eingestellt, daß er alle Pakete, die
 nicht für ihn selbst sind (die Fritz!Box macht beispielsweise VoIP), an den
 Debain-Server (192.168.254.1) weiterleitet (im Fritz-Konfigurationsmenü
 heißt das exposed Host -- ist das sowas wie 'ne DMZ?).

 Was muß dann bei left= eingetragen werden?
 
 Bonusfrage: Hätte es auch eine elegantere Variante gegeben, als jedesmal
 die IP in der conf-Datei zu ändern?

War das %defaultroute Deine Empfehlung für das bestehende (Bonusfrage) oder 
das geplante Setup hinter dem NAT-Router?


Liebe Grüße

Daniel




PS: Warum bekomme ich erst jetzt (22:58 Uhr) Nachrichten von 15:19 Uhr? Liegt 
das an mir oder an der Liste (bin erst neu dabei)?



Re: [openSwan] ipsec.conf: Welche IP bei left= wenn hinter NAT-Router?

2006-05-23 Diskussionsfäden Markus Schulz
On Tuesday 23 May 2006 10:00, Daniel Musketa wrote:
 Hallo,

 ich habe einen IPsec-VPN-Server, der mich damals bei der Einrichtung
 ziemlich Nerven gekostet hat ... Nach langem Probieren hatte ich dann
 folgende Konfiguration:

 Server ist über PPPoE/DSL mit der Welt verbunden und hat seine eigene
 (aber täglich wechselnde) IP.

 Aus der /etc/ipsec.conf (left ist local, right remote):

   # vigor_client
   conn vigor
   authby=secret
   auto=add
   compress=yes
   left=84.179.65.xxx

Versuch mal:
left=%defaultroute

   leftsubnet=192.168.1.0/24
   right=%any
   rightsubnet=192.168.0.0/24
   type=tunnel
   # /vigor_client


So hatte ich das früher bei FreeSWan. Dort habe ich dann die Einwahl per 
Cronjob nachts von Hand neu gemacht (damit immer zur gleichen Uhrzeit) 
und das IPSec neu gestartet. Dabei muss man dann nichts im Configfile 
ersetzen.
Das sollte bei OpenSWan auch funktionieren.

MfG
Markus Schulz

-- 
Tobias Portmann schrieb:
 Wieso ist das Mem so ausgelastet? 1720k free... 
 Interpretiere ich hier was falsch, oder was könnte der Grund dafür 
sein?
Wenn du Hauptspeicher ungenutzt auf Vorrat halten willst, lege ihn neben
den Computer.