PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : hat hier jemand schon isakmpd unter Linux 2.6.0 zu laufen bekommen?



Seiten : [1] 2

schrippe
12.12.03, 10:48
oder kennt sich einer damit aus, eine isakmpd konfig auf ipsec zu übertragen? danke

ich habe folgende fehlermeldung:

vpn:~# isakmpd
114341.273271 Default pf_key_v2_open: socket (PF_KEY, SOCK_RAW, PF_KEY_V2) failed: Address family not supported by protocol
114341.273797 Default app_init: cannot open connection to application: Address family not supported by protocol

cane
12.12.03, 11:35
Schau Dir das (http://www.google.de/search?hl=de&ie=UTF-8&oe=UTF-8&q=isakmpd+Address+family+not+supported+by+protocol +&meta=lr%3Dlang_de) mal an.
Speziell die Konfiguration von dem (http://www.ipsec-howto.org/ipsec-howto.pdf) ist auch interessant...

Da muß doch was passendes bei sein.
Bei VPN gilt: LESEN, LESEN und nochmal LESEN :o
Hab vier Wochen gebraucht bis meine Win 2000 Clients per WLAN verschlüsselt mit dem VPN Gate kommuniziert haben, langsam verstehe ichs... :)

mfg
cane

dor_kollaesch
27.12.03, 14:38
hi

@schrippe - würd mich interessieren, ob du das bei dir nun am laufen hast.
ich hab hier racoon soweit, dass die verbindungen funzen und wollte mir das mit isakmpd auch mal anschaun. spenneberg schweigt sich leider in seinem howto aus, wie man die zusatztools gebaut kriegt :(
bei racoon kümmert sich ja setkeys um die benachrichtung des kernels - wie läuft das bei isakmpd ? da es von (open)bsd kommt wirds wohl bloß mit tunneln gehn?! nur hab ich kein neues iface :( - denn wenn ich die zwei rechner passend konfiguriere, laufen die pakete trotzdem nur ohne ipsec ein und aus :(

ich würd mich generell über n paar hinweise betreffs isakmpd freuen.

na dann
sers Udo



:ugly:

spenneb
07.01.04, 18:19
Original geschrieben von dor_kollaesch
ich hab hier racoon soweit, dass die verbindungen funzen und wollte mir das mit isakmpd auch mal anschaun. spenneberg schweigt sich leider in seinem howto aus, wie man die zusatztools gebaut kriegt :(


Welche Zusatztools fehlen Dir? Dann nehme ich dass in mein Howto auf ;-)



bei racoon kümmert sich ja setkeys um die benachrichtung des kernels - wie läuft das bei isakmpd ?

Isakmpd baut die Verbindung sofort auf, wenn er gestartet wird. Er muss nicht von dem Kernel dazu aufgefordert werden.

Wenn Du genauer sagst was Dir fehlt, will ich Dir gerne helfen.

Gruß,

Ralf

schrippe
08.01.04, 07:18
@spanneb

hallo,

habe eine openbsd router mit isakmpd und will ihn nun auf debian linux mit
2.6.0 kernel portieren. kann ich da einfach das debianpacket nehmen und die configs rüberkopiren? oder ist das unterschiedlich?

danke

spenneb
08.01.04, 07:59
@schrippe:

Eigentlich müsste dass ohne Änderung laufen. Es gibt keine grundlegenden Unterschiede zwischen dem isakmpd für openbsd und linux.
Wesentliche Ausnahme:
Das on-demand-keying funktioniert meines Wissens unter Linux noch nicht. Kann mich aber täuschen.
Der Isakmpd versucht die Verbindungen bei seinem Start direkt aufzubauen.

Gruß,

Ralf

Sonny
08.01.04, 08:31
ich bin wieder auf free/swan umgestiegen

schrippe
08.01.04, 10:19
@speeneb

hat das on-demand-keying was mit preshared keys zu tun? oder was ist das?

danke

spenneb
08.01.04, 11:30
Ne.

Das ist die Funktion, dass der isakmpd gestartet wird, aber erst dann den Tunnel aufbaut, wenn er gebraucht wird. Unter Linux wird der Tunnel immer direkt bei dem Start des isakmpd aufgebaut.

Gruß,

Ralf

schrippe
08.01.04, 11:42
ok. danke dir.

schrippe
08.01.04, 12:20
habe jetzt mal das debian packet installiert und gestartet.
dabei kam diese fehlermeldung:

test-router:~# isakmpd
131702.274495 Default pf_key_v2_open: socket (PF_KEY, SOCK_RAW, PF_KEY_V2) failed: Address family not supported by protocol
131702.274794 Default app_init: cannot open connection to application: Address family not supported by protocol

liegt es daran, das ich noch keine configdateien habe oder ist das problem grundlegender?

spenneb
08.01.04, 13:26
Starte den isakmpd mit
isakmpd -4
Damit verwendet der isakmpd nicht IPv6. Dann sollte die Fehlermeldung nicht kommen.

Gruß,

Ralf

schrippe
08.01.04, 13:34
irgendwie das gleiche:

test-router:~# isakmpd -4
143329.517163 Default pf_key_v2_open: socket (PF_KEY, SOCK_RAW, PF_KEY_V2) failed: Address family not supported by protocol
143329.517465 Default app_init: cannot open connection to application: Address family not supported by protocol

spenneb
08.01.04, 13:38
Oh. Ok....

Bist Du sicher, dass Dein Kernel IPsec unterstützt?
Welchen Kernel verwendest Du?
Welchen isakmpd verwendest Du?

schrippe
08.01.04, 13:45
ich verwende den 2.6.0 kernel und das testing isakmpd paket von debian.

dazu habe ich im kernel das ipsec userinterface aktiviert. das ist das einzige was ich dazu in der config gefunden habe. (menuconfig)

schrippe
08.01.04, 14:12
@spenneb:

so dieses problem ist behoben.
habe im kernel unter networking options PF_KEY sockets aktiviert. dann geht es mit isakmpd -4.

thx

wenn du der ralf spenneberg bist, muss ich dir sagen dein buch vpn mit linux ist ganz gut gelungen. finde allerdings 50 euro arg happig. nun gut habs ja nun hier.

dann kennst du dich doch mit l2tp aus, oder? was für ne frage ;-)

also habe folgendes problem:

wenn ich mit meinem winxp client eine verbindung zu meinem linux server mit ipsec und l2tp aufbauen will, klappt das nur, wenn dieser per isdn eingewählt ist. d.h. der tunnel ist aufgebaut und der ltpd deamon nimmt die anfrage auf port 1701 an.

so wenn ich nun mit einem windows2000 client und einem gsm modem das ganze machen will, er hat ebenfalls x509 zertifikate, wird der tunnel aufgebaut (IPSec SA established) aber der l2tpd nimmt keine chap-authentifizierung vor. windows sagt dann fehler 800. vpn nicht erreichbar.
er wird noch nicht einmal getriggert. d.h ich sehe keinerlei ausgabe im logfile.
ich connecte mich immer zuerst ins internet und dann auf die ip des servers. also kein ras. es soll eine roadwarrior-server geschichte werden.

thx

cane
08.01.04, 14:29
Nutze einen IPCop (Superfreeswan mit PSK) als VPN Gate für die WLAN Win2000 Clients bis ich es geschafft habe meinen eigenen DebianRouter der das ganze übernehmen (Superfreeswan mit x509) soll zu bauen.

Muß aber sein selber einen zu bauen weil auf dem IPCop viel zu viel unnötiges Zeug läuft...

Deswegen interessiert mich (vor allem spennebs Antwort ;)

Seht ihr irgendwelche Vorteile von Isakmpd / Racoon gegenüber Freeswan?

mfg
cane

schrippe
08.01.04, 14:43
also ich sehe nur den vorteil, das es möglicherweise so sein wird, das freeswan ausstirbt, weil ja nun isakmpd fest im kernel ist.

cane
08.01.04, 15:24
also ich sehe nur den vorteil, das es möglicherweise so sein wird, das freeswan ausstirbt, weil ja nun isakmpd fest im kernel ist.

Das wird aber wenn überhaupt Jahre dauern. Freeswan ist im Privat- und vor allem Unternehmensbereich sehr viel weiter verbreuitet und kann mit mehr anderen IPSEC Implementierungen zusammenarbeiten...

Allein schon die Supportfrage die ja auch wenn es gute Bücher gibt;) nicht unwesentlich ist lässt mich momentan zu Freeswan tendieren.

Und für den der ein VPN implementieren kann müßte ein Kernelpatch doch ein Klacks sein oder:)

mfg
cane

spenneb
08.01.04, 16:35
Wichtig ist die Aktivierung von
PF_KEY sockets
AH transformation
ESP transformation
IPComp transformation
IPsec user configuration interface

Und unter Cryptography die gewünschten Algorithmen.

Steht übrigens auch alles in meinem Howto auf http://www.ipsec-howto.org unter
http://www.ipsec-howto.org/x237.html

Gruß,

Ralf

dor_kollaesch
08.01.04, 18:42
@spenneb
wow - echt ne überraschung hier celebrities im forum zu haben ;)
und vorab - danke für deine arbeit (ipsec-howto, usw.) - das howto findet sich ja nun auch in den 3 grossen zeitungen :D

