Jak skonfigurować VPN z OpenVPN na Debian 9 Stretch Linux

Jak skonfigurować VPN z OpenVPN na Debian 9 Stretch Linux

Rozkłady

Ten przewodnik jest testowany dla Debian 9 Stretch Linux, ale może działać z innymi najnowszymi wersjami Debian.

Wymagania

  • Ten przewodnik zakłada, że ​​uruchamiasz Debiana na VPS lub na zdalnym serwerze, ponieważ jest to najbardziej prawdopodobny scenariusz dla VPN.
  • Działający instalacja debiana odcinka z dostępem do korzeni

Trudność

ŚREDNI

Konwencje

  • # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
  • $ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny

Konfigurowanie iPtables

Konfigurowanie własnego VPN nie jest małym zadaniem, ale istnieje wiele powodów, dla których chcesz to zrobić. Po pierwsze, kiedy uruchamiasz własny VPN, masz nad nim pełną kontrolę i wiesz, co robi.

Bezpieczeństwo jest ważnym czynnikiem dla VPNS. Możliwe jest ustawienie prostego w ciągu kilku minut, ale wcale nie będzie bezpieczny. Musisz podjąć odpowiednie kroki, aby zapewnić, że zarówno serwer, jak i Twoje połączenia pozostają prywatne i zaszyfrowane.

Przed wyruszeniem w tę drogę możesz rozważyć szyfrowanie swoich dysków, zabezpieczenie jądra z Selinux lub Pax i upewnienie się, że wszystko inne jest zamknięte.

IPTABLES to duża część bezpieczeństwa serwera. Potrzebujesz iptables, aby upewnić się, że informacje nie wyciekają z VPN. IPTABLES działa również, aby zapobiec nieautoryzowanym połączeniom. Tak więc pierwszym krokiem w konfiguracji VPN na Debian jest konfiguracja IPTables.

Znajdź swój interfejs WAN

Zanim zaczniesz pisać reguły IPTABLES, musisz wiedzieć, dla którego interfejsu piszesz.

Używać ifconfig Lub ip a Aby wyszukać interfejs, z którym serwer jest podłączony do Internetu.

Reszta tego przewodnika określa ten interfejs ETH0, Ale to prawdopodobnie nie będzie twoje. Zamiast tego zamieniaj się w nazwę interfejsu sieciowego twojego serwera.



Tworzenie zasad IPTABLES

Każdy użytkownik i administrator Linux uwielbia pisać reguły iptables, prawda? To nie będzie takie złe. Skomponujesz plik ze wszystkimi poleceniami i po prostu przywrócisz go do IPTABLES.

Utwórz swój plik. Możesz zrobić to miejsce, które chcesz zapisać lub po prostu zrzucić /TMP. IPtables i tak zapisze twoje zasady, więc /TMP jest w porządku.

$ vim /tmp /v4rules

Uruchom plik, dodając *filtr Aby IPTables wiedział, że są to reguły filtra.

Tak, będzie też IPv6, ale będzie znacznie krótszy.

Zasady pętli

Zacznij od najprostszego zestawu reguł, interfejsu LOOPBACK. Te po prostu informują iptables, aby zaakceptowali tylko ruch z looback pochodzący z LocalHost.

-A wejście -i lo -J akceptuj -a ! -I lo -s 127.0.0.0/8 -J Odrzucone -a wyjście -o lo -j zaakceptuj 

Zezwalając na ping

Następnie prawdopodobnie chcesz móc pingować swój serwer. Ta grupa reguł pozwala na ping przez.

-A wejście -p ICMP -M Stan --state NOWOŚĆ --ICMP -Type 8 -J Akceptuj -a wejście -p ICMP -M Stan --state, powiązane -j akceptuj -a wyjściowe -p icmp -j akceptuj 

Konfiguracja SSH

Prawdopodobnie powinieneś zmienić SSH z portu 22, więc pozwól, aby Twoje zasady to odzwierciedlało.

-A wejście -i ETH0 -p TCP -M Stan --state Nowy, ustalony - -dport 22 -j Zaakceptuj -a wyjściowe -o ETH0 -p TCP -M Stan --state ustalone -sort 22 -j Zaakceptuj 

