editediteditedit

ipsec tunel

moon gateway: gentoo linux + strongswan 4.4
roadwarrior: windows 7
s použitím IKEv2

jádro

musíme mít tyto moduly:
Kd: moduly
http://wiki.strongswan.org/projects/strongswan/wiki/KernelModules

strongswan

po instalaci upravíme soubory ipsec.conf a strongswan.conf
Kd: /etc/ipsec.conf
config setup
         plutostart=no

ca cukrca
        cacert=cukr-cacert.pem
        auto=add

conn marvbook
        authby=rsasig
        left=78.108.107.10
        leftcert=ipsecgw-cert.pem
        leftsubnet=0.0.0.0/0
        leftid=@cukr.steadynet.org
        right=%any
        rightsourceip=78.108.107.103/32
        keyexchange=ikev2
        auto=add

config

pluto je IKEv1 demon. toho nechceme.

ca

ca je certifikát certifikační autority umístěný v /etc/ipsec.d/cacert/ nebo cesta k němu misí být absolutní (klidně http). dá se odkázat i na CRL.

conn

připojení. lze jich definovat i několik.
left
adresa gw
leftcert
klíč gw
leftsubnet
kam všude budeme z roadwarriora lezt.
leftid
identifikace gw
right
připojujeme se jako roadwarrior, takže odkudkoli.
rightsourceip
adresa roadwarriora (v tunelu)
rightid
dá se použít pro identifikaci klienta. např DN z certifikátu. „C=CZ, OU=cukr-ipsec, CN=marv-ipsec-cli, E=martin@hlavaty.eu

Více se dá najít na http://wiki.strongswan.org/projects/strongswan/wiki/IpsecConf

strongswan.conf

v souboru strongswan.conf do sekce charon přidáme adresy dns a wins serveru (pro klienty).
Kd: /etc/strongswan.conf
charon {
  dns1 = 192.168.0.100
  dns2 = 192.168.0.101
  nbns1 = 192.168.0.150
  nbns2 = 192.168.0.151
}

klíče a certifikáty

Aby se windows 7 připojily, musí mit gw v klíči svou identifikaci v DN (CN tedy musí být adresa gw) a také subjectAltName. Windows7 musí mít v certifikátu povolení pro použití při autentizaci. Upravíme tedy soubor /etc/ssl/openssl.cnf:
Kd: openssl.cnf
...
[ usr_cert ]
...
extendedKeyUsage = serverAuth, 1.3.6.1.5.5.8.2.2
subjectAltName=DNS:cukr.steadynet.org,IP:78.108.107.10
...
vygenerujeme a podepíšeme klíč gw:
Kd:
openssl req -new -nodes -out request.pem -keyout key.pem
cd /etc/ssl/
openssl ca -in /root/vpn-keys/12-ipsec-gw/request.pem -out /root/vpn-keys/12-ipsec-gw/cert.pem
cert.pem nahrajeme do /etc/ipsec.d/certs/
key.pem do /etc/ipsec.d/private/
pokud má klíč heslo, musíme ho uložit do souboru /etc/ipsec.secrets
Kd: /etc/ipsec.secrets
: RSA ipsecgw-key.pem heslo
nyní klíče pro roadwarriora
Kd:
openssl req -new -nodes -out request.pem -keyout key.pem
cd /etc/ssl/
openssl ca -in /root/vpn-keys/11-ipsec-cli/request.pem -out /root/vpn-keys/11-ipsec-cli/cert.pem
openssl pkcs12 -export -inkey key.pem -in cert.pem -name „win7“ \
        -certfile /etc/ssl/cacert.pem -caname „CA“ -out win7cert.p12
soubor win7cert.p12 zkopírujeme na roadwarriora a importujeme jej přes mmc konzoli (POZOR, je potřeba importovat do „computer account“ a ne do „user account“. Proto na něj nemůžeme jednoduše kliknout.

nyní ve windowsech stačí vytvořit nové připojení a připojit se.
Více zde http://wiki.strongswan.org/projects/strongswan/wiki/Win7Certs
a zde http://wiki.strongswan.org/projects/strongswan/wiki/Win7Config

firewall

V jádře 2.4 existovaly pseudointerfacy ipsec0 apod. nastavení firewallu tedy bylo poměrně jednoduché. V jádře 2.6 tomu tak není. pro navázání spojení stačí povolit ESP (udp/500) a protocol 50. V případě nat-t ještě udp/4500 (IKEv2 NAT detekuje sám, není proto potřeba ipsec extra nastavovat). návod pro shorewall je např. zde: http://www.shorewall.net/IPSEC-2.6.html

zdroje

Kd: zdroje
http://wiki.strongswan.org/wiki/strongswan/UserDocumentation
http://wiki.strongswan.org/projects/strongswan/wiki/Windows7
http://www.nwlab.net/tutorials/strongSwan-Windows-7-VPN/

Wiki engine by dan. Content by marv.