nunja um auf die "zusatztools" zurückzukommen -
mir mach(t)en keyconf and certpatch ärger
nirgends war was mit Makefiles zu machen und pur mit dem gcc und ld zu arbeiten is auch mir neu :/ - ich habs dann auf sich beruhen lassen

<wichtige_frage>
wieso bindet sich racoon bei mir nich auf ipv6 ? habs mit strict usw. versucht - unklar ...
ipv6-netzwerk läuft ansonsten
</wichtige_frage>

racoon <-> racoon läuft vom feinsten nur
racoon <-> isakmpd nich


mit phase 1 sollte soweit alles im reinen sein ...


<log_racoon>
INFO: isakmp.c:2418:log_ph1established(): ISAKMP-SA established 192.168.1.100[500]-192.168.1.40[500] spi:23073690ce473e35:63e052573557fc01
</log_racoon>


nur verunsichert mich während des aufbaus ein wenig


<log_isakmpd>
Misc 30 ipsec_responder: phase 2 exchange 5 step 0
Exch 10 ipsec_responder: got NOTIFY of type <Unknown 24578>
</log_isakmpd>




letzte meldung von isakmpd
<log>
SA 80 sa_release: SA 0x82b7650 had 6 references
</log>

letzte meldung von racoon
<log>
DEBUG: isakmp.c:668:ph1_main(): ===
</log>

