Krok po kroku instrukcja konfiguracji OpenVPN, certyfikaty, bridge-network LAN ( klienci VPN w tej samej podsieci co sieć wewnętrzna ),
# Aktualizacja systemu:
apt-get update
apt-get upgrade
apt-get dist-upgrade
# Sprawdzany czy TUN jest uruchomiony
test ! -c /dev/net/tun && echo openvpn requires tun support || echo tun is available
# Instalacja potrzebnych pakietów:
apt-get install openvpn && apt-get install bridge-utils
# Konfiguracja Easy-RSA
cp -prv /usr/share/doc/openvpn/examples/easy-rsa/2.0 /root/easy-rsa
cd /root/easy-rsa
cp vars{,.orig}
# Podstawowa konfiguracja Easy-RSA
vim ./vars
KEY_SIZE=2048
KEY_COUNTRY=”MK”
KEY_PROVINCE=”MK”
KEY_CITY=”Veles”
KEY_ORG=”The Streets”
KEY_EMAIL=”email”
export konf. :
source ./vars
usuwanie poprzednich kluczy
./clean-all
# Generowanie certyfikatu CA
./build-ca
# Generowanie certyfikatu serwera:
./build-key-server serwer
# Generowanie Diffie-Hellman PEM certyfikat
./build-dh
# Generowanie (HMAC – Hash-based Message Authentication Code )
openvpn –genkey –secret /root/easy-rsa/keys/ta.key
Umieszczamy certyfikaty:
mkdir -p /etc/openvpn/certs
cp -pv /root/easy-rsa/keys/{ca.{crt,key},serwer.{crt,key},ta.key,dh2048.pem} /etc/openvpn/certs/
# Konfigurujemy nano /etc/openvpn/openvpn.conf
mode server
port 1194
proto udp
#dev tun
dev tap0ca /etc/openvpn/certs/ca.crt
cert /etc/openvpn/certs/serwer.crt
key /etc/openvpn/certs/serwer.key
dh /etc/openvpn/certs/dh2048.pem
tls-auth /etc/openvpn/certs/ta.key 0#server 192.168.2.0 255.255.255.0
server-bridge 192.168.1.5 255.255.255.0 192.168.1.51 192.168.1.55keepalive 10 120
tls-auth ta.key 0
comp-lzo
user nobody
cipher AES-256-CBC
group nogroup
persist-key
persist-tun
log-append openvpn.log
verb 3
mute 10
# Uruchamiamy serwer:
service openvpn restart
update-rc.d -f openvpn defaults
# Konfigurujemy przekierowanie ruchu:
vim /etc/sysctl.conf
:%s/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/
sysctl -p
Konfiguracja klienta:
Tworzymy plik konfiguracyjny w folderze aplikacji openVPN ( serwer1.ovpn — rozszerzenie dla aplikacji w systemie Windows )
client
dev tun
proto udp
remote xxxx
tls-auth C:\ta.key” 1
ca C:\ca.crt
cert C:\tunel-vpn-client1.crt
key C:\tunel-vpn-client1.key
persist-tun
persist-key
ns-cert-type server
cipher AES-256-CBC
comp-lzo
verb 3
keepalive 10 120
# Informacja o typie kluczy:
The public ca.crt certificate is needed on all servers and clients
The private ca.key key is secret and only needed on the key generating machine
A server needs server.crt, dh2048.pem (public), server.key and ta.key (private)
A client needs client.crt (public), client.key and ta.key (private)
# Usuwanie kluczy:
# usuwanie certyfikatu ( powstanie plik ctr.pem , sciezke do tego pliku nalezy podac w konfiguracji serwera crl-verify crl.pem )
./revoke-full <identyfikator klienta>