Racoon: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Der Seiteninhalt wurde durch einen anderen Text ersetzt: „*racoon howto“)
Zeile 1: Zeile 1:
==/etc/setkey.conf==
+
*[[racoon howto]]
#!/usr/sbin/setkey -f
 
flush;
 
spdflush;
 
spdadd 192.168.254.0/24 192.168.200.0/21 any -P out ipsec
 
        esp/tunnel/217.91.41.188-217.89.52.3/require;
 
 
spdadd 192.168.200.0/21 192.168.254.0/24 any -P in ipsec
 
        esp/tunnel/217.89.52.3-217.89.52.3/require;
 
 
 
==starten von setkey==
 
setkey -f /etc/setkey.conf
 
 
 
==/etc/racoon.conf==
 
path pre_shared_key "/etc/psk.txt";
 
remote 217.89.52.3 {
 
  exchange_mode main;
 
  proposal {
 
  encryption_algorithm 3des;
 
  hash_algorithm md5;
 
  authentication_method pre_shared_key;
 
  dh_group modp1536;
 
  }
 
}
 
 
sainfo address 192.168.254.0/24 any address 192.168.200.0/21 any {
 
        pfs_group  modp1536;
 
        encryption_algorithm 3des;
 
        authentication_algorithm hmac_md5;
 
        compression_algorithm deflate;
 
}
 
 
 
==/etc/psk.txt==
 
217.89.52.3    schmeich-daneich-gleich
 
 
 
==starten von racoon==
 
racoon -Ff /etc/racoon.conf
 
 
 
==optionen==
 
 
 
*-D:
 
Diese Option gibt sämtliche Optionen der SAD aus (Dump). Wenn zusätzlich die
 
Option -P angegeben wird. so werden die Einträge der SPD ausgegebn
 
 
 
*-F
 
löscht sämtliche Einträge der SAD (Flush). mit der Option -P die der SPD.
 
 
 
*-P
 
Die Befehle beziehen sich auf die SPD anstelle der SAD
 
 
 
 
 
*-a
 
Üblicherweise werden >>tote<< Einträge der SAD nicht angezeigt >>Tote>> Einträge sind in ihrere Gültigkeit abgelaufen, werden aber noch von der SPD referenziert. Die Option zeigt die auch diese Einträge an.
 
 
 
*-d
 
Debugging
 
 
 
*-x
 
Die Ausgabe von PF_KEY Nachrichten
 
 
 
*-h
 
Die Ausgabe von PF_KEY Nachrichten (-x) erfolgt hexadezimal.
 
 
 
*-l
 
Diese Option kann mit -D verwendet werden, um eine Endlosschleife zu ermöglichen.
 
 
 
*-v
 
Verbose
 
 
 
*-f Datei
 
Liest die durchzuführenden Operationen aus der Datei angegebenen Datei
 
 
 
*-c
 
Liest die durchzuführenden Operationen von der Standardeingabe
 
 
 
=Setkey=
 
==Beispiele==
 
===setkey -D===
 
Es werden im gegensatz zu freeSwan pro Verbindung beide SA angezeigt
 
 
 
217.91.41.188 195.126.25.114
 
        esp mode=tunnel spi=192052657(0x0b727db1) reqid=0(0x00000000)
 
        E: 3des-cbc  406251c5 6af6b591 2b2e0109 ffa2f05f 423744ba 14df0774
 
        A: hmac-sha1  0788b440 b2dd469c 93b88012 76664bbb e2cdaa4d
 
        seq=0x00000000 replay=4 flags=0x00000000 state=mature
 
        created: Mar 10 18:40:34 2005  current: Mar 10 18:56:45 2005
 
        diff: 971(s)    hard: 1800(s)  soft: 1440(s)
 
        last: Mar 10 18:41:04 2005      hard: 0(s)      soft: 0(s)
 
        current: 19056(bytes)  hard: 0(bytes)  soft: 0(bytes)
 
        allocated: 111  hard: 0 soft: 0
 
        sadb_seq=1 pid=4353 refcnt=0
 
 
