6.5. Konfiguration von IPsec Netzwerk-zu-Netzwerk
Sie k�nnen IPsec auch so konfigurieren, dass ein ganzes Netzwerk (z.B. LAN oder WAN) mit einem Remote-Netzwerk mittels einer Netzwerk-zu-Netzwerk-Verbindung verbunden wird. Daf�r m�ssen auf jeder Seite der zu verbindenden Netzwerke IPsec-Routers erstellt werden, damit Information verarbeitet werden und von einem Netzwerkknoten des Netzwerkes zu einem Knoten auf dem Remote- Netzwerk geroutet werden kann. Abbildung 6-1 zeigt eine Netzwerk-zu-Netzwerk-Verbindung mittels IPsec-Tunnel.
Das Diagramm zeigt zwei separate LANs, die durch das Internet getrennt sind. Diese Netzwerke verwenden IPsec-Routers, um eine Verbindung in einem sicheren Tunnel im Internet zu authentifizieren und zu initialisieren. Pakete, die im Transit gefasst werden, m�ssten brute-force entschl�sselt werden, damit der Code geknackt werden kann, der die Pakete zwischen diesen LANs besch�tzt. Der Prozess der Kommunikation von einem Netzknoten in der 192.168.1.0/24 IP-Reihe zu einem anderen auf 192.169.2.0/24 ist f�r die Knoten vollst�ndig transparent, da die Verarbeiteng, die Ver- und Entschl�sselung und das Routing der IPsec-Pakete komplett vom IPsec-Router gehandhabt wird.
Die Information, die f�r eine Netzwerk-zu-Netzwerk-Verbindung gebraucht wird, umfasst:
Die IP-Adressen der festgesetzten IPsec-Routers, auf die extern zugegriffen werden kann
Die Netzwerk-Adressen-Reihen des LAN/WAN, die von den IPsec-Routers bedient werden (z.B. 192.168.0.0/24 or 10.0.1.0/24)
Die IP-Adressen der Gateway-Einrichtungen, die die Daten von den Netzwerkknoten zum Internet leiten
Einen einmaligen Namen, um die IPsec-Verbindung zu identifizieren und sie von anderen Ger�ten oder Verbindungen zu unterscheiden (z.B. ipsec0).
Einen fixen Schl�ssel zur Verschl�sselung oder einen, der automatisch von racoon geschaffen wurde.
Ein 'vorinstallierter' Schl�ssel zu Authentifikation, der verwendet wird, um die Verbindung zu initialisieren und den Austausch von Schl�sseln zur Verschl�sselung m�glich zu machen.
Nehmen Sie z.B. an, LAN A (lana.example.com) und LAN B (lanb.example.com) wollen sich miteinender durch einen IPsec-Tunnel verbinden. Die Netzwerk-Adresse f�r LAN A liegt in der 192.168.1.0/24-Reihe, w�hrend LAN B die 192.168.2.254-Reihe verwendet. Die Gateway-IP Adresse ist 192.168.1.254 f�r LAN A und 192.168.2.254 f�r LAN B. Die IPsec-Router sind von jedem LAN-Gateway getrennt und verwenden zwei Netzwerk-Ger�te: eth0 wird eine extern zug�ngliche statische IP-Adresse f�r das Internet zugeteilt, eth1 fungiert als Routing-Punkt f�r das Bearbeiten und �bertragen von LAN-Paketen von einem Netzwerkknoten zu den Remote-Netzwerkknoten.
Die IPsec-Verbindung zwischen den Netzwerken verwendet einen 'vorinstallierten' Schl�ssel mit dem Wert r3dh4tl1nux. Die Administratoren von A und B einigen sich, racoon automatisch einen Authentifikations-Schl�ssel zwischen den beiden IPsec-Routern erstellen zu lassen. Der Administrator von LAN A entscheidet sich daf�r, die IPsec-Verbindung ipsec0 zu nennen, w�hrend der Administrator von LAN B die IPsec-Verbindung ipsec1 nennt.
Im folgenden sehen Sie die ifcfg Datei f�r eine Netzwerk-zu-Netzwerk-Verbindung mit IPsec f�r LAN A. Der einmalige Name zur Identifizierung der Verbindung ist in diesem Beispiel ipsec1, die daraus resultierende Datei hei�t daher /etc/sysconfig/network-scripts/ifcfg-ipsec1.
TYPE=IPSEC
ONBOOT=yes
IKE_METHOD=PSK
SRCGW=192.168.1.254
DSTGW=192.168.2.254
SRCNET=192.168.1.0/24
DSTNET=192.168.2.0/24
DST=X.X.X.X |
Die Verbindung ist so eingestellt, dass sie beim Hochfahren (ONBOOT=yes) startet. Sie verwendet die Authentifikations-Methode der vorher gemeinsam verwendeten Schl�sseln (IKE_METHOD=PSK). Der Administrator f�r LAN A gibt sowohl den Ziel-Gateway ein, der der Gateway f�r LAN B ist(DSTGW=192.168.2.254), als auch den Quell- Gateway, der die Gateway-IP-Adresse von LAN A ist(SRCGW=192.168.1.254). Der Administrator gibt dann sowohl das Ziel-Netzwerk ein, dass die Netzwerk-Reihe f�r LAN B ist(DSTNET=192.168.2.0/24) als auch das Quell- Netzwerk (SRCNET=192.168.1.0/24). Abschlie�end gibt der Administrator die Ziel-IP-Adresse ein, die die extern zug�ngliche IP-Adresse f�r LAN B ist (X.X.X.X).
Im folgenden finden Sie die Datei mit den 'vorinstallierten' Schl�sseln (/etc/sysconfig/network-scripts/keys-ipsecX genannt, wobei X die 0 f�r LAN A und die 1 f�r LAN B ist), die beide Netzwerke verwenden, um sich gegenseitig zu authentifizieren. Der Inhalt dieser Datei sollte identisch sein und nur der root-Benutzer sollte die Datei lesen oder �berschreiben k�nnen.
| Wichtig |
---|
| Um die Datei keys-ipsec zu ver�ndern, damit sie nur vom root-Benutzer gelesen oder bearbeitet werden kann, f�hren Sie nach der Erstellung der Datei den folgenden Befehl aus: chmod 600 /etc/sysconfig/network-scripts/keys-ipsec1 |
|
Um den Authentifizierungs-Schl�ssel jederzeit zu ver�ndern, bearbeiten Sie die Datei keys-ipsecX bei beiden IPsec-Routern. F�r eine ordentliche Verbindung m�ssen beide Schl�ssel gleich sein.
Das ist die /etc/racoon/racoon.conf-Konfigurationsdatei f�r die IPsec-Verbindung. Beachten Sie, dass die include-Zeile am unteren Ende der Datei automatisch erstellt wird und nur dann erscheint, wenn gerade eine Verbindung mit einem IPsec-Tunnel vorhanden ist.
# Racoon IKE daemon configuration file.
# See 'man racoon.conf' for a description of the format and entries.
path include "/etc/racoon";
path pre_shared_key "/etc/racoon/psk.txt";
path certificate "/etc/racoon/certs";
sainfo anonymous
{
pfs_group 2;
lifetime time 1 hour ;
encryption_algorithm 3des, blowfish 448, rijndael ;
authentication_algorithm hmac_sha1, hmac_md5 ;
compression_algorithm deflate ;
}
include "/etc/racoon/X.X.X.X.conf" |
Im folgenden sehen Sie die Konfigurationsdatei f�r die Verbindung zum Remote-Netzwerk. Die Datei tr�gt den Namen X.X.X.X.conf (ersetzen Sie X.X.X.X mit der IP Adresse des Remote-IPsec-Routers). Beachten Sie, dass diese Datei automatisch erzeugt wird, wenn der IPsec-Tunnel aktiviert wird. Sie sollte nicht direkt bearbeitet werden.
;
remote X.X.X.X
{
exchange_mode aggressive, main;
my_identifier address;
proposal {
encryption_algorithm 3des;
hash_algorithm sha1;
authentication_method pre_shared_key;
dh_group 2 ;
}
} |
Bevor die IPsec-Verbindung gestartet wird, sollte IP-Forwarding beim Kernel eingestellt werden. Aktivieren Sie IP-Forwarding als root bei einem Shell Prompt:
Bearbeiten Sie /etc/sysctl.conf und stellen Sie net.ipv4.ip_forward to 1 ein.
F�hren Sie den folgenden Befehl aus, damit die �nderung wirksam wird:
sysctl -p /etc/sysctl.conf |
Starten Sie die IPsec-Verbindung, indem Sie entweder die IPsec-Router neu starten oder den folgenden Befehl als root bei jedem Router eingeben:
Die Verbindungen sind nun aktiviert und LAN A und LAN B sind in der Lage, miteinander zu kommunizieren. Die Routen werden automatisch durch das Aufrufen des Initialisierungs-Skriptes mit ifup bei der IPsec-Verbindung erzeugt. Um eine Liste der Routen f�r das Netzwerk anzuzeigen, f�hren Sie folgenden Befehl aus:
Um die IPsec-Verbindung zu testen, f�hren Sie die tcpdump Utility auf dem extern routbaren Ger�t aus (eth0 in diesem Beispiel). So k�nnen Sie die Netzwerk-Pakete sehen, die zwischen den Hosts (oder Netzwerken) �bertragen werden, und �berpr�fen, dass sie �ber IPsec verschl�sselt werden. Um die IPsec-Verbindungsqualit�t z.B. f�r LAN A zu pr�fen, geben sie folgendes ein:
tcpdump -n -i eth0 host lana.example.com |
Das Paket sollte eine AH-Kopfzeile enthalten und sollte als ESP-Paket angezeigt werden. ESP hei�t, dass es verschl�sselt ist. Zum Beispiel (ein inverser Schr�gstrich kennzeichnet die Fortsetzung einer Zeile):
12:24:26.155529 lanb.example.com > lana.example.com: AH(spi=0x021c9834,seq=0x358): \
lanb.example.com > lana.example.com: ESP(spi=0x00c887ad,seq=0x358) (DF) \
(ipip-proto-4) |