Pozwól OpenVpn przez

Oczywiście będziesz chciał pozwolić na ruch w OpenVPN. Ten przewodnik użyje UDP dla OpenVPN. Jeśli zdecydujesz się na TCP, pozwól, aby reguły to odzwierciedlało.

-A wejście -i ETH0 -p UDP -M Stan --state Nowy, ustanowiony - -dport 1194 -j Zaakceptuj -a eth0 -p Udp -m State --state ustalone -Sport 1194 -J Zaakceptuj 

DNS

Będziesz również chciał umożliwić ruch DNS za pośrednictwem serwera VPN. Będzie to zarówno przez UDP, jak i TCP.

-A wejście -i ETH0 -p UDP -M Stan -State ustalone - -Sport 53 -J Zaakceptuj -a wyjściowe -o ETH0 -p UDP -m Stan --state NOWY, Ustanowiony -DPORT 53 -J Akceptuj -a Wejście -i ETH0 -p TCP -M Stan -State ustalone - -Sport 53 -J Zaakceptuj -a wyjściowe -O ETH0 -p TCP -m Stan --state Nowy, ustanowiony -DPORT 53 -j Zaakceptuj 

HTTP/s dla aktualizacji

Może wydawać się dziwne, aby umożliwić ruch HTTP/s, ale ty Do Want, że Debian był w stanie się zaktualizować, prawda? Reguły te pozwalają Debianowi inicjować żądania HTTP, ale nie odbierać ich z zewnątrz.

-A wejście -i ETH0 -p TCP -M Stan -State ustalone -SPORT 80 -J Akceptuj -a wejście -i ETH0 -p ETH0 -P TCP -M Stan --state Nowy, ustanowiony -DPORT 80 -J Zaakceptuj -a wyjściowe -O ETH0 -p TCP -m Stan --state Nowy, ustanowiony -DPORT 443 -J Akceptuj 


NTP, aby zsynchronizować zegar

Zakładając, że nie zamierzasz ręcznie zsynchronizować zegara serwera i zegarów klienta, będziesz potrzebować NTP. Pozwól temu też.

-A wejście -i ETH0 -p UDP -M Stan -State ustalone - -Sport 123 -J Zaakceptuj -a wyjściowe -o ETH0 -p UDP -m Stan --state NOWY, Ustanowiony -DPORT 123 -J Zaakceptuj 

Tun to tunel przez VPN

W tym przewodniku używa tunelu do tunelu przez VPN, jeśli używasz stukania, odpowiednio dostosuj.

-A wejście -i tun0 -j akceptuj -a do przodu -i tun0 -j akceptuj -a wyjściowe -o tun0 -j akceptuj 

Aby VPN przekazał ruch do Internetu, musisz włączyć przekazanie z TUN do fizycznego interfejsu sieciowego.

-A Forward -i Tun0 -O ETH0 -S 10.8.0.0/24 -J Zaakceptuj -a Forward -m Stan -State ustalone, powiązane -j zaakceptuj 

Log zablokował ruch

Prawdopodobnie powinieneś mieć iptables rejestrować ruch, który blokuje. W ten sposób jesteś świadomy wszelkich potencjalnych zagrożeń.

-A wejściowe -m limit - -limit 3/min -J log - -log -prefix "iptables_input_dened:" - -log -poziom 4 -A do przodu -m limit -limit 3/min -J log - -log -prefix " iptables_forward_denied: " - -LOG -LEVEL 4 -A Output -m limit - -limit 3/min -J log - -log -prefix" iptables_output_dend: " - -LOG -LEVEL 4 

Odrzuć cały pozostały ruch

Teraz, gdy logujesz wszystko, co nie pasuje do istniejących zasad, odrzuć to.

-A wejście -J odrzucanie -a do przodu -J Odrzucone -a wyjście -j Odrzucaj 

Nie zapomnij zamknąć pliku POPEŁNIAĆ.

Nat

Ta następna część wymaga innej tabeli. Nie możesz dodać go do tego samego pliku, więc musisz po prostu uruchomić polecenie ręcznie.

Wykonaj ruch z maskarady VPN jako ruch z fizycznego interfejsu sieciowego.

