Konfiguracja serwera VPN w Linuksie – Przewodnik dla użytkowników z przykładami
Wprowadzenie
Wirtualna sieć prywatna (VPN) umożliwia bezpieczne łączenie się z prywatną siecią przez publiczny internet. Jest to przydatne do ochrony prywatności i bezpieczeństwa danych podczas korzystania z publicznych sieci Wi-Fi, uzyskiwania dostępu do zasobów sieciowych zdalnie oraz obchodzenia ograniczeń geograficznych.
W tym poradniku przedstawimy podstawowe kroki konfiguracji serwera VPN w systemie Linux przy użyciu OpenVPN, popularnego rozwiązania open-source. Skupimy się na konfiguracji serwera i klienta VPN, przedstawiając przykłady konfiguracji dla lepszego zrozumienia.
Wymagania
- System Linux z dostępem root
- Konto administratora na komputerze klienckim
- Dostęp do publicznego adresu IP lub nazwy domeny
Konfiguracja serwera VPN
-
Instalacja OpenVPN:
Zainstaluj pakiet OpenVPN na swoim serwerze Linux. Komenda może się różnić w zależności od dystrybucji Linuksa. Przykładowo, w Debianie/Ubuntu:
Bashsudo apt install openvpn-server openvpn-clients
Przygotowanie plików konfiguracyjnych:
Przejdź do katalogu
/etc/openvpn/server
i stwórz następujące pliki konfiguracyjne:ca.crt
: Zawiera certyfikat CA (Certificate Authority)server.crt
: Zawiera certyfikat serwera VPNserver.key
: Zawiera klucz prywatny serwera VPNta.key
: Zawiera klucz prywatny tokena uwierzytelniającego (opcjonalnie)dh.pem
: Zawiera parametry Diffie-Hellmanserver.conf
: Plik głównej konfiguracji serwera VPN
-
Generowanie certyfikatów i kluczy:
Użyj narzędzi OpenVPN do wygenerowania certyfikatów i kluczy dla serwera VPN i CA. Szczegółowe instrukcje można znaleźć w dokumentacji OpenVPN.
-
Konfiguracja pliku
server.conf
:Otwórz plik
server.conf
i dostosuj go do swoich potrzeb. Poniżej przykładowa konfiguracja:# Definicja protokołu proto udp # Definicja interfejsu sieciowego dev tun # Definicja zakresu adresów IP dla klientów VPN ifconfig-pool 10.8.0.0 10.8.255.255 # Definicja certyfikatów i kluczy ca /etc/openvpn/server/ca.crt cert /etc/openvpn/server/server.crt key /etc/openvpn/server/server.key dh /etc/openvpn/server/dh.pem # Definicja pliku konfiguracyjnego dla klientów push "client-config-file /etc/openvpn/server/client.conf" # Definicja mechanizmów uwierzytelniania auth-user-pass-verify /etc/openvpn/server/users.auth username-restrictions none client-connect-no-dns # Definicja protokołów szyfrowania cipher AES-256-CBC compress lzo tls-auth ta.key 0 management-query-size 1280 management-port 8888
-
Utworzenie pliku
users.auth
:Plik
users.auth
zawiera listę użytkowników VPN i ich hasła. Użyj edytora tekstu, aby utworzyć ten plik i dodać użytkowników w formacie:username password
-
Bash
sudo systemctl start openvpn-server@server.service