OpenVPN - nástroj pro tvorbu VPN (2)

Napsal (») 22. 9. 2007 v kategorii PC sítě, přečteno: 4701×
obrazky/whirl.jpg

Jak jsme si již minule řekli, OpenVPN umožňuje pracovat v několika režimech a nás dnes bude zajímat režim server a poté klient.

Server

̈́̈́Naším cílem bude nyní vytvořit OpenVPN server pro několik klientů. Spojení bude zabezpečené. Zde je návrh konfiguračního souboru, který si můžeme nazvat například server_ostrava.conf:

dev tap0
proto tcp-server
port 1194
mode server
server 192.168.0.0 255.255.255.0
status /tmp/vpn_ostrava.status
tls-auth /etc/openvpn/server_ostravä́/ta.key 0
keepalive 10 30
client-to-client
max-clients 6
verb 3
tls-server
dh /etc/openvpn/server_ostravä́/dh1024.pem
ca /etc/openvpn/server_ostravä́/ca.crt
cert /etc/openvpn/server_ostravä́/server.crt
key /etc/openvpn/server_ostravä́/server.key
comp-lzo
user nobody
group nogroup
persist-key
persist-tun

Pokud někde v textu používám odkaz na složku například server_ostrava a neexistuje, je potřeba ji předem vytvořit - mkdir /etc/openvpn/server_ostrava....

Některé volby již známe z předchozího dílu a proto jen pro přehled uvádím některé další, u kterých je možné něco změnit...:
mode - určuje mód OpenVPN (server/client)
server - nastaví na jakém subnetu bude server fungovat
status - zapisuje svůj stav do souboru
tls-auth a tls-server - zabezpečí přenos (tls-auth má na konci 0 úmyslně, značí to server, u klientů je to 1)
keepalive - udržovací pakety, aby nepadalo spojení
max-clients - maximální počet připojených klientů

Nyní bude potřeba vygenerovat všechny certifikáty a vůbec vše, co se týká bezpečnosti. Budeme k tomu potřebovat OpenSSL a pro přímé generování použijeme easy-rsa. Jinak je samozřejmě možné použít přímo OpenSSL a vše vygenerovat ručně, ale proč, když se to dá usnadnit...

Většinou se easy-rsa bude nalézat v /usr/share/openvpn/easy-rsa, přejdeme tedy do tohoto adresáře:

cd /usr/share/openvpn/easy-rsa

Zde zeditujeme vars a upravíme informace o generovaných certifikátech a provedeme následující sadu příkazů:

. ./vars
./clean-all
./build-ca

POZOR, v prvním příkazu jsou opravdu dvě tečky. Další postup při generování certifikátů může vyžadovat doplnění korektních údajů do certifikátů a proto jim věnujte pozornost.

./build-key-server server

Nyní již můžeme vygenerovat přímo certifikáty určené koncovým uživatelům. Pouze doplníme název uživatele...:

./build-key klient1
./build-key klient2

Nakonec ješte provedeme tyto příkazy:

./build-dh
openvpn --genkey --secret ta.key

Nakopírujeme vzniklé certifikáty do adresáře /etc/openvpn/server_ostrava, nekopírujeme však certifikáty jednotlivých uživatelů.̈́

Klidně už můžeme spustit OpenVPN server a teď se vrhneme na konfiguraci klienta.

Klient

Konfigurace klienta již bude hračkou. Stačí pouze nakopírovat příslušné klientovy certifikáty, kam patří a použít návrh tohoto konfiguračního souboru a uložit jej jako například klient_ostrava.conf:

remote nasserver.nekde.na.internetu.cz
proto tcp-client
port 1194
dev tap
client
mute-replay-warnings
verb 3
persist-tun
persist-key
tls-auth ta.key 1
user nobody
group nogroup
tls-client
ca /etc/openvpn/client_ostrava/ca.crt
cert /etc/openvpn/client_ostrava/client.crt
key /etc/openvpn/client_ostrava/client.key
comp-lzo

Teď by už mělo fungovat spojení a klient by měl obdržet IP adresu skrze DHCP. Pokud se stále nedaří připojit, je dobré sledovat, co klient píše a provést tak úpravy.

Facebook Twitter Topčlánky.cz Linkuj.cz

Komentáře

Zobrazit: standardní | od aktivních | poslední příspěvky | všechno
Článek ještě nebyl okomentován.


Nový komentář

Téma:
Jméno:
Notif. e-mail *:
Komentář:
  [b] [obr]
Odpovězte prosím číslicemi: Součet čísel dvě a sedm