der letzten meldung von isakmpd zufolge sollte ja nun eine sa zwischen den hosts bestehen.
ping geht in keine richtung durch

nach den 60s das timeout - rekeying gibts irgendwie nich, muss man selber nachhelfen
die "selbe" config funktioniert aber von racoon zu racoon :/

zum schluss - kennt einer ne gute quelle für doku über photuris außer den "trockenen" rfcs?

thx a lot

ciao Udo
:ugly:

spenneb
08.01.04, 18:56
Original geschrieben von schrippe
@spenneb:
wenn du der ralf spenneberg bist, muss ich dir sagen dein buch vpn mit linux ist ganz gut gelungen. finde allerdings 50 euro arg happig. nun gut habs ja nun hier.

Preisgestaltung macht der Verlag, nicht ich. Allerdings ist EUR 50,- im Moment normal für ein gebundenes Fachbuch, oder?



wenn ich mit meinem winxp client eine verbindung zu meinem linux server mit ipsec und l2tp aufbauen will, klappt das nur, wenn dieser per isdn eingewählt ist. d.h. der tunnel ist aufgebaut und der ltpd deamon nimmt die anfrage auf port 1701 an.

so wenn ich nun mit einem windows2000 client und einem gsm modem das ganze machen will, er hat ebenfalls x509 zertifikate, wird der tunnel aufgebaut (IPSec SA established) aber der l2tpd nimmt keine chap-authentifizierung vor. windows sagt dann fehler 800. vpn nicht erreichbar.

