Instalace openVPN

Klientske certifikaty

cd easy-rsa
. vars


Vytvoreni certifikatu:
----------------------
./build-req UNIKATNIJMENO
- vsechny otazky ENTER az na, kde napisete unikatni jmeno spojeni:
Common Name (eg, your name or your server's hostname) []:UNIKATNIJMENO
- dale vse ENTER

Podepsani certifikatu:
----------------------
./sign-req UNIKATNIJMENO
Vse podvrdime: y

tim se vytvori v adresari ~/my-openvpn-keys
soubory:
UNIKATNIJMENO.crt
UNIKATNIJMENO.key

Tyto soubory se prenesou na klienta a prejmenuji se na client.crt a client.key
----------------------------------------------------------------------------------------


Debian Etch - OpenVPN klient/server

7.6.2007 23:22 | Přečteno: 6480× | | poslední úprava: 8.6.2007 12:36

Konfigurace OpenVPN jako klient/server s certifikátem chráněným heslem.

Nejprve nainstalujeme potřebné balíčky.
apt-get install openvpn liblzo1 liblzo2-2


Certifikáty:

Zkopírujeme si skripty pro tvorbu certifikátů.
cp -R /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn

Nastavíme přístupová práva pouze pro roota.
chmod 0700 /etc/openvpn/easy-rsa

Nastavíme si proměnné pro vytváření certifikátů.
vim /etc/openvpn/easy-rsa/vars

export KEY_SIZE=2048
export KEY_COUNTRY=CZ
export KEY_PROVINCE="Czech Republic"
export KEY_CITY="City"
export KEY_ORG="OpenVPN-company"
export KEY_EMAIL="vpn@domain.com"

Aktivace proměnných.
cd /etc/openvpn/easy-rsa
. ./vars

Vymazání všech klíčů z adresáře ./keys.
./clean-all

Vytvoření certifikační autority.
./build-ca
Country Name (2 letter code) [CZ]:
State or Province Name (full name) [Czech Republic]:
Locality Name (eg, city) [City]:
Organization Name (eg, company) [OpenVPN-company]:
Organizational Unit Name (eg, section) []:company Team
Common Name (eg, your name or your server's hostname) []:domain.com
Email Address [vpn@domain.com]:

Vytvoření certifikátu a privátního klíče pro server.
./build-key-server server
Country Name (2 letter code) [CZ]:
State or Province Name (full name) [Czech Republic]:
Locality Name (eg, city) [City]:
Organization Name (eg, company) [OpenVPN-company]:
Organizational Unit Name (eg, section) []:company Team
Common Name (eg, your name or your server's hostname) []:domain.com
Email Address [vpn@domain.com]:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Vytvoření klientského certifikátu chráněného heslem. Soubory client1.crt, client1.csr, client1.key, ca.crt z adresáře ./keys nakopírujeme bezpečnou formou do /etc/openvpn na klienta.
./build-key-pass client1
./build-key-pass client2
...
Enter PEM pass phrase: password
Verifying - Enter PEM pass phrase: again password

Country Name (2 letter code) [CZ]:
State or Province Name (full name) [Czech Republic]:
Locality Name (eg, city) [City]:
Organization Name (eg, company) [OpenVPN-company]:
Organizational Unit Name (eg, section) []:company Team
Common Name (eg, your name or your server's hostname) []:domain.com
Email Address [vpn@domain.com]:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Vytvoření Diffie Hellman parametrů.
./build-dh

openssl dhparam -out dh2048.pem 2048

Kopírování z ./keys do /etc/openvpn a nastavení přístupových práv pouze na roota. (na straně serveru)
cp /etc/openvpn/easy-rsa/keys/{ca.crt,server.crt,server.key,dh2048.pem} /etc/openvpn

chmod 600 /etc/openvpn/{ca.crt,server.crt,server.key,dh2048.pem} /etc/openvpn


Konfigurace pro server:
vim /etc/openvpn/vpn_server.conf
# server
mode server

# tls jako server
tls-server

# port, 1194 = default
port 1194

# protokol, tcp/udp
proto tcp-server

# nastavi zarizeni
dev tap0

# adresa serveru
ifconfig 10.0.1.100 255.255.255.0

# rozsah adres pro klienty
ifconfig-pool 10.0.1.1 10.0.1.20 255.255.255.0

# soucasne prihlaseni vice klientu
duplicate-cn

# certifikat certifikacni autority
ca /etc/openvpn/ca.crt

# certifikat serveru
cert /etc/openvpn/server.crt

# klic serveru
key /etc/openvpn/server.key

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

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

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

# uzivatel pod kterym bezi server
user nobody

# skupina pod kterou bezi server
group nogroup

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

# komprese prenasenych dat
comp-lzo

# ukecanost serveru
verb 3


Konfigurace pro klienta:
vim /etc/openvpn/vpn_client.conf
# server ke kteremu se pripojujeme
remote domain.com

# tls jako klient
tls-client

# port, 1194 = default
port 1194

# protokol, tcp/udp
proto tcp-client

# nastaveni zarizeni
dev tap

# povoluje stazeni konfigurace ze severu
pull

# certifikat certifikacni autority
ca ca.crt

# certifikat klienta
cert client1.crt

# certifikat klienta
key client1.key

# uzivatel pod kterym bezi klient
user nobody

# skupina pod kterou bezi klient
group nogroup

# opakovani radku v logu
mute 10

# logy klienta
log-append /var/log/openvpn.log

# status klienta
status /var/run/vpn.status 10

# komprese prenasenych dat
comp-lzo

# ukecanost klienta
verb 3


Testování:

Spustíme daemony OpenVPN na serveru a na klientovi.
/etc/init.d/openvpn start

Takto by měl vypadat start na straně serveru.
Starting virtual private network daemon: vpn_server(OK).

Na straně klienta po zadání správného hesla.
Starting virtual private network daemon: vpn_clientEnter Private Key Password:
(OK).

Test spojení
ping 192.168.100.1
Hodnocení: 100 %
špatné • dobré