Domů > Linuxové zápisky pro správce > OpenVPN: šifrovaný VPN tunel

OpenVPN: šifrovaný VPN tunel

Myslím si, že lidem, kteří se poohlíží po nasazením OpenVPN (nebo jakékoliv jiné VPN) není potřeba popisovat její účel a využití. Podíváme se tedy rovnou na její zprovoznění.

Instalace

Nainstalujeme si potřebné balíčky/sw. Je zde rozdělení pro konfiguraci serveru a klienta. Pro server bude popsána pouze distribuce Debian.

Server
Na serveru s Debianem nainstalujeme kromě openvpn balíčku i ty, které se starají o kompresi spojení, pro eliminaci vytížení linky

apt-get install openvpn liblzo1 liblzo2-2

Klient
Klientský sw existuje pro obě následující platformy

  • GNU/Linux

Na Linuxovém klientovi (např. s Ubuntu) nainstalujeme

apt-get install openvpn

V případě, že se budete chtít připojit Network managerem (např. v Ubuntu), nainstalujeme si ještě

sudo apt-get install network-manager-openvpn

čímž se nám zpřístupní nastavení OpenVPN v Gnome „klikátku“.

  • MS Windows

Zde doporučuji použít OpenVPN s GUI.

Konfigurace

Nakonfigurujeme si server a klienta takto:

Server
Podle návodu OpenSSL vygenerujeme klíče, pokud je ještě nemáme

Vytvoříme konfigurační soubor

touch /etc/openvpn/vpn.conf

s tímto obsahem, pro doménu example.net

# server
mode server

# management
management 10.0.10.1 7505

# tls jako server
tls-server

# CRL (certifikate revocation list) verification
# ( readeable for ALL !!! )
crl-verify /etc/ssl/crl.pem

persist-key
persist-tun

# vytvori zarizeni
dev tap0

# protokol (mozno i tcp-server)
proto udp

# port na kterem nasloucha (definovano v shorewall tunnels)
port 1194

# adresa serveru (rozhrani tap0)
ifconfig 10.0.11.1 255.255.255.0 # prideli ip rozhrani tap0

# adresy pro klienty
ifconfig-pool 10.0.11.50 10.0.11.60 255.255.255.0 # DHCP server pro VPN klienty

# specialni konfigurace pro konkretni klienty
client-config-dir ccd

# "staticke" IP adresy pro klienty
ifconfig-pool-persist /etc/openvpn/openvpn.ip_pool.txt

# soucasne prihlaseni vice klientu se stejnym certifikatem
#duplicate-cn

# maximalni pocet klientu, kteri se mohou pripojit
#max-clients 3

# pripojeni klienti na VPN se uvidi
client-to-client

# posle na klienta routy na zpristupneni LAN (10.0.10.0/24) za VPN serverem
push "route 10.0.10.0 255.255.255.0 10.0.11.1"

# nastavi klientovy DNS server
push "dhcp-option DNS 10.0.10.1"
push "dhcp-option WINS 10.0.10.1"
push "dhcp-option DOMAIN example.loc"

# nastavi klientovi vychozi branu
#push "redirect-gateway def1"

# udrzuje spojeni nazivu, 10s (ping) a 30s (ping-restart)
keepalive 10 30

# certifikat certifikacni autority
ca /etc/ssl/certs/ca.crt

# certifikat serveru
cert /etc/ssl/certs/server.crt

# klic serveru
key /etc/ssl/private/server.key

# parametry pro Diffie-Hellman protokol
dh /etc/ssl/private/dh2048.pem

# logy serveru
log-append /var/log/openvpn

# status serveru
#status /var/run/openvpn/vpn.status 10
status /etc/openvpn/vpn.status 10

# na Win nefunguje, muze byt zakomentovane
user nobody
group nogroup

# komprese prenesenych dat
comp-lzo

# ukecanost serveru
verb 3

Klient
OpenVPN je multiplatformní, tudíž si ukážeme, jak nastavit systém Linux i Windows

  • GNU/Linux

Zde si vytvoříme konfigurační soubor v /etc/openvpn/ s příponou *.conf

  • MS Windows

Konfigurační soubor vytvoříme v C:\Program Files\OpenVPN\config\ s příponou *.ovpn.

Konfigurační soubor

Na Linuxu i Windows je stejná (pouze některé parametry nejsou na Windows akceptovány)

remote example.net
port 113
tls-client
dev tap
pull

ns-cert-type server

mute 10
ca ca_fp.crt
cert prijmeni_jmeno.crt
key prijmeni_jmeno.key

comp-lzo
verb 3

user nobody
group nogroup

Finální start OpenVPN

/etc/init.d/openvpn start

Zdroje Informací

http://www.monta-therm.cz/phprs/rservice.php?akce=tisk&cisloclanku=2005011301
http://www.abclinuxu.cz/blog/bl4z4/2007/6/7/182859

  1. Petr
    21.02.2012 na 14:01 | #1

    Super, diky moc za navod. VPN se mi podarilo podle nej rozchodit. Jeste jednou diky.

  2. David
    21.02.2012 na 19:16 | #2

    @Petr Jsem rád, že je článek užitečný.

  1. Žádné zpětné odkazy