Skip to main content

Beállítás (gyakorlat)

Előkészületek

Ennél a példánál a site-to-site példában megadott VPN környezetet feltételezzük. Ide értve az ott létrehozott tanúsítványokat is.

Az office router-en fogunk kialakítani egy olyan VPN szerver beállítást, road warrior kliensek csatlakozását is fogadni tudja. Ahogy ott, itt is nagyon fontos az NTP kliens helyes beállítása.

Tanúsítványok

Arra készülünk, hogy sok road warrior kliens fog csatlakozni. Ezért egy úgynevezet tanúsítvány sablont hozunk létre. Ebből később könnyebb lesz származtatni az egyes kliens tanúsítványokat.

/certificate
add name="~client-template@office.myserver.hu"  \
    country="HU" state="Heves" locality="Eger" \
    organization="office.myserver.hu"  \
    key-size=4096 days-valid=1095 \
    common-name="~client-template@office.myserver.hu" \
    subject-alt-name="email:~client-template@office.myserver.hu" \
    trusted=yes key-usage=tls-client
 

A template-et nem írjuk alá! Minden klienshez külön kliens tanúsítványt generálunk. Kliens alatt nem felhasználót kell érteni, hanem VPN kliens eszközt. Ha egy felhasználó több számítógépről is be akar jelentkezni (pl. a telefonjáról és a laptopjáról), akkor ezekhez külön tanúsítványt kell létrehozni. Mi most egy gandalf nevű felhasználóhoz és egy vivobook laptophoz tartozó tanúsítványt generálunk a template-ből:

/certificate 
add copy-from=~client-template@office.myserver.hu \
    name="gandalf-vivobook@office.myserver.hu" \
    common-name="gandalf-vivobook@office.myserver.hu" \
    subject-alt-name=email:gandalf-vivobook@office.myserver.hu
sign gandalf-vivobook@office.myserver.hu ca=ca.office.myserver.hu

Ezután exportáljuk a kliens és a CA cert-et. A kliens cert-hez a privát kulcsot is.

/certificate
export-certificate gandalf-vivobook@myserver.hu type=pkcs12 export-passphrase="not_telling_you"
export-certificate ca.office.myserver.hu

VPN kliensek alhálózata

A VPN klienseknek egy saját címtartományt adunk. A router-en fölveszünk egy hidat, és adunk neki egy címet ezen az alhálózaton belül. A kapcsolódó kliensek ebből a tartományból fognak címeket kapni.

/interface bridge
add name=bridge-vpn-rw comment="VPN Road Warrior"
/ip address
add address=10.10.10.254/24 comment="VPN Road-Warrior" name=pool-vpn-rw

 

mode-config

Az IKE/ISAKMP  protokoll nem csak kulcsok és titkosítási algoritmusok egyeztetésére használható. Ezen keresztül lehet IP címet beállítani, közölni a másik féllel az elérhető alhálózatokat ("route push") stb. Ezen paraméterek megadására való a mode-config.

/ip ipsec mode-config
add address-pool=pool-vpn-rw address-prefix-length=32 \
    name=modeconf-vpn-rw split-include=172.16.1.0/24,172.16.2.0/24 \
    static-dns=172.16.1.1 system-dns=no
  • Az address-pool mondja meg, hogy melyik IP pool-ból osztunk címeket
  • Az address-prefix-length mondha meg, hogy mennyi címet osztunk. (Nem csak egyedi címet lehet átadni, hanem teljes címtartományokat is.)
  • A split-include segítségével lehet megadni egy vagy több helyi alhálózatot. A másik peer megkapja ezeket a hálózatokat. Értesül arról, hogy ezen a peer-en keresztül milyen hálózati címtartományok érhetők el. Ennek a policy generálásnál lesz szerepe (erről később írok)
  • A static-dns megadásával lehet átküldeni azt a DNS szervert, ami a helyi hálózat címeit tudja feloldani.
  • A system-dns=no beállítás akadályozza meg azt, hogy a helyi router DNS-t (/ip dns és /ip dns static) adja át a másik félnek