Jak skonfigurować serwer OpenVPN w systemie CentOS 7

Jak skonfigurować serwer OpenVPN w systemie CentOS 7

Wprowadzenie

OpenVPN to rozwiązanie o otwartym kodzie źródłowym, które implementuje protokół sieci prywatnej wirtualnej (VPN). Zapewnia bezpieczne i prywatne połączenie między dwoma urządzeniami lub sieciami, umożliwiając użytkownikom zdalny dostęp do prywatnych zasobów sieci.

W tym samouczku przeprowadzimy Cię przez proces konfiguracji serwera OpenVPN na maszynie CentOS 7. Omówimy następujące kroki:

* Instalowanie pakietów OpenVPN
* Konfigurowanie serwera OpenVPN
* Tworzenie certyfikatów i kluczy
* Tworzenie pliku konfiguracyjnego klienta
* Uruchamianie i testowanie serwera OpenVPN

Wymagania

* Serwer CentOS 7 z uprawnieniami roota
* Adres IP przypisany do serwera
* Znajomość obsługi wiersza poleceń

Konfiguracja

1. Zainstaluj pakiety OpenVPN

Zainstaluj niezbędne pakiety OpenVPN za pomocą polecenia yum:


sudo yum install epel-release
sudo yum install openvpn easy-rsa

2. Skonfiguruj serwer OpenVPN

Utwórz plik konfiguracyjny serwera OpenVPN o nazwie /etc/openvpn/server.conf za pomocą ulubionego edytora tekstu:


sudo nano /etc/openvpn/server.conf

Skopiuj i wklej następującą konfigurację:


port 1194
proto udp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3

Zmodyfikuj wartości powyższej konfiguracji w razie potrzeby, na przykład:

* port: numer portu, na którym serwer będzie nasłuchiwał połączeń (zwykle 1194)
* dev: rodzaj urządzenia wirtualnego, które zostanie utworzone (zwykle tun)
* ca: ścieżka do pliku certyfikatu urzędu certyfikacji (CA)
* cert: ścieżka do pliku certyfikatu serwera
* key: ścieżka do pliku klucza prywatnego serwera
* dh: ścieżka do pliku klucza wymiany klucza Diffie-Hellmana
* server: adres IP i maska podsieci sieci wirtualnej
* push „redirect-gateway def1 bypass-dhcp”: przekierowuje cały ruch przez tunel VPN
* push „dhcp-option DNS 8.8.8.8”: ustawia serwer DNS dla klientów
* cipher: szyfr używany do szyfrowania danych

3. Utwórz certyfikaty i klucze

Użyj narzędzia easy-rsa do utworzenia certyfikatów i kluczy dla serwera i klientów:


sudo cd /usr/share/easy-rsa/3
sudo ./easyrsa init-pki
sudo ./easyrsa build-ca nopass
sudo ./easyrsa gen-req server nopass
sudo ./easyrsa sign-req server server
sudo ./easyrsa gen-dh

4. Utwórz plik konfiguracyjny klienta

Utwórz plik konfiguracyjny klienta OpenVPN o nazwie /etc/openvpn/client.conf:


sudo nano /etc/openvpn/client.conf

Skopiuj i wklej następującą konfigurację:


client
dev tun
proto udp
remote <adres_ip_serwera> 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/client.crt
key /etc/openvpn/client.key
cipher AES-256-CBC
user nobody
group nogroup
verb 3

Zmodyfikuj wartości powyższej konfiguracji w razie potrzeby, na przykład:

* remote 1194: adres IP serwera i numer portu
* ca: ścieżka do pliku certyfikatu urzędu certyfikacji (CA)
* cert: ścieżka do pliku certyfikatu klienta
* key: ścieżka do pliku klucza prywatnego klienta

5. Uruchamianie i testowanie serwera OpenVPN

Uruchom serwer OpenVPN za pomocą polecenia:


sudo systemctl start openvpn@server

Aby przetestować połączenie, połącz się z serwerem za pomocą klienta OpenVPN na innym komputerze:


sudo openvpn --config /etc/openvpn/client.conf

Po nawiązaniu połączenia powinieneś mieć dostęp do zasobów prywatnej sieci.

Konkluzja

W tym samouczku przeprowadziliśmy Cię przez proces konfiguracji serwera OpenVPN w systemie CentOS 7. Skonfigurowaliśmy serwer, utworzyliśmy certyfikaty i klucze oraz skonfigurowaliśmy plik klienta. Teraz możesz bezpiecznie łączyć się ze swoją prywatną siecią zdalnie za pośrednictwem VPN. Pamiętaj o regularnym aktualizowaniu serwera OpenVPN i certyfikatów, aby zapewnić bezpieczeństwo i prywatność.

Najczęściej zadawane pytania

1. Co to jest OpenVPN?

OpenVPN to rozwiązanie o otwartym kodzie źródłowym, które implementuje protokół sieci prywatnej wirtualnej (VPN), umożliwiając użytkownikom bezpieczny i prywatny dostęp do sieci zdalnych.

2. Dlaczego miałbym używać OpenVPN?

OpenVPN zapewnia bezpieczne i szyfrowane połączenie, które chroni dane użytkowników przed podsłuchem i atakami typu „man-in-the-middle”.

3. Jakie są wymagania dotyczące konfiguracji serwera OpenVPN?

Potrzebujesz serwera z systemem CentOS 7, adresu IP przypisanego do serwera i znajomości obsługi wiersza poleceń.

4. Jak utworzyć pliki konfiguracyjne dla serwera i klienta?

Możesz utworzyć pliki konfiguracyjne serwera i klienta za pomocą poleceń opisanych w sekcji Konfiguracja tego artykułu.

5. Jak uruchomić i przetestować serwer OpenVPN?

Aby uruchomić serwer OpenVPN, użyj polecenia systemctl start openvpn@server. Aby przetestować połączenie, połącz się z serwerem za pomocą klienta OpenVPN na innym komputerze, używając pliku konfiguracyjnego klienta.

6. Jak zaktualizować certyfikaty OpenVPN?

Zaleca się regularne aktualizowanie certyfikatów OpenVPN, aby zapewnić bezpieczeństwo i prywatność. Można to zrobić za pomocą narzędzia easy-rsa.

7. Jak rozwiązać problemy z połączeniem OpenVPN?

Najczęstsze problemy z połączeniem OpenVPN obejmują nieprawidłową konfigurację, problemy z firewallem i problemy z certyfikatami. Zapoznaj się z dokumentacją OpenVPN i poszukaj rozwiązań w Internecie.

8. Gdzie mogę uzyskać więcej informacji o OpenVPN?

Więcej informacji na temat OpenVPN można znaleźć na oficjalnej stronie projektu OpenVPN: https://openvpn.net/.