Openswan Konfiguration

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
neptunus
Beiträge: 8
Registriert: 08.09.2004 12:27:07

Openswan Konfiguration

Beitrag von neptunus » 27.09.2004 18:08:58

Hallo,

ich versuche gerade mein WLAN mit ipsec so abzusichern, dass ich mich mit meinem Notebook als Roadwarrior zu meinem Debian-Rechner verbinde, auf dem openswan läuft, der mich dann weiter in mein lokales LAN verbindet.

Dazu habe ich Folgendes in der ipsec.conf meines Debian-Rechners stehen:

Code: Alles auswählen

version 2.0     # conforms to second version of ipsec.conf specification

# basic configuration
config setup

conn testconnection
        auto=add
        authby=secret
        left=%any
        right=192.168.1.1
        pfs=yes
        keyingtries=0

conn testconnection-net
        auto=add
        authby=secret
        left=%any

        right=192.168.1.1
        rightsubnet=10.0.0.0/8
        rightnexthop=10.0.0.3

        pfs=yes
        keyingtries=0

include /etc/ipsec.d/examples/no_oe.conf
Die ipsec.conf meines Windows-Rechners sieht so aus:

Code: Alles auswählen

conn testconnection
	left=%any
	right=192.168.1.1
	
	presharedkey="passwort"
	auto=start
	pfs=yes

conn testconnection-net
	left=%any
	right=192.168.1.1
	rightsubnet=10.0.0.0/8
	rightnexthop=10.0.0.3
	presharedkey="passwort"
	auto=start
	pfs=yes
Wenn ich nun von meinem Notebook aus versuche, meinen Debian-Rechner an 192.168.1.1 zu pingen, erhalte ich immer nur die Meldung "IP-Sicherheit wird verhandelt." - seltsamerweise auch wenn ich mehrere Minuten warte erscheint immer nur diese Meldung.

In /var/log/auth.log ist jedoch folgende Zeile zu sehen:
Sep 27 17:58:56 debian pluto[6218]: "testconnection"[1] 192.168.1.2 #2: ERROR: netlink response for Add SA esp.edc9005a@192.168.1.1 included errno 2: No such file or directory

Ich kann aber leider mit dieser Meldung nichts anfangen, was bedeutet dieser Fehler?

Hier noch die gesamten ipsec-relevanten Einträge aus /var/log/auth.log

Code: Alles auswählen

