20T26 Konfiguracja Klienta OpenVPN w 7 min


Jest to druga część instrukcji konfiguracji, tym razem dotycząca klienta OpenVPN w wersji na platformę Windows.

👉 W tym odcinku pokazuję jak skonfigurować klienta OpenVPN w wersji Windows.

Lista wymaganych komend, poniżej:

########Konfiguracja serwera###############
#Aktualizacja listy dostępnych paczek oprogramowania, instalacja paczki do generowania certyfikatów, instalacja OpenVPN'a
sudo apt-get update && sudo apt-get -y install easy-rsa && sudo apt-get -y install openvpn
#Stworzenie struktury katalogów pod urząd certyfikacji
make-cadir nap-ca && cd nap-ca
#Ustawienie zmiennych do generowania certyfikatów
vi vars
set_var EASYRSA_REQ_COUNTRY "UPL"
set_var EASYRSA_REQ_PROVINCE "Mazowieckie"
set_var EASYRSA_REQ_CITY "Warszawa"
set_var EASYRSA_REQ_ORG "NetAdminPro.pl"
set_var EASYRSA_REQ_EMAIL "ca@netadminpro.pl"
set_var EASYRSA_REQ_OU "NetAdminPro.pl"
#Inicjowanie struktury PKI
./easyrsa init-pki
#Inicjowanie struktury CA
./easyrsa build-ca
#Generowanie wniosku o certyfikat serwera OpenVPN
./easyrsa gen-req nap-openvpn-serv nopass
#Podpisanie wniosku o certyfikat serwera OpenVPN
./easyrsa sign-req server nap-openvpn-serv
#Weryfikacja poprawności certyfikatu
openssl verify -CAfile pki/ca.crt pki/issued/nap-openvpn-serv.crt
#Generowanie klucza do algorytmu diffie hellman
/usr/share/easy-rsa/easyrsa gen-dh
#Kopiowanie certyfikatu urzędu CA, serwera OpenVPN oraz klucza prywatnego dla serwera OpenVPN i pod szyfrowanie diffie hellman
sudo cp pki/ca.crt /etc/openvpn/
sudo cp pki/issued/nap-openvpn-serv.crt /etc/openvpn/
sudo cp pki/private/nap-openvpn-serv.key /etc/openvpn/
sudo cp pki/dh.pem /etc/openvpn/dh2048.pem
#Generowanie klucza symetrycznego dodatkowo zabezpieczającego integralność pakietów w wymianie komunikatów zestawiających komunikację SSL/TSL 
openvpn --genkey --secret ta.key
#Kopiowanie klucza ta do katalogu OpenVpn, 
sudo cp ta.key /etc/openvpn
#Kopiowanie wzoru konfiguracji serwera OpenVPN
zcat 
/usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz 
| sudo tee /etc/openvpn/server.conf > /dev/null
cd /etc/openvpn/
#Edycja wzoru pliku konfiguracyjnego serwera OpenVPN 
sudo vim server.conf
OpenVPN Server Certificate - CA, server key and certificate
ca ca.crt
cert nap-openvpn-serv.crt
key nap-openvpn-serv.key
Network Configuration - Internal network
Redirect all Connection through OpenVPN Server
server 10.8.0.0 255.0.0.0
push "redirect-gateway def1"
Using the DNS
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
Other Configuration
user nobody
group nobody
OpenVPN Log
log-append /var/log/openvpn.log
#Upewnienie się że uprawnienia do katalogu OpenVPN ma jedynie root
sudo chown -R root:root /etc/openvpn
#Włączenie funkcjonalności routera dla Ubuntu
sudo vi /etc/sysctl.conf
net.ipv4.ip_forward=1
sudo sysctl -p
#Zmiana domyślnego zachowania się firewalla na domyślne akceptowanie przekazywania pakietów
sudo vi /etc/default/ufw
/DEFAULT_FORWARD_POLICY="ACCEPT"
#Włączenie funkcjonalności NAT'a dla użytkowników sieci wykorzystywanej dla klientów OpenVPN
sudo vi /etc/ufw/before.rules
(Dodać powyżej sekcji filter rules, ens32 to interfejs zewnętrzny, a sieć 10.8.0.0/8 to sieć wewnętrzna do realizacji NAT)
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.8.0.0/8 -o ens32 -j MASQUERADE
COMMIT
#Zezwolenie w polityce firewall na usługę OpenVPN oraz SSH
sudo ufw allow openvpn
sudo ufw allow ssh
#Restart firewall'a w celu zastosowania zmian
sudo ufw disable && sudo ufw enable
#Restart usługi OpenVPN i dodanie tej usługi do autostartu systemu
sudo systemctl restart openvpn && sudo systemctl enable openvpn
########Konfiguracja klienta###############
#Generowanie wniosku o certyfikat dla klienta
./easyrsa gen-req student nopass
#Podpisanie wniosku o certyfikat dla klienta przez urząd CA
./easyrsa sign-req client student
#Weryfikacja poprawności certyfikatu
openssl verify -CAfile pki/ca.crt pki/issued/student.crt
#Stworzenie katalogu do zebrania plików potrzebnych do generowania pełnej konfiguracji klienta końcowego
mkdir ~/students
#Kopiowanie certyfikatów CA, klienta oraz plików kluczy prywatnych klienta oraz klucza ta (dodatkowe zabezpieczenie pakietów negocjowania sesji SSL/TLS)
sudo cp ~/nap-ca/pki/issued/student.crt ~/students/
sudo cp ~/nap-ca/pki/private/student.key ~/students/
sudo cp /etc/openvpn/ta.key ~/students/
sudo cp ~/nap-ca/pki/ca.crt ~/students/
#Kopiowanie wzoru konfiguracji klienta
cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/students
#Edycja pliku konfiguracyjnego klienta
sudo vi ~/students/client.conf
remote 10.17.17.253 1194
<ca>
# Tutaj należy wstawić zawartość pliku ca.crt
</ca>
<cert>
# Tutaj należy wstawić zawartość pliku student1.crt
</cert>
<key>
# Tutaj należy wstawić zawartość pliku student1.key
</key>
key-direction 1
<tls-auth>
Tutaj należy wstawić zawartość pliku ta.key
</tls-auth>
#Zmiana nazwy pliku konfiguracyjnego klienta.
mv ~/students/client.conf ~/students/student1.ovpn