Das ist ein Problem mit der GSM Verbindung. Möglicherweise ein MTU Problem? Gehen denn überhaubt verschlüsselte Pakete über das Modem?

Gruß,

Ralf

spenneb
08.01.04, 19:01
@cane:

Original geschrieben von cane

Seht ihr irgendwelche Vorteile von Isakmpd / Racoon gegenüber Freeswan?

Nein. Im Moment ist FreeS/WAN die mächtigste Implementierung. Sowohl racoon als auch isakmpd werden aber auch aktiv weiterentwickelt.
FreeS/WAN läuft auch ab Version 2.x auf dem nativen IPsec Stack von Linux.
Allerdings gibt es im Moment noch zwei funktionale Unterschiede zwischen KLIPS (FreeS/WAN eigener IPsec Stack) und dem nativen 2.6 IPsec Stack:
KLIPS bietet ein ipsec0 Interface. Dies vereinfacht stark die Konfiguration der Firewall
FS / KLIPS kann Nat-Traversal. Dass kann noch kein IKE-Daemon unter dem 2.6 IPsec stack.

Isakmpd und Racoon beherrschen dafür den IKE Aggressive Mode auch als Server

Kommt halt auf die Aufgabenstellung an.

Red Hat wird lediglich racoon unterstützen. SuSE macht im Moment noch was ganz eigenes (FreeS/WAN mit dem USAGI Stack).

Gruß,

Ralf

spenneb
08.01.04, 19:04
Original geschrieben von schrippe
also ich sehe nur den vorteil, das es möglicherweise so sein wird, das freeswan ausstirbt, weil ja nun isakmpd fest im kernel ist.
FreeS/WAN wird nicht aussterben. Im Kernel ist lediglich ein alternativer IPsec Stack nun implementiert (der noch nicht soviel kann wie der FreeS/WAN KLIPS).
FreeS/WAN wurde auch von den Entwicklern auf den neuen nativen 2.6 IPsec Stack portiert. Das heisst, FreeS/WAN läuft seit einigen Wochen auch ohne Kernel Patch unter 2.6.

Wir haben nun die Qual der Wahl: Racoon, Isakmpd oder Pluto von FreeS/WAN.

Gruß,

Ralf

spenneb
08.01.04, 19:12
Original geschrieben von dor_kollaesch
@spenneb
nunja um auf die "zusatztools" zurückzukommen -
mir mach(t)en keyconf and certpatch ärger
nirgends war was mit Makefiles zu machen und pur mit dem gcc und ld zu arbeiten is auch mir neu :/ - ich habs dann auf sich beruhen lassen

Ich erinnere mich, dass die Übersetzung nicht ganz einfach ist. Für mein RPM Paket baue ich die Werkzeuge mit:
gcc -DMP_FLAVOUR=MP_FLAVOUR_GMP -I../.. -I../../sysdep/linux -I %{kernel} -lcrypto -lgmp certpatch.c -o certpatch
gcc -I../.. -I../../sysdep/linux -I %{kernel} -lcrypto -lgmp base64.c keyconv.c -o keyconv

Ich werde dass mal in dem Howto aufnehmen.



wieso bindet sich racoon bei mir nich auf ipv6 ? habs mit strict usw. versucht - unklar ...
ipv6-netzwerk läuft ansonsten

Ist auch für IPv6 AH, ESP und IPComp aktiviert worden?



racoon <-> racoon läuft vom feinsten nur
racoon <-> isakmpd nich
....
die "selbe" config funktioniert aber von racoon zu racoon :/

Wie ist denn der racoon und der isakmpd konfiguriert worden?

Gruß,

Ralf

dor_kollaesch
08.01.04, 20:23
@spenneb
zugebenermaßen waren die informationen dürftig

ich habe die esp, ah und ipcomp für ipv6 als modules geladen (hoffe die funktionieren als module)
wenn ich racoon fest auf eine ipv6-adresse konfiguriere kommt


<log>
ERROR: sockmisc.c:733:setsockopt_bypass(): setsockopt (Invalid argument)
ERROR: isakmp.c:1377:isakmp_open(): no address could be bound.
</log>