Sep 27 17:58:24 debian ipsec__plutorun: Starting Pluto subsystem...
Sep 27 17:58:24 debian pluto[6218]: Starting Pluto (Openswan Version 2.1.3 X.509-1.4.8-1 PLUTO_USES_KEYRR)
Sep 27 17:58:24 debian pluto[6218]:   including NAT-Traversal patch (Version 0.6c) [disabled]
Sep 27 17:58:24 debian pluto[6218]: Using Linux 2.6 IPsec interface code
Sep 27 17:58:25 debian pluto[6218]: Changing to directory '/etc/ipsec.d/cacerts'
Sep 27 17:58:25 debian pluto[6218]:   Warning: empty directory
Sep 27 17:58:25 debian pluto[6218]: Changing to directory '/etc/ipsec.d/crls'
Sep 27 17:58:25 debian pluto[6218]:   Warning: empty directory
Sep 27 17:58:27 debian pluto[6218]: added connection description "testconnection-net"
Sep 27 17:58:28 debian pluto[6218]: added connection description "testconnection"
Sep 27 17:58:29 debian pluto[6218]: listening for IKE messages
Sep 27 17:58:29 debian pluto[6218]: adding interface wlan0/wlan0 192.168.1.1
Sep 27 17:58:29 debian pluto[6218]: adding interface eth0/eth0 10.0.0.11
Sep 27 17:58:29 debian pluto[6218]: adding interface lo/lo 127.0.0.1
Sep 27 17:58:29 debian pluto[6218]: loading secrets from "/etc/ipsec.secrets"
Sep 27 17:58:55 debian pluto[6218]: packet from 192.168.1.2:500: ignoring Vendor ID payload [MS NT5 ISAKMPOAKLEY 00000002]
Sep 27 17:58:55 debian pluto[6218]: packet from 192.168.1.2:500: ignoring Vendor ID payload [FRAGMENTATION]
Sep 27 17:58:55 debian pluto[6218]: packet from 192.168.1.2:500: received Vendor ID payload [draft-ietf-ipsec-nat-t-ike-02_n] meth=106, but already using method 0
Sep 27 17:58:55 debian pluto[6218]: "testconnection-net"[1] 192.168.1.2 #1: responding to Main Mode from unknown peer 192.168.1.2
Sep 27 17:58:55 debian pluto[6218]: "testconnection-net"[1] 192.168.1.2 #1: transition from state (null) to state STATE_MAIN_R1
Sep 27 17:58:56 debian pluto[6218]: "testconnection-net"[1] 192.168.1.2 #1: transition from state STATE_MAIN_R1 to state STATE_MAIN_R2
Sep 27 17:58:56 debian pluto[6218]: "testconnection-net"[1] 192.168.1.2 #1: Peer ID is ID_IPV4_ADDR: '192.168.1.2'
Sep 27 17:58:56 debian pluto[6218]: "testconnection-net"[1] 192.168.1.2 #1: transition from state STATE_MAIN_R2 to state STATE_MAIN_R3
Sep 27 17:58:56 debian pluto[6218]: "testconnection-net"[1] 192.168.1.2 #1: sent MR3, ISAKMP SA established
Sep 27 17:58:56 debian pluto[6218]: "testconnection"[1] 192.168.1.2 #2: responding to Quick Mode
Sep 27 17:58:56 debian pluto[6218]: "testconnection"[1] 192.168.1.2 #2: ERROR: netlink response for Add SA esp.edc9005a@192.168.1.1 included errno 2: No such file or directory
Sep 27 17:58:56 debian pluto[6218]: "testconnection"[1] 192.168.1.2: deleting connection "testconnection" instance with peer 192.168.1.2 {isakmp=#0/ipsec=#0}
Sep 27 17:58:57 debian pluto[6218]: "testconnection-net"[1] 192.168.1.2 #1: Quick Mode I1 message is unacceptable because it uses a previously used Message ID 0x0881c6d3 (perhaps this is a duplicated packet)
Sep 27 17:59:27 debian last message repeated 4 times
Wäre schön wenn mir jemand erklären könnte, was ich falsch gemacht habe. Ich selber komme leider nicht mehr weiter.

Benutzeravatar
meister_ede
Beiträge: 71
Registriert: 16.08.2002 18:46:28
Kontaktdaten:

Beitrag von meister_ede » 28.09.2004 15:02:43

nimm mal den rightnexthop=bla raus. Da hatte ich auch mal probleme mir version 2.

was soll das überhaupt???
rightsubnet=10.0.0.0/8
rightnexthop=10.0.0.3

hast du in ipsec.secret
192.168.1.??? 192.168.1.1 : "passwort"
??? für Client-IP

neptunus
Beiträge: 8
Registriert: 08.09.2004 12:27:07

Beitrag von neptunus » 28.09.2004 15:40:52

In der ipsec.secrets steht das:
%any 192.168.1.1 : "passwort"

Die rightnexthop-Zeilen aus den .conf-Dateien hab ich gelöscht, leider ändert es aber nichts am Ergebnis.

Bei einem Ping wird immer die IP-Sicherheit verhandelt und in den Log-Dateien steht das Selbe wie schon vorher.

Benutzeravatar
meister_ede
Beiträge: 71
Registriert: 16.08.2002 18:46:28
Kontaktdaten:

Beitrag von meister_ede » 29.09.2004 00:24:11

minimiere die Problemquellen. Kommentiere die "testconnection-net" auf beiden Seiten aus und starte neu.

neptunus
Beiträge: 8
Registriert: 08.09.2004 12:27:07

Beitrag von neptunus » 29.09.2004 16:06:39

Hi,

danke für die Antwort!

Leider hilft das Auskommentieren der einen Verbindung überhaupt nichts.

Mein Problem ist immer noch das Selbe.

Ich vermute inzwischen, dass irgend eine Komponente im Kernel zu fehlen scheint bzw. dass ein notwendiges Programm nicht auf meinem Debian-Rechner installiert ist - nur komme ich leider alleine nicht weiter.

Benutzeravatar
meister_ede
Beiträge: 71
Registriert: 16.08.2002 18:46:28
Kontaktdaten:

Beitrag von meister_ede » 29.09.2004 18:17:46

Schau mal ob folgende Pakete installiert sind:
openssl (!!!!)
gawk
iproute
libssl0.X.X

neptunus
Beiträge: 8
Registriert: 08.09.2004 12:27:07

Beitrag von neptunus » 29.09.2004 20:48:38

Diese Pakete sind alle installiert, openswan will aber einfach nicht funktionieren.

Benutzeravatar
meister_ede
Beiträge: 71
Registriert: 16.08.2002 18:46:28
Kontaktdaten:

Beitrag von meister_ede » 29.09.2004 23:54:24

hmmmm. Ich glaube langsam, Du hat recht. Aber stell nochmal sicher, dass Windows- UND Linux-seitig keine Firewall läuft (bedenke, Windows hat von haus aus eine!!!)

nimmst du einen 2.4er oder2.6er Kern?? Ich hab leider nur mit 2.4 Erfahrung.

Wenn das ipsec.o modul nicht da wäre, würde sich openswan schon beim start beschweren. Dann wird es sich wohl um eine Kernelkomponente handeln. Haste beim Kernelbauen vielleicht was entscheidenes rausgeschmissen?? lad dir am besten die aktuellen Quellen des 2.4.er von kernel.org (wichtig, von kernel.org!!!) und lade in 'make menuconfig' die "/boot/config-2.4.18-bf2.4" als Konfigvorlage. Schmeiss dann erstmal nur Gerätetreiber raus, die Du nicht brauchst (USB, Bluethoot, SCSI...) und unter 'network Options' u.a. aktiviere lieber ein bisschen mehr (intuitiv...). oder nimm meine Vorlage:
http://www.gedankensphaere.de/files/my2426

neptunus
Beiträge: 8
Registriert: 08.09.2004 12:27:07

Beitrag von neptunus » 30.09.2004 01:33:23

Hallo, danke für den Tipp. Werd ich morgen gleich das Ganze mit dem 2.4er Kernel probieren :D

Ich hab vorhin den Sourcecode von openswan downgeloaded und diesen kompiliert, da ich vorher das Debian-Package von openswan verwendete und dort den Fehler vermutet habe.

Leider hab ich auch mit der aktuellen, selbst kompilierten Version von openswan den selben Fehler.

Nun meine Frage (ich hoffe, sie ist nicht all zu dumm): Gibt es eine möglichkeit, das von den Sources installierte openswan sauber zu deinstallieren (zB per Script oder etwas Ähnlichem)?

Ich sehe derzeit zwar keine Notwendigkeit openswan zu deinstallieren, vielleicht ist es aber mal nötig.

---edit---

"make uninstal"l ist mein Freund.

neptunus
Beiträge: 8
Registriert: 08.09.2004 12:27:07

Beitrag von neptunus » 01.10.2004 02:03:41

Hallo,

inzwischen läuft openswan bei mir, ohne dass der seltsame Fehler in den Logdateien auftritt. Ich habe einen Host to Host Tunnel zwischen einem Roadwarrior (Win2K) und meinem Linux-Rechner aufgebaut :D

Ich habe gestern noch mit dem Download von Kernel 2.6.8.1 begonnen, bevor mir du die Hinweise für 2.4 gegeben hast, und mit dem 2.6.8.1 funktioniert ipsec.
Trotzdem danke für die ausführliche Erklärung für Kernel 2.4.

Allerdings habe ich noch eine Frage zu meiner Konfiguration, da ich es nicht hinbekommen, über ipsec via wlan mit meinem Notebook auf mein LAN zuzugreifen.

Wäre schön, wenn mir jemand einen Hinweis gegeben könnte, wie in meinem Fall die Konfiguration auszusehen hat.

Hier eine Darstellung meines Netzwerkes

Code: Alles auswählen

[Road-Warrior]<---------->[Debian-Gateway]<--------->[Router]<--------<Internet>
  |>192.168.1.2      |      |>192.168.1.1      |       |> 10.0.0.3
                     |      |> 10.0.0.11       |       |> ISDN (DHCP)
                     |                         |
                192.168.1.0/24             10.0.0.0/8 
Ich würde openswan gerne so einrichten, dass ich mit einem Road-Warrior zu Rechnern in 10.0.0.0/8 verbinden kann, als auch über den Router 10.0.0.3 ins Internet.
Die Konfiguration soll so sein, dass auch eine Verbindung des Roadwarriors zu 192.168.1.1 über ipsec läuft. Und falls es möglich ist, sollen auch Verbindungen zu anderen Rechnern in 192.168.1.0/24 ausschließlich über ipsec hergestellt werden.

Dazu habe ich versucht, in der ipsec.conf auf dem Debian-Rechner folgende Connection anzulegen:

Code: Alles auswählen

conn roadwarrior-net
        auto=add
        authby=secret
        left=%any
        right=192.168.1.1
        rightsubnet=0.0.0.0/0
        pfs=yes
        keyingtries=0
Die ipsec.conf auf dem Win2K-Roadwarrior-Notebook sieht so aus:

Code: Alles auswählen

conn roadwarrior-net
   left=%any
   right=192.168.1.1
   rightsubnet=*
   presharedkey="passwort"
   auto=start
   pfs=yes
Aber wie schon gesagt, ist diese Konfiguration nicht lauffähig.

Für Anregungen wäre ich sehr dankbar.


-----EDIT-----
Von einem Roadwarrior aus kann ich zwar den Debian-Rechner pingen, nicht aber einen Rechner aus 10.0.0.0/8 oder einen Rechner im Internet.

Wenn ich einen Rechner in 10.0.0.0/8 pinge, kommen die ICMP-Pakete laut einem Packetsniffer zwar über wlan0 bei 192.168.1.1 an, verlassen den Rechner aber nicht mehr über eth0.

Antworten