Chcesz wiedzieć jak dać sobie podwyżkę? 

Napisałem krótki poradnik na ten temat:
https://netadminpro.pl/podwyzka

Chcesz więcej informacji?

Dołącz do naszej strony fanów na Facebook:

Grupa na Facebooku

Więcej miejsc do posłuchania:

Spotify

 

Transkrypcja filmu:

0:00:01.860,0:00:03.860
Interesuje Cię jak skonfigurować

0:00:03.860,0:00:06.280
klienta OpenVPN

0:00:06.280,0:00:08.280
do dostępu zdalnego?

0:00:08.880,0:00:12.700
Jeżeli tak, to to jest właśnie druga część konfiguracji

0:00:12.700,0:00:17.000
dostępu zdalnego w oparciu o opensource’owy OpenVPN.

Konfiguracja Klienta OpenVPN w 7 min

0:00:17.000,0:00:20.080
W tej części pokażę w jaki sposób stworzyć

0:00:20.080,0:00:22.420
konfigurację klienta końcowego.

0:00:22.420,0:00:24.660
Jak stworzyć certyfikat,

0:00:24.660,0:00:27.320
którym może się logować ten klient,

0:00:27.320,0:00:29.140
jego klucz prywatny

0:00:29.140,0:00:31.820
i jak całość ze sobą połączyć, tak żeby

0:00:31.820,0:00:35.940
spiąć tunel zdalny do serwera OpenVPN.

0:00:35.940,0:00:39.040
Konfigurację części klienta rozpoczynam

0:00:39.040,0:00:43.420
od generowania wniosku o certyfikat dla klienta,

0:00:43.420,0:00:46.820
czyli wpisuję tutaj common name student.

0:00:47.800,0:00:49.320
Mam wniosek.