# iptables -t nat -a posttrouting -s 10.8.0.0/24 -O ETH0 -J MASQUERADE 

Zablokuj cały ruch IPv6

Ruch może wyciekać przez IPv6 i tak naprawdę nie ma teraz potrzeby używania IPv6. Najłatwiej jest to całkowicie zamknąć.

Utwórz kolejny plik i wrzuć reguły, aby odrzucić cały ruch IPv6.

$ vim /tmp /v6rules
*Filter -a input -J odrzucanie -a do przodu -J odrzucone -a wyjście -j odrzucaj zatwierdzenie 


Popełnić wszystko

Zacznij od wypłukania wszystkich istniejących zasad IPTables.

# iptables -f && iptables -x 

Zaimportuj każdy z utworzonych plików reguł.

# IPTABLES-RESTORE < /tmp/v4rules # ip6tables-restore < /tmp/v6rules 

Sprawiając, że się trzyma

Debian ma pakiet, który będzie obsługiwał automatycznie ładowanie twoich reguł iptable, więc nie musisz tworzyć zadania cron ani nic takiego.

# apt Zainstaluj iptables-persistent

Proces instalacji zapyta Cię, czy chcesz zapisać swoje konfiguracje. Odpowiedz: „Tak."

W przyszłości możesz zaktualizować swoje reguły, uruchamiając następujące polecenie Linux.

# usługa netfilter-persistent zapisz

Dodatkowa konfiguracja

Jest jeszcze kilka rzeczy, które musisz zrobić, aby wszystkie interfejsy sieciowe działały w razie potrzeby.

Najpierw otwórz się /etc/hosts i skomentuj wszystkie linie IPv6.

Następnie otwórz /etc/sysctl.D/99-SYSCTL.conf. Znajdź i pocukaj następującą linię.

internet.IPv4.ip_forward = 1 

Dodaj następne linie, aby całkowicie wyłączyć IPv6.

internet.IPv6.conf.Wszystko.disable_ipv6 = 1 netto.IPv6.conf.domyślny.disable_ipv6 = 1 netto.IPv6.conf.lo.disable_ipv6 = 1 netto.IPv6.conf.ETH0.disable_ipv6 = 1 

Na koniec zastosuj swoje zmiany.

# sysctl -p 

Co dalej

To pierwsza część w dół. Zapora Twojego serwera jest teraz gotowa do uruchomienia OpenVPN, a Twoja sieć jest również poprawnie wyrównana.

Następnym krokiem jest utworzenie organu certyfikatów do obsługi wszystkich klawiszy szyfrowania. To nie jest długi proces, jak to było, ale jest równie ważne.

Urząd certyfikacji

Użyj Easy-RSA, aby ustanowić organ certyfikat.

To druga część konfigurowania serwera OpenVPN na debian odcinek.

VPN opierają się na szyfrowaniu. Absolutnie ważne jest, aby szyfrować swoje połączenia z klientami, a także sam proces połączenia.

Aby wygenerować klucze niezbędne do zaszyfrowanej komunikacji, musisz ustanowić organ certyfikacyjny. To naprawdę nie jest takie trudne i istnieją narzędzia, które jeszcze bardziej upraszczają proces.

Instalowanie pakietów

Zanim zaczniesz, zainstaluj OpenVPN i Easy-RSA.

# apt Zainstaluj OpenVpn Easy-RSA

Skonfiguruj katalog

Pakiet OpenVPN stworzył dla siebie katalog pod adresem /etc/openvpn. Tam możesz skonfigurować Urząd Certyfikatu.

Easy-RSA zawiera skrypt, który automatycznie tworzy katalog ze wszystkim, czego potrzebujesz. Użyj go, aby utworzyć katalog Authority Certificate Authority.

# make-cadir/etc/openvpn/certs

Wprowadź ten katalog i utwórz miękki związek między najnowszą konfiguracją OpenSSL z Openssl.CNF.

# ln -s openssl -1.0.0.CNF Openssl.CNF


Ustaw zmienne

Wewnątrz folderu znajduje się plik o nazwie, vars. Ten plik zawiera zmienne, których Easy-RSA użyje do generowania klawiszy. Otwórz to. Istnieje kilka wartości, które musisz zmienić.

