Während bei den 2.4er Kerneln noch
FreeS?/WAN genutzt wurde, beinhaltet der Kernel 2.6 bereits
IPSec (aus dem KAME
IPSec-Code von BSD).
Trotz 2.6er Kernel muss offensichtlich noch
IPSec eingeschaltet werden, was bei Standardkerneln offensichtlich nicht immer der Fall ist, weshalb man wohl auch einen 2.6er Kernel möglicherweise neu backen muss.
Racoon
Racoon wird eingesetzt, wenn keine festen IP-Adressen im Spiel sind. Ansonsten kann es getrost ignoriert werden, da es die Sache nur verkompliziert. bei NAT wird man ggfs. auf
OpenVPN zurückgreifen wollen, was leichter zu konfigurieren ist. Fertige Pakete von Racoon gibt es im Debian Repository als
racoon, also tut es ein
apt-get install racoon, was auch gleich ipsec-tools mit einbindet.
Mark Lords Ansatz
Hier ein Ansatz von Mark Lord, den er extra für mich gemacht hat. Einfach das Skript mit den
IPs? anpassen und auf beiden Servern ausführen (ohne auf dem 2. Server noch was am Skript zu ändern!).
Vor dem Skript muss noch folgendes gemacht werden:
modprobe ah4
modprobe esp4
Und dann das Skript, z.B. als
IPSec.sh:
#!/bin/sh
action="$1"
IP1?=84.16.1.1
IP2?=85.88.1.2
ENCAP="esp"
if [ "$ENCAP" = "ah" ]; then
PASSKEY="1234567890123456"
CRYPT="-A hmac-md5"
else ## "esp"
PASSKEY="123456789012345678901234"
CRYPT="-E 3des-cbc"
fi
SK="/usr/sbin/setkey -c"
echo "Clearing ipsec configuration.. "
$SK <<-EOF
flush;
spdflush;
EOF
[ "$action" = "stop" ] && exit
echo "Enabling ipsec.. "
$SK <<-EOF
add 10.0.0.11 10.0.0.216 esp 15701 -E 3des-cbc "123456789012123456789012";
add $IP1 $IP2 $ENCAP 15700 $CRYPT "$PASSKEY";
add $IP2 $IP1 $ENCAP 15701 $CRYPT "$PASSKEY";
spdadd $IP1 $IP2 any -P out ipsec $ENCAP/transport//require;
spdadd $IP2 $IP1 any -P out ipsec $ENCAP/transport//require;
spdadd $IP1 $IP2 any -P in ipsec $ENCAP/transport//require;
spdadd $IP2 $IP1 any -P in ipsec $ENCAP/transport//require;
EOF
Links
Rolf