0:00:49.320,0:00:51.500
Kolejnym krokiem jest

0:00:51.820,0:00:54.420
podpisanie tego wniosku przez mój urząd.

0:00:56.560,0:00:59.160
Czyli teraz podpisuję ten wniosek.

0:00:59.820,0:01:02.780
Muszę tutaj wpisać potwierdzenie, czyli slowo yes

0:01:02.780,0:01:06.740
a następnie wprowadzić hasło do klucza prywatnego mojego urzędu.

0:01:09.860,0:01:12.020
Weryfikuję wygenerowany certyfikat.

0:01:12.400,0:01:14.400
Jest prawidłowy.

0:01:16.380,0:01:18.620
Tworzę katalog students.

0:01:19.240,0:01:21.060
Czyli katalog, w którym będę umieszczał

0:01:21.060,0:01:23.680
poszczególne pliki, które mi są potrzebne do

0:01:24.060,0:01:28.440
skompletowania gotowego pełnego configu dla klienta.

0:01:28.780,0:01:31.460
I do tego katalogu kopiuję

0:01:31.980,0:01:35.300
Certyfikat studenta, jego klucz prywatny

0:01:35.780,0:01:41.720
a następnie klucz ta, czyli ten dodatkowy symetryczny klucz zabezpieczający

0:01:42.100,0:01:45.400
komunikację między serwerem OpenVPN a klientem,

0:01:46.020,0:01:48.740
certyfikat urzędu, czyli ca.

0:01:52.060,0:01:57.320
I następnie kopiuję przykład konfiguracji do katalogu students.

0:01:58.680,0:02:00.840
Mając już te wszystkie pliki

0:02:00.840,0:02:05.180
mogę przystąpić do edycji pliku konfiguracyjnego,

0:02:05.340,0:02:07.820
czyli client.conf w tym przypadku.

0:02:12.340,0:02:16.960
W tym pliku potrzebuję zmienić kilka rzeczy.

0:02:17.740,0:02:20.240
Na pewno potrzebuję wyedytować

0:02:20.240,0:02:24.580
adres IP lub nazwę domenową mojego serwera.

0:02:24.840,0:02:29.240
W moim przypadku, w tym przykładzie to będzie adres IP.

0:02:33.200,0:02:36.180
Zakomentuję linijki dotyczące

0:02:36.180,0:02:40.100
certyfikatu urzędu, klienta i klucza prywatnego.

0:02:40.420,0:02:43.240
Jak również tls-auth,

0:02:43.400,0:02:45.940
czyli ja tutaj będę wklejał bezpośrednio

0:02:46.260,0:02:50.360
informacje o tych certyfikatach, kluczach jako tekst.

0:02:50.540,0:02:53.820
W związku z tym komentuję odniesi enie bezpośrednio

0:02:53.820,0:02:56.840
w konfiguracji klienta do pliku.

0:02:57.460,0:03:02.240
Tutaj wszystkie informacje umieszczę na dole w formie tekstowej.

0:03:02.240,0:03:04.820
Czyli będę przeklejał bezpośrednio

0:03:04.820,0:03:08.420
od pliku na przykład certyfikatu ca

0:03:08.420,0:03:10.880
do tego pliku konfiguracyjnego.

0:03:10.880,0:03:12.880
Dzięki temu będę miał tylko jeden plik

0:03:12.880,0:03:16.420
konfiguracyjny, który będę musiał przekazać klientowi.

0:03:27.640,0:03:30.180
Wyświetlam sobie zawartość pliku.

0:03:30.480,0:03:32.580
W tym przypadku certyfikat ca.

0:03:32.580,0:03:35.460
Kopiuję od początku linijki

0:03:35.460,0:03:39.000
z myślnikami do ostatniej linijki z myślnikami

0:03:39.000,0:03:43.780
a następnie wklejam tutaj pomiędzy tymi tagami ca.

0:03:49.260,0:03:51.480
Podobnie robię z certyfikatem,

0:03:51.480,0:03:54.300
czyli zaczynam od pierwszej linijki

0:03:54.300,0:03:59.440
i kopiuję razem z kluczem na końcu,

