IPSec kasutamine FreeBSD'ga

Allikas: Kuutõrvaja
Redaktsioon seisuga 7. mai 2013, kell 13:13 kasutajalt Jj (arutelu | kaastöö)

Ipsec2.jpg

Kõigepealt vaja konfigureerida FreeBSD kernelisse tugi

options IPSEC #IP security
options IPSEC_NAT_T
device crypto

Mõlemal tulemüüril on välimised aadressid .Tavaliselt on tunneli otspunktide aadressid ja nende vahel moodustub tilluke lan. Need peaksid olema suvalised aadressid, mis vaja omavahel kokkuleppida Nt 192.168.1.1 ja 192.168.2.1. Lõpuks tehakse võrguruuting sellele tunneli otspunktile mõlemalt poolt. Ehk siis võrguseadmetele konfitakse sisemine ja välimine seade. Siis tehakse kahe masina välimiste seadmete vahel ühendus (gif0 seade) ja sinna sisse omakorda tunnel. Lugedes dokumentatsioon tundub, et teise otsa sisemist ip-d vajab ta tegevuseks, mida ta nimetab Encapsulation (ehk siis tekitab sisuliselt nende kahe sisemise aadressi vahele point-to-point ühenduse. Pakette suunatase sinna ühendusse aga ruuting tabeli abil.

gif_interfaces="gif0"
gifconfig_gif0="<esimese masina aadress> <teise aadress>"
ifconfig_gif0="inet 192.168.1.1 192.168.2.1 netmask 255.255.255.0"

Seejärel on vaja paika seadistada policyd

ipsec_enable="YES" 
ipsec_program="/usr/local/sbin/setkey"
ipsec_file="/usr/local/etc/racoon/setkey.conf"

Kontrollida saame laetud seadistust setkey käsuga

# setkey -DP

Seejärel on vaja keyring daemonit (racoon paketist ipsec-tools). Tegemist on KAME nimelise projektiga - algselt IPv6 protokolli jaoks tehtud ja IPv4 jaoks backporditud lahendus.

cp /usr/local/share/examples/ipsec-tools/racoon.conf.sample /usr/local/etc/racoon/racoon.conf
touch /usr/local/etc/racoon/psk.txt
chown root:wheel /usr/local/etc/racoon/psk.txt
chmod 600 /usr/local/etc/racoon/psk.txt

rc.conf seadistada

racoon_enable=”yes”
racoon_flags=”-l /var/log/racoon.log”

paroolifail /usr/local/etc/racoon/psk.txt

192.168.2.1 mingiparool

Käivitada käsuga

# /usr/local/sbin/racoon -F -f /usr/local/etc/racoon/racoon.conf

Ja teeme ruutingu kas siis käsuga

# route add 192.168.0.0/24 -iface gif0
static_routes="vpn" 
route_vpn="192.168.0.0/24 -iface gif0"