[FreeBSD/KAME] IPSEC Tunneling to Linux/FreeSwan HOWTO.

November 4th, 2002 by Rob


FreeBSD/KAME IPSEC Tunneling to Linux/FreeSwan HOWTO.

Versie 0.1 door SiD

In deze howto beschrijf ik hoe je een IPSEC VPN tunnel kunnen bouwen tussen twee netwerken die zijn afgeschermd door enerzijds een FreeBSD/KAME server en anderzijds een Linux/FreeSwan server.

Voor het gemak ga ik van het volgende uit:

Netwerk A -> FreeBSD/KAME
Public IP : 100.100.100.100
Private IP : 192.168.0.254
Private Net : 192.168.0.0/24

Netwerk B -> Linux/FreeSwan (Bestaande server met FreeSwan geïnstalleerd)
Public IP : 200.200.200.200
Next Hop : 200.200.200.199
Private IP : 192.168.1.254
Private Net : 192.168.1.0/24

Kernel aanpassen
Om IPSEC te kunnen gebruiken dient eerst ondersteuning voor IPSEC in de kernel worden geladen.
Voeg hiervoor de volgende regels toe aan de kernelconfiguratie

File:

options IPSEC
options IPSEC_ESP

Compile en installeer een nieuwe kernel en herstart de server. Zie FreeBSD handboek of [FreeBSD] Hoe een kernel te bakken?

Aanpassen rc.conf
Zorg dat gateway_enable aan staat in “/etc/rc.conf”

File:

gateway_enable=”YES”

Installeer racoon
Racoon is een IKE (ISAKMP/Oakley Key) management protocol voor het uitwisselen van sleutels met andere hosts.
Installeer racoon vanuit de ports als volgt:

Shell:

cd /usr/ports/security/racoon
make install clean

Onder de directory “/usr/local/etc/racoon” staan nu twee bestanden nl. “psk.txt.dist” en “racoon.conf.dist” kopieer deze naar respectievelijk “psk.txt” en “racoon.conf” en stel de rechten van deze bestanden in op (600)

Shell:

cp /usr/local/etc/racoon/psk.txt.dist /usr/local/etc/racoon/psk.txt
cp /usr/local/etc/racoon/racoon.conf.dist /usr/local/etc/racoon/racoon.conf
chmod 600 /usr/local/etc/racoon/*

Configuratie Racoon

Open het bestand “racoon.conf” in een editor en voeg de volgende gegevens toe

File:

remote [200.200.200.200]
{
exchange_mode main;
doi ipsec_doi;
situation identity_only;
my_identifier address;
lifetime time 30 min;
proposal_check obey;
proposal
{
encryption_algorithm 3des;
hash_algorithm sha1;
authentication_method pre_shared_key;
dh_group 2;
}
}

sainfo [100.100.100.100] any [200.200.200.200] any
{
pfs_group 2;
lifetime time 3600 sec;
encryption_algorithm 3des;
authentication_algorithm hmac_sha1;
compression_algorithm deflate;
}

Open “psk.txt” in een editor en voeg de volgende regel toe:

File:

xxx.xxx.xxx.xxx password

xxx.xxx.xxx.xxx = IP nummer van de VPN host aan de andere kant
password = Gedeeld wachtwoord

Automatisch starten van Racoon
Maak onder “/usr/local/etc/rc.d/098racoon.sh” een bestand aan met de volgende regel

File:

/usr/local/sbin/racoon -f /usr/local/etc/racoon/racoon.conf -l /var/log/racoon.log

Configuratie IPSEC Policy
Maak onder “/usr/local/etc/rc.d/099ipsec.sh” een bestand aan met de volgende regels

File:

#!/bin/sh
#
# Set up IPSEC SA/SP database
SRC=100.100.100.100
DST=200.200.200.200
SRCNET=192.168.0.0/24
DSTNET=192.168.1.0/24
SETKEY=”/usr/sbin/setkey”

$SETKEY -FP
$SETKEY -F
$SETKEY -c << EOF
flush;
spdflush;
spdadd ${SRCNET} ${DSTNET} any -P out ipsec esp/tunnel/${SRC}-${DST}/require;
spdadd ${DSTNET} ${SRCNET} any -P in ipsec esp/tunnel/${DST}-${SRC}/require;
EOF

Stel de rechten van dit bestand in op (700)

Shell:

chmod 700 /usr/local/etc/rc.d/099ipsec.sh

Configuratie FreeSwan
Open het bestand “/etc/ipsec.conf” in een editor en voeg de volgende regels toe

File:

conn kame-freeswan
auto=start
type=tunnel
left=100.100.100.100
leftsubnet=192.168.0.0/24
right=200.200.200.200
rightsubnet=192.168.1.0/24
rightnexthop=200.200.200.199
keylife=30m
authby=secret

Open het bestand “/etc/ipsec.secrets” in een editor en voeg de volgende regel toe

File:

200.200.200.200 100.100.100.100 : PSK “password”

Testen van de VPN tunnel
Ping vanaf de FreeBSD server het private IP nummer van de Linux server aan de andere kant van de tunnel

Shell:

ping -S 192.168.0.254 192.168.1.254

Firewall
Het is verstandig om de VPN servers tevens als Firewall te gebruiken. Hier zijn echter genoeg howto’s over te vinden dus ga ik hier verder niet op in. Echter wanneer je de Firewall rules gaat instellen moet je zorgen dat het volgende verkeer word toegestaan:

· Voor ESP moet protocol 50 (ESP) toegestaan worden tussen beide Public IP’s
· Voor IKE moet UDP poort 500 toegestaan worden tussen beide Public IP’s
· Verder moeten er rules aanwezig zijn die verkeer tussen beide private netwerken toestaan

Leave a Reply

One Response to “[FreeBSD/KAME] IPSEC Tunneling to Linux/FreeSwan HOWTO.”

  1. Comment by Anonymous

    http://www.allard.nu/openbsd

SEO Powered by Platinum SEO from Techblissonline