0:03:59.440,0:04:04.760
podpisanym tym certyfikatem – to jest klucz publiczny urzędu ca.

0:04:04.760,0:04:08.740
Całość kopiuję tutaj do znaczników cert.

0:04:18.000,0:04:20.700
No i podobnie wykonuję z pozostałymi polami,

0:04:20.700,0:04:24.560
czyli z kluczem prywatnym i z kluczem tls.

0:04:44.600,0:04:51.520
Całość konfiguracji. Teraz zmieniam nazwę z client.conf na student.ovpn

0:04:53.460,0:04:58.060
I taki już plik będę mógł użyć w konfiguracji już klienta.

0:04:59.300,0:05:04.300
Żeby ściągnąć sobie klienta, tutaj przykład na systemie Windows.

0:05:04.300,0:05:06.500
trzeba wejść na stronę openvpn.net

0:05:07.120,0:05:08.860
do sekcji downloads

0:05:08.860,0:05:12.480
i ściągnąć odpowiednią wersję e-pliku

0:05:12.620,0:05:18.040
instalacyjnego, ja w tym przykładzie mam Windows 10 i taki plik pobieram.

0:05:19.900,0:05:23.860
Tutaj cały proces instalacyjny jest banalny.

0:05:24.200,0:05:26.580
Nic nie zmieniam, domyślne ustawienia

0:05:26.580,0:05:30.240
konfiguracji tego klienta.

0:05:32.000,0:05:37.380
Następnie ściągam mój plik konfiguracyjny, wykorzystując WinSCP

0:05:39.100,0:05:44.760
Po lewej stronie ustawiłem już katalog, czyli Program Files\OpenVPN\config

0:05:44.760,0:05:47.680
W takim katalogu należy zapisać ten plik.

0:05:50.880,0:05:58.120
I łączę się, wykonując polecenie connect z tego interfejsu graficznego,

0:05:58.180,0:06:02.360
czyli prawy na ikonce OpenVPN-a i connect.

0:06:08.060,0:06:10.960
I teraz zobacz na stronie serwera.

0:06:10.960,0:06:16.120
Możemy wejść w ustawienia czy wyświetlić sobie logi.

0:06:16.120,0:06:19.540
Zobaczyć jakie są informacje po stronie serwera.

0:06:19.540,0:06:25.140
Widzimy, że jest podłączony student z adresem 10.17.17.252

0:06:25.140,0:06:27.140
na takim porcie,

0:06:27.140,0:06:30.320
czyli po stronie serwera możemy potwierdzić

0:06:30.400,0:06:32.520
prawidłowość takiej konfiguracji.

0:06:34.460,0:06:37.900
No i logi pełne serwera.

0:06:37.900,0:06:41.800
Możemy sobie prześledzić jak wyglądał ten proces negocjacji

0:06:41.800,0:06:44.340
i jakie parametry zostały użyte.

0:06:45.180,0:06:48.120
W tym odcinku to wszystko. Dziękuję Ci za uwagę.

0:06:48.120,0:06:51.020
Jeżeli masz jakieś pytania co do tej funkcjonalności

0:06:51.020,0:06:53.020
to napisz w komentarzu.

0:06:53.020,0:06:55.940
Jeżeli chciałbyś zobaczyć w jaki sposób

0:06:55.940,0:07:02.020
utwardzić tą konfigurację, czyli zadać para metry wyższego poziomu szyfrowania,

0:07:02.200,0:07:05.140
lepiej zabezpieczyć tę instalację to również napisz.

0:07:05.140,0:07:10.080
Jeżeli będzie zainteresowanie to rozważę też taki odcinek, który pokazuje

0:07:10.080,0:07:13.820
w jaki sposób jeszcze dokonfigurować szczegóły

0:07:13.820,0:07:20.160
tego rozwiązania w oparciu o serwer OpenVPN w wersji serwera Linux.

0:07:20.760,0:07:24.460
Na dzisiaj to wszystko, dziękuję Ci za uwagę i do usłyszenia w kolejnym odcinku.


Podobne wpisy

Dodaj komentarz

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