Zacznij od znalezienia Key_Size zmienna i zmiana jej wartości 4096.

Eksport Key_Size = 4096

Następnie znajdź blok informacji dotyczących lokalizacji i tożsamości organu certyfikatu.

Eksport Key_Country = "us" Export Key_Province = "Ca" Export Key_city = "Sanfrancisco" Export Key_org = "Fort-Funston" Export Key_Email = "[email protected] „Export Key_OU =„ MyorGanizationAlunit ” 

Zmień wartości, aby ci odpowiadały.

Ostatnią zmienną, którą musisz znaleźć, jest Nazwa_key

Eksport key_name = "vpnserver"

Nazwij to coś możliwego do zidentyfikowania.

Utwórz klucze autorytetu

Easy-RSA zawiera skrypty do wygenerowania organu certyfikatów.

Najpierw załaduj zmienne.

# źródło ./vars

W terminalu pojawi się komunikat ostrzegawczy, mówiąc ci to Wyczyść wszystko usunie twoje klucze. Jeszcze nie masz, więc jest w porządku.

# ./Wyczyść wszystko

Możesz teraz uruchomić skrypt, aby faktycznie wygenerować swój organ certyfikatu. Skrypt zadaje ci pytania dotyczące generowanych kluczy. Domyślne odpowiedzi będą zmienne, które już wprowadziłeś. Możesz bezpiecznie rozbić „Enter.„Pamiętaj tylko, aby wprowadzić hasło, jeśli chcesz i odpowiedzieć„ tak ”na dwa ostatnie pytania.

# ./Build-CA

Utwórz klucz serwera

Klucze, które wykonałeś, dotyczyły samego organu certyfikatu. Potrzebujesz też klucza do serwera. Po raz kolejny jest na to skrypt.

# ./Build-Key-Server Server

Wygeneruj PEM Diffie-Hellman

Musisz wygenerować PEM Diffie-Hellman, którego OpenVPN użyje do tworzenia bezpiecznych kluczy sesji klienta. Easy-RSA również zapewnia do tego skrypt, ale po prostu łatwiej jest użyć zwykłego openssl.

Ponieważ celem tutaj jest bezpieczeństwo, najlepiej wygenerować klucz 4096 -bitowy. Wygenerowanie zajmie trochę czasu i może nieco spowolnić proces połączenia, ale szyfrowanie będzie dość silne.

# Openssl Dhparam 4096>/etc/openvpn/DH4096.pem

Wygeneruj klucz HMAC

Tak, potrzebujesz innego klucza szyfrowania. OpenVPN używa klawiszy HMAC do podpisywania pakietów używanych w procesie uwierzytelniania TLS. Podpisując te pakiety, OpenVPN może zagwarantować, że akceptowane są tylko pakiety pochodzące z maszyny z kluczem. Po prostu dodaje kolejną warstwę bezpieczeństwa.

Narzędzie do generowania klucza HMAC jest wbudowane w sam OpenVPN. Uruchom.

# OpenVpn -genkey - -secret/etc/openvpn/certs/klawisze/ta.klucz

Co dalej

Tworzenie silnego szyfrowania jest łatwo jednym z najważniejszych aspektów konfigurowania serwera OpenVPN. Bez dobrego szyfrowania cały proces jest zasadniczo bez znaczenia.

W tym momencie w końcu jesteś gotowy skonfigurować sam serwer. Konfiguracja serwera jest w rzeczywistości mniej skomplikowana niż to, co zrobiłeś do tej pory, więc gratulacje.

OpenVpn Sever

Skonfiguruj serwer OpenVPN za pomocą kluczy szyfrowania wygenerowanych w poprzedniej sekcji przewodnika.

To trzecia część w konfigurowaniu serwera OpenVPN na Debian Stretch.

Teraz przybyłeś na główne wydarzenie. To jest faktyczna konfiguracja serwera OpenVPN. Wszystko, co zrobiłeś do tej pory, było absolutnie konieczne, ale żaden z nich nie dotknął samego OpenVPN, do tej pory.

Ta sekcja jest całkowicie zaniepokojona konfiguracją i uruchamianiem serwera OpenVPN i jest to mniej skomplikowane, niż prawdopodobnie myślisz.