195.126.25.114 217.91.41.188
 
        esp mode=tunnel spi=191108491(0x0b64158b) reqid=0(0x00000000)
 
        E: 3des-cbc  04885478 40f6b5f8 4007a5ed 7154fb9c 62da3b15 9fd65fba
 
        A: hmac-sha1  b7451dd9 d92f96c3 6e969df6 08480060 0a5e1eef
 
        seq=0x00000000 replay=4 flags=0x00000000 state=mature
 
        created: Mar 10 18:40:34 2005  current: Mar 10 18:56:45 2005
 
        diff: 971(s)    hard: 1800(s)  soft: 1440(s)
 
        last: Mar 10 18:41:04 2005      hard: 0(s)      soft: 0(s)
 
        current: 15821(bytes)  hard: 0(bytes)  soft: 0(bytes)
 
        allocated: 122  hard: 0 soft: 0
 
        sadb_seq=5 pid=4353 refcnt=0
 
 
 
===setkey -PD===
 
Anzeige der SPD
 
10.10.0.0/16[any] 192.168.254.0/24[any] any
 
        in ipsec
 
        esp/tunnel/62.153.160.226-217.89.52.3/require
 
        created: Mar 10 18:18:40 2005  lastused:
 
        lifetime: 0(s) validtime: 0(s)
 
        spid=152 seq=13 pid=4354
 
        refcnt=1
 
 
10.10.0.0/16[any] 192.168.254.0/24[any] any
 
        fwd ipsec
 
        esp/tunnel/62.153.160.226-217.89.52.3/require
 
        created: Mar 10 18:18:40 2005  lastused: Mar 10 18:25:08 2005
 
        lifetime: 0(s) validtime: 0(s)
 
        spid=162 seq=7 pid=4354
 
        refcnt=1
 
 
 
===setkey -F===
 
Löschen der der SAD
 
 
 
===setkey -PF===
 
Löschen der der SPD
 
 
 
===setkey -f /etc/setkey.conf===
 
Konfigurieren der SAD und der SPD  durch die Datei /etc/setkey.conf
 
 
 
===setkey -x===
 
Ausgabe des PK_KEY Kommunikationskanals
 
19:08:59.321550
 
19:08:59.322225
 
 
 
===setkey -xH===
 
Ausgabe des PK_KEY Kommunikationskanals Hexadezimal
 
19:10:24.969068
 
00000000: 02 0b 00 01 02 00 00 00 00 00 00 00 19 11 00 00
 
19:10:24.970090
 
00000000: 02 0b 00 01 02 00 00 00 00 00 00 00 19 11 00 00
 
 
 
===setkey -Dl===
 
Fortlaufende Anzeige der SAD
 
time p  s spi      ltime  src -> dst
 
1113 esp M 07d5e3c9 209/big 195.126.25.114 -> 217.91.41.188
 
1113 esp M 02e5ee9e big/big 62.153.160.226 -> 217.91.41.188
 
1113 esp M 095be1c4 big/big 217.89.52.3 -> 217.91.41.188
 
1113 esp M 28ffcdfc big/big 217.91.41.188 -> 217.89.52.3
 
1113 esp M 08fb1b4f 209/big 217.91.41.188 -> 195.126.25.114
 
 
 
=Windows Roadwarrior=
 
 
 
*Anlegen eines Verzeichnis /var/ssl
 
mkdir /var/ssl
 
cd /var/ssl
 
 
 
*Erstellen einer root-CA
 
CA.sh -newca
 
 
 
*Erstellen eines Zertifikats
 
CA.sh -newreq
 
 
 
*Signieren des Zertifikats
 
CA.sh -sign
 
 
 
*Umbennnen des Zertifikats
 
mv newcert.pem rechnername.pem
 
 
 
*Umbennnen des Keys
 
mv newreq.pem rechnername.key
 
 
 
*Löscharbeiten
 
Löschen Sie beginnend mit
 
-----BEGIN CERTIFICATE REQUEST----- bis zum Ende
 
alles aus rechnername.key, so daß die Datei mit
 
-----BEGIN RSA PRIVATE KEY----- anfängt und mit
 
-----END RSA PRIVATE KEY------- endet.
 
 
 
*Generieren Sie eine Certificate Revocation List mit
 
openssl ca -gencrl -out crl.pem
 
 
 
*Anlegen eines Verzeichnis /etc/certs
 
mkdir /etc/certs
 
 
 
*Kopieren
 
mkdir /etc/certs
 
cp rechnername.pem /etc/certs
 
cp rechnername.key /etc/certs
 
cp clr.pem /etc/certs
 
cp demoCA/cacert.pem /etc/certs
 
 
 
*Anlegen der Links
 
ln -s cacert.pem $(openssl x509 -noout -hash -in cacert.pem).0
 
ln -s crl.pem $(openssl x509 -noout -hash -in cacert.pem).r0
 
 
 