und darüber hab ich bislang nirgends etwas gefunden ...



<config_racoon>
remote anonymous
{
exchange_mode aggressive,main;
doi ipsec_doi;
situation identity_only;

my_identifier fqdn "uwizz"; # von fqdn geändert

nonce_size 16;
lifetime time 1 min; # sec,min,hour
initial_contact on;
support_mip6 on;
proposal_check obey; # obey, strict or claim

proposal {
encryption_algorithm 3des;
hash_algorithm sha1;
authentication_method pre_shared_key ;
dh_group 2 ;
}
}

sainfo anonymous
{
pfs_group 2;
lifetime time 30 sec;
encryption_algorithm 3des ;
authentication_algorithm hmac_sha1;
compression_algorithm deflate ;
}
</config_racoon>



<config_isakmpd.conf>
[General]
Listen-on= 192.168.1.40
Default-phase-1-ID= FQDN-herein
[Phase 1]
192.168.1.100= ISAKMP-peer-uwizz
[Phase 2]
Connections= IPsec-herein-uwizz

[ISAKMP-peer-uwizz]
Phase= 1
Transport= udp
Local-address= 192.168.1.40
Address= 192.168.1.100

ID= FQDN-herein
Remote-ID= FQDN-uwizz
Authentication= _der_psk_key_
Configuration= Default-aggressive-mode

[FQDN-herein]
ID-type= FQDN
Name= herein # von fqdn geändert

[FQDN-uwizz]
ID-type= FQDN
Name= uwizz # von fqdn geändert

[Default-aggressive-mode]
DOI= IPSEC
EXCHANGE_TYPE= AGGRESSIVE
Transforms= 3DES-SHA
Suites= 3DES-SHA

[IPsec-herein-uwizz]
Phase= 2
ISAKMP-peer= ISAKMP-peer-uwizz
Configuration= Default-quick-mode
Local-ID= IPv4-herein
Remote-ID= IPv4-uwizz
[IPv4-herein]
ID-type= IPV4_ADDR
Address= 192.168.1.40
[IPv4-uwizz]
ID-type= IPV4_ADDR
Address= 192.168.1.100
[Default-quick-mode]
DOI= IPSEC
EXCHANGE_TYPE= QUICK_MODE
Transforms= 3DES-SHA
Suites= QM-ESP-3DES-SHA-TRP-XF,QM-ESP-3DES-SHA-PFS-SUITE
[QM-ESP-3DES-MD5-SUITE]
Protocols= QM-ESP-3DES-MD5
</config_isakmpd.conf>



<config_isakmpd.policy>
KeyNote-Version: 2
Authorizer: "POLICY"
Licensees: "passphrase:_der_psk_key_"

# mittlerweile in
Licensees: "passphrase-sha1-hex:_der_psk_key_"
# geändert - ohne erfolg

Conditions: app_domain == "IPsec policy" &&
esp_present == "yes" &&
esp_enc_alg == "3des" &&
esp_auth_alg == "hmac-sha1" -> "true";
</config_isakmpd.policy>


letzte negative meldung war vom racoon, aber erst als ich vom isakmpd-host pingen wollte, andersherum passiert beim pingen nix


<log>
ERROR: isakmp_inf.c:774:isakmp_info_recv_n(): unknown notify message, no phase2 handle found.
</log>



hoffe irgendwie, dass ich noch was übersehen habe ;)

ciao Udo
:ugly:

schrippe
09.01.04, 08:40
@spenneb

also habe den kernle nochmal überprüft und PF_KEY usw. einkompiliert.
dann neu gestartet und isakmpd läuft.
aber jetzt kommt ich nicht mehr per ssh auf die maschine. vorher schon.

ben@zoni:~$ ssh root@192.168.121.93
Connection closed by UNKNOWN

habe keinerlei firewall laufen.

thanks

wo lässt sich denn bei l2tpd die mtu einstellen. an ipsec kann es ja nicht liegen, da der tunnel aufgebaut wird.
bei verbindungen hinter einem dsl router kommen durch das ipsec0 interface zwar pakete wie:

vpn-gate:~# tcpdump -i ipsec0 -n -l
tcpdump: listening on ipsec0
09:55:35.296081 217.226.73.60.1701 > 62.96.19.156.1701: l2tp:[TLS](0/0)Ns=0,Nr=0 *MSGTYPE(SCCRQ) *PROTO_VER(1.0) *FRAMING_CAP(S) *BEARER_CAP() |...
09:55:36.314298 217.226.73.60.1701 > 62.96.19.156.1701: l2tp:[TLS](0/0)Ns=0,Nr=0 *MSGTYPE(SCCRQ) *PROTO_VER(1.0) *FRAMING_CAP(S) *BEARER_CAP() |...
09:55:38.268464 217.226.73.60.1701 > 62.96.19.156.1701: l2tp:[TLS](0/0)Ns=0,Nr=0 *MSGTYPE(SCCRQ) *PROTO_VER(1.0) *FRAMING_CAP(S) *BEARER_CAP() |...
09:55:41.936765 217.226.73.60.1701 > 62.96.19.156.1701: l2tp:[TLS](0/0)Ns=0,Nr=0 *MSGTYPE(SCCRQ) *PROTO_VER(1.0) *FRAMING_CAP(S) *BEARER_CAP() |...
09:55:50.037912 217.226.73.60.1701 > 62.96.19.156.1701: l2tp:[TLS](0/0)Ns=0,Nr=0 *MSGTYPE(SCCRQ) *PROTO_VER(1.0) *FRAMING_CAP(S) *BEARER_CAP() |...
09:55:59.958986 217.226.73.60.1701 > 62.96.19.156.1701: l2tp:[TLS](0/0)Ns=0,Nr=0 *MSGTYPE(SCCRQ) *PROTO_VER(1.0) *FRAMING_CAP(S) *BEARER_CAP() |...

dor_kollaesch
09.01.04, 08:59
@schrippe
funktioniert ein ping?

das tunneln von ssh durch ipsec sollte funtionieren, hab da aber auch schon schlechte erfahrungen damit gehabt, wenn man ne ssh-session ne weile ohne input offen hält, dann friert die ein. (wahrscheinlich rekeying)

wenn du nicht mehr auf den anderen rechner kommst, dann stopp halt den lokal laufenden isakmpd, dann sollte wieder dein normales routing funktionieren.
ich fahr das alternativ so, dass ich ssh über ipv6 betreibe und ipsec macht ipv4, somit komm ich immernoch an meine hosts :) - aber ich spiel damit hier ja nur z.Z. im lan rum

ciao Udo

schrippe
09.01.04, 09:03
also anpingen kann ich den.

im moment ist das ja nur ein testrechner den ich von openbsd mit iskampd auf debian mit isakmpd umbauen will/muss.

nur wenn ich jetzt schon nicht mehr draufkomme, wie solls dann weitergehen.

schrippe
09.01.04, 15:34
Dies ist meine ausgabe von tcpdump -i ipsec0 -n -l

15:31:45.309889 62.96.19.156.500 > 212.144.105.31.500: isakmp: phase 1 ? ident: [|sa] (DF)
15:31:47.284112 62.96.19.156.500 > 212.144.105.31.500: isakmp: phase 2/others ? inf[E]: [|hash] (DF)
15:31:47.357278 62.96.19.156.500 > 212.144.105.31.500: isakmp: phase 2/others ? inf[E]: [|hash] (DF)
15:32:44.369885 62.96.19.156.500 > 212.144.105.31.500: isakmp: phase 1 ? ident: [|sa] (DF)
15:32:58.878451 62.96.19.156.500 > 212.144.105.31.500: isakmp: phase 2/others ? inf[E]: [|hash] (DF)
15:32:58.972196 62.96.19.156.500 > 212.144.105.31.500: isakmp: phase 2/others ? inf[E]: [|hash] (DF)

wenn ich mich per gsm eingewählt habe.

Die mtu habe ich in der ipsec.conf und der options.l2tp auf 300 gestellt. trotzdem gehts nicht.