Uzyskaj konfigurację podstawową

OpenVPN dokonał tego procesu bardzo łatwy. Pakiet, który zainstalowałeś, był wyposażony w przykładowe pliki konfiguracyjne zarówno dla klientów, jak i serwera. Wystarczy rozpakować serwer w sobie /etc/openvpn informator.

# gunzip -c/usr/share/doc/openvpn/przykłady/próbki-config-files/serwer.conf.GZ>/etc/openvpn/serwer.conf 

Otwórz go w swoim ulubionym edytorze tekstu i przygotuj się na zmianę rzeczy.



Użyj swoich kluczy

Gdy będziesz w pliku, zobaczysz, że wszystko jest wypełnione rozsądnymi domyślnymi domyślnymi.

Pierwszą rzeczą, którą musisz znaleźć, jest sekcja, aby dodać swój autorytet certyfikacyjny i klucze serwera. Zmienne są ca, certyfikat, I klucz. Ustaw je równą pełnej ścieżce każdego z tych plików. Powinien wyglądać jak poniższy przykład.

CA/etc/openvpn/certs/klawisze/ca.CRT cert/etc/openvpn/certs/klawisze/serwer.Klucz CRT/etc/openvpn/certs/klawisze/serwer.Klucz # Ten plik powinien być utrzymywany w tajemnicy 

Następną częścią, którą musisz znaleźć, jest Diffie-Hellman .pem Kiedy skończysz, powinno wyglądać tak:

DH DH4096.pem

Wreszcie znajdź TLS-Auth dla Twojego klucza HMAC.

TLS-Auth/etc/openvpn/certs/klawisze/ta.Klucz 0 # Ten plik jest tajny

Tak, zostaw 0 tam.

Zrównać bezpieczeństwo

Ustawienia szyfrowania w pliku konfiguracyjnym są w porządku, ale mogą być dużo lepsza. Czas włączyć lepsze ustawienia szyfrowania.

Znajdź sekcję, która zaczyna się od, # Wybierz kryptograficzny szyfr. Tam musisz dodać poniższy wiersz poniżej, istniejące opcje skomentowało.

Cipher AES-256-CBC

To nie jest jedna z wymienionych opcji, ale jest obsługiwana przez OpenVPN. Że szyfrowanie 256 -bitowe AES jest prawdopodobnie najlepszym oferowanym przez OpenVPN.

Przewiń na koniec pliku. Następne dwie opcje nie są jeszcze w konfiguracji, więc musisz je dodać.

Najpierw musisz określić silny trawienie uwierzytelniania. Jest to szyfrowanie, którego OpenVPN będzie używał do uwierzytelniania użytkownika. Wybierz SHA512.

# Auth Digest Auth SHA512 

Następnie ogranicz szyfry, których OpenVPN użyje do silniejszych. Najlepiej jest to ograniczyć, jak to możliwe.

# Limit szyfrów tls-cipher tls-dhe-rsa-with-aes-256-gcm-sha384: tls-dhe-rsa-with-aes-128-gcm-shA256: tls-dhe-rsa-zh-aes-256-- CBC-SHA: TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA: TLS-DHE-RSA-WITH-AES-128-CBC-SHA: TLS-DHE-RSA-WITH-CAMELLIA-128-CBC- SHA 

Bezpośredni ruch

Wszystkie rzeczy szyfrowania są na uboczu. Czas zrobić trochę routingu. Musisz powiedzieć OpenVPN, aby obsłużyć przekierowanie ruchu i DNS.

Zacznij od przekierowania ruchu. Znajdź poniższą linię i pocukaj.

Wpusz „Redirect-Gateway DEF1 Bypass-DHCP”

Aby prowadzić DNS przez OpenVPN, musisz podać opcje DNS. Te linie są już tam i również skomentowane. Odkształcić ich. Jeśli chcesz użyć innego serwera DNS, możesz również zmienić adres IP na ten DNS.

push „dhcp-option DNS 208.67.222.222 „Push” DHCP-Option DNS 208.67.220.220 " 

Skonfiguruj użytkownika OpenVPN