*Überprüfung
 
ls -F''
 
158606c5.0@  158606c5.r0@  cacert.pem  crl.pem  duras.xinux.com.key  duras.xinux.com.pem
 
 
 
*Entschlüssel des Privaten Schlüssel für Racoon
 
openssl rsa -in rechnername.key -out rechnername.key
 
 
 
*Windows Client auf dem CA host
 
 
 
*Erstellen eines Zertifikats
 
CA.sh -newreq
 
 
 
*Signieren des Zertifikats
 
CA.sh -sign
 
 
 
*Umbennnen des Zertifikats
 
mv newcert.pem windows.pem
 
 
 
*Umbennnen des Keys
 
mv newreq.pem windows.key
 
 
 
*Löscharbeiten
 
Löschen Sie beginnend mit
 
-----BEGIN CERTIFICATE REQUEST----- bis zum Ende
 
alles aus dem windows.key, so daß die Datei mit
 
-----BEGIN RSA PRIVATE KEY----- anfängt und mit
 
-----END RSA PRIVATE KEY------- endet.
 
 
 
*Umwandeln p12 Format
 
openssl pkcs12 -export -in windows.pem -inkey windows.key -certfile demoCA/cacert.pem -out windows.p12
 
 
 
*Der DN der CA
 
openssl x509 -in demoCA/cacert.pem -noout -subject
 
 
 
=Linux Roadwarrior=
 
 
 
*Nach dem Erstellen der Zertifikate wie unter [[X509_ruck_zuck | x509 ruckzuck]] beschrieben müssen die pem, key und die cacert.pem Datei auf den Roadwarrior kopiert werden. Am besten in das Verzeichnis /etc/racoon/certs.
 
 
 
*Als nächstes muss die cacert.pem eine OpenSSL konforme Benennung erhalten.
 
ln -s cacert.pem $(openssl x509 -noout -hash -in cacert.pem).0
 
 
 
*Dann muss das Passowrt aus dem Privaten Schlüssel enfernt werden.
 
openssl rsa -in roadwarrior.key -out-roadwarrior.key
 
 
 
*Dann werden 2 Template Dateien erzeugt
 
#/etc/racoon/racoon.xinux.conf
 
path certificate "/etc/racoon/certs";
 
remote 217.91.41.188 {
 
  exchange_mode main;
 
  certificate_type x509 "/etc/racoon/certs/trixie.pem" "/etc/racoon/certs/trixie.key";
 
  verify_cert on;
 
  my_identifier asn1dn;
 
  peers_identifier asn1dn;
 
  proposal {
 
    encryption_algorithm 3des;
 
    hash_algorithm md5;
 
    authentication_method rsasig;
 
    dh_group modp1024;
 
  }
 
}
 
sainfo address x-x-x any address 192.168.254.0/24 any {
 
  pfs_group modp1024;
 
  encryption_algorithm 3des;
 
  authentication_algorithm hmac_md5;
 
  compression_algorithm deflate;
 
}
 
 
 
#!/usr/bin/setkey -f
 
#/etc/raccon/setkey.xinux.key
 
flush;
 
spdflush;
 
spdadd x-x-x 192.168.254.0/24 any -P out ipsec esp/tunnel/x-x-x-217.91.41.188/require;
 
spdadd 192.168.254.0/24 x-x-x any -P in  ipsec esp/tunnel/217.91.41.188-x-x-x/require;
 
 
 
*Dann wird noch das Start Stop Skript erstellt /usr/local/bin/vpn
 
 
 
!/bin/bash
 
case $1 in
 
start)
 
  echo starte vpn
 
  IP=$(ifconfig ippp0  | grep inet | tr -s " " | cut -f 3 -d " " | cut -f 2 -d :)
 
  sed -e "s/x-x-x/$IP/g" /etc/racoon/setkey.xinux.conf > /tmp/setkey.conf
 
  sed -e "s/x-x-x/$IP/g" /etc/racoon/racoon.xinux.conf > /tmp/racoon.conf
 
  racoon -f /tmp/racoon.conf -l /tmp/racoon.log
 
  setkey -f /tmp/setkey.conf
 
;;
 
stop)
 
  echo stop vpn
 
  killall racoon
 
  setkey -F
 
  setkey -PF
 
;;
 
*)
 
  echo die syntax lautet $0 start|stop
 
;;
 
esac
 

Version vom 6. August 2014, 14:27 Uhr