OpenVPN po raz trzeci – Ubuntu Server

Poprzednie wpisy są w miarę poprawne, działają. Jednak cały czas jest jakiś delikatny problem z nimi. Tak więc jedziemy po raz trzeci: Ubuntu 20.04 + OpenVPN. Pozmieniały się trochę pliki konfiguracyjne, wywołania zwłaszcza klucze generuje się inaczej w tej chwili.

Domyślnie działam na koncie administratora, jeśli chcemy używać konta zwykłego użytkownika, prawie przed każdym poleceniem musimy dodać „sudo”. Możemy też przejść do konta administatora np „sudo su -„.

Domyślnie używam edytora vim – jakoś się do niego przyzwyczaiłem, lubię go. Jest dla mnie prostszy, ale można używać dowolnego którego lubimy.

Certyfikaty klientów i serwera tworzę i przechowuję w katalogu openvpn – bo tam mi wygodniej. Można je przechowywać (utworzyć w dowolnym miejscu), można później je przenieść itd.

Zaczynamy jak poprzednio, na serwerze instalujemy i konfigurujemy:

apt-get install openvpn easy-rsa
mkdir /etc/openvpn/easy-rsa/
cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/
cd /etc/openvpn/easy-rsa/
cp vars.example vars
./easyrsa init-pki
./easyrsa gen-req server_name nopass
./easyrsa build-ca
./easyrsa sign-req server server_name
cd /etc/openvpn
mkdir keys
cd keys
openvpn --genkey --secret ta.key
openssl dhparam -out dh4096.pem 4096
cd ../easy-rsa/
./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1 nopass
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/server/
gunzip /etc/openvpn/server/server.conf.gz
ln -s /etc/openvpn/server/server.conf /etc/openvpn/openvpn.conf
vim /etc/openvpn/server/server.conf

Weszliśmy w edycje pliku konfiguracyjnego serwera OpenVPN. Tutaj wpiszę tylko rzeczy które należy zmienić, dodać lub odkomentować, nie będę komentował kodu – odszukaj komendę/linię zmień na taką jak przedstawiłem poniżej. Jeśli nie ma – dodaj.

;dh /etc/openvpn/keys/dh4096.pem #aktualnie nie używam
;tls-auth ta.key 0 # This file is secret - usuń przez dodanie ; na początku linii
tls-crypt /etc/openvpn/keys/ta.key
cipher AES-256-GCM
auth SHA256 #dodajemy POD cipher!
user nobody #odkomentować
group nogroup #odkomentować
push "redirect-gateway def1 bypass-dhcp"

Zapisujemy, wychodzimy z edytora i zmieniamy jeszcze kilka rzeczy:
vim /etc/sysctl.conf ->
net.ipv4.ip_forward = 1
Po zapisany wydajemy komendę: sysctl -p

systemctl -f enable openvpn@openvpn.service
systemctl start openvpn@openvpn.service
systemctl status openvpn@openvpn.service

Teoretycznie serwer mamy postawiony i uruchomiony serwer.

W bezpieczny sposób kopiujemy pliki certyfikatu, czy to przez scp czy ftp czy jakoś jeszcze inaczej jak uznamy za stosowne:
/etc/openvpn/easy-rsa/pki/ca.crt
/etc/openvpn/keys/ta.key
/etc/openvpn/easy-rsa/pki/issued/client1.crt
/etc/openvpn/easy-rsa/pki/private/client2.key

W kliencie ustawiamy:

  • adres ip (bramka)
  • klucze
  • zaawansowane:
    • Szyfr: AES-256-GCM
    • uwierzytelnienie HMAC: SHA-256
    • Szyfrowanie TLS/klucz ta.key

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Proszę dokończyć równanie: * Time limit is exhausted. Please reload CAPTCHA.