OpenVPN działa domyślnie jako root. To dość okropny pomysł. Jeśli OpenVPN jest zagrożony, cały system jest wkręcony. Istnieje kilka skomentowanych wierszy do uruchomienia OpenVPN jako „nikogo”, ale „nikt” zwykle nie prowadzi innych usług. Jeśli nie chcesz, aby OpenVPN miał dostęp do niczego oprócz OpenVPN, musisz uruchomić go jako własnego nieuprzywilejowanego użytkownika.

Utwórz użytkownika systemu dla OpenVPN do uruchomienia.

# adduser--System --shell/usr/sbin/nologin-no-create-home openvpn 

Następnie możesz edytować plik konfiguracyjny, odkształcając linie, które uruchamiają OpenVPN jako „nikogo” i zastępować go nazwą użytkownika, którą właśnie stworzyłeś.

Nogrupa grupy OpenVPN użytkownika 


Wyślij dzienniki do Null

Istnieją dwie opcje, jeśli chodzi o dzienniki i oba mają swoje zalety. Możesz zarejestrować wszystko jako normalne i mieć dzienniki, które można zwrócić w późniejszym terminie, lub możesz być paranoikiem i zalogować się /dev/null.

Logując się do /dev/null, usuwasz dowolny rekord klientów, którzy łączą się z VPN i gdzie idą. Nawet jeśli kontrolujesz swój VPN, możesz pójść tą trasą, jeśli starasz się być bardziej nastawiony na prywatność.

Jeśli chcesz zniszczyć swoje dzienniki, znajdź status, dziennik, I log-append zmienne i wskazują je wszystkie /dev/null. Powinien wyglądać podobnie do poniższego przykładu.

status /dev /null… log /dev /null log-append /dev /null 

To ostatnia część konfiguracji. Zapisz go i przygotuj się do uruchomienia serwera.

Uruchom swój serwer

W rzeczywistości istnieją dwie usługi, które musisz zacząć obracać się otwartą na debian. Rozpocznij je oboje od SystemD.

# SystemCtl Start OpenVpn # Systemctl Start OpenVpn@Server 

Sprawdź, czy działają poprawnie.

# Status Systemctl OpenVpn*.praca 

Umożliwić im uruchamianie w uruchomieniu.

# Systemctl Włącz OpenVpn # Systemctl Włącz OpenVpn@Server 

Masz teraz działający serwer VPN na Debian Stretch!

Co dalej

Jesteś tu. Zrobiłeś to! Debian działa teraz OpenVPN za bezpieczną zaporą i jest gotowy na połączenie klientów.

W następnej sekcji skonfigurujesz swój pierwszy klient i podłączysz go do swojego serwera.

Klient OpenVPN

Skonfiguruj i OpenVPN Client do łączenia się z nowo skonfigurowanym serwerem OpenVPN.

To jest czwarta i ostatnia część konfigurowania serwera OpenVPN na Debian Stretch.

Teraz, gdy twój serwer działa, możesz skonfigurować klienta, aby się z nim połączyć. Klient może być dowolnym urządzeniem obsługującym OpenVPN, co jest prawie wszystkim.

Są coś, co musisz zrobić na serwerze, aby oddać klientowi, ale potem chodzi o konfigurację tego połączenia.

Utwórz klucze klienta

Zacznij od zrobienia zestawu kluczy klienta. Proces jest prawie identyczny z tym, którego użyłeś do tworzenia kluczy serwera.

płyta CD W katalogu Authority Certificate Ustaw źródło z pliku zmiennych i zbuduj klawisze.

# CD/etc/OpenVPN/Certs # Źródło ./vars # ./Key FirstClient 

Możesz wymienić klucz klienta, co wybierzesz. Ponownie scenariusz zadaje serię pytań. Domyślne powinny być dobre dla wszystkiego.

Plik konfiguracyjny klienta

OpenVPN zapewnia przykładowe konfiguracje klienta oprócz serwerów. Skrzyń nowy katalog konfiguracji klienta i skopiuj przykład w.

# mkdir/etc/openvpn/klienci # cp/usr/share/doc/openvpn/przykłady/próbki-config-files/klient.conf/etc/openvpn/klienci/klient.ovpn 

Otwórz plik w wybranym edytorze tekstu.



Zdalny host

Znajdź linię z zdalny zmienny. Ustaw to równe IP swojego serwera.

Zdalny 192.168.1.5 1194 

Stać się nikim

Nie ma szkolenia z wymaganymi bez twarzy mężczyzn. Po prostu znajdź pociszenie poniższych linii.

Użytkownik nikt nie grupowy nogrupa 

Skonfiguruj klucze

Musisz powiedzieć konfiguracji klienta, gdzie znaleźć klucze, których potrzebuje. Znajdź następujące wiersze i edytuj je, aby dopasować to, co skonfigurowałeś.

CA.CRT Cert FirstClient.Klucz CRT FirstClient.klucz 

Pamiętaj, aby używać rzeczywistych nazw certyfikatu klienta i klucza. Ścieżka jest w porządku. Będziesz umieszczać to wszystko w tym samym katalogu.

Znajdź i pocukaj linię dla HMAC.

TLS-Auth ta.Klucz 1 

Określ szyfrowanie

Klient musi wiedzieć, jakiego szyfrowania używa serwera. Podobnie jak serwer, należy dodać kilka z tych linii.

Znaleźć szyfr zmienny. To skomentowano. Odkształcić go i dodaj szyfr, którego użyłeś na serwerze.

Cipher AES-256-CBC 

Dodaj uwierzytelnianie i ograniczenia szyfru na końcu konfiguracji klienta.

# Uwierzytelnianie Auth Auth SHA512 # Ograniczenia szyfru TLS-Cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384: TLS-DHE-RSA-WITH-AES-128-GCM-SHA256: -AES-256-CBC-SHA: TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA: TLS-DHE-RSA-WITH-AES-128-CBC-SHA: TLS-DHE-RSA-WITH-Camellia -128-CBC-SHA 

Zapisz konfigurację i wyjdź.

Wyślij klientowi Tarball

Musisz spakować konfigurację klienta i klucze do tarbball i wysłać je do klienta. Załaduj wszystko do jednej tarczy, aby uprościć rzeczy na końcu klienta.

# tar cjf/etc/openvpn/clients/firstClient.smoła.xz -c/etc/openvpn/certs/klawisze ca.CRT FirstClient.CRT FirstClient.Klucz ta.klucz -c/etc/openvpn/klienci/klient.ovpn 

Teraz możesz przenieść tę tarbal do swojego klienta, jak wybierzesz.

Łączyć

Zakładając, że Twój klient jest dystrybucją debiana, proces połączenia jest bardzo prosty. Zainstaluj OpenVPN, tak jak na serwerze.

# apt Zainstaluj OpenVpn

Wyodrębnij swój tarbal do /etc/openvpn katalog, który stworzył instalacja.

# cd/etc/openvpn # tar xjf/ścieżka/do/firstClient.smoła.xz 

Może być konieczne zmianę nazwiska klient.ovpn Do OpenVpn.conf. Jeśli to zrobisz, otrzymasz błąd w uruchomieniu.

Uruchom i włącz OpenVPN z systemem.

# SystemCtl Start OpenVpn # Systemctl Włącz OpenVpn 

Wniosek

Masz działający serwer VPN i podłączony klient! Możesz zastosować tę samą procedurę szczegółową w tym przewodniku dla innych klientów. Utwórz oddzielne klucze dla każdego z nich. Możesz jednak użyć tego samego pliku konfiguracji.

Możesz również upewnić się, że wszystko działa poprawnie. Udaj się do testu szczelności DNS, aby upewnić się, że Twój adres IP załatuje serwer, a nie używasz DNS swoich IPS.

Powiązane samouczki Linux:

  • Podstawowy Ubuntu 22.04 Konfiguracja połączenia klienta/serwera OpenVPN
  • Jak skonfigurować serwer OpenVPN na Ubuntu 20.04
  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Pobierz Linux
  • Zainstaluj Arch Linux na stacji roboczej VMware
  • Najlepszy Linux Distro dla programistów
  • Polecenia Linux: Top 20 najważniejsze polecenia, które musisz…
  • Jak utworzyć VPN na Ubuntu 20.04 Za pomocą przewodu
  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa