Jak skonfigurować serwer OpenVPN na Ubuntu 20.04

Jak skonfigurować serwer OpenVPN na Ubuntu 20.04

Jak skonfigurować serwer OpenVPN na Ubuntu 20.04

Krok 1: Zainstaluj OpenVPN

Aby zainstalować OpenVPN na Ubuntu 20.04, otwórz terminal i wpisz następujące polecenie:

sudo apt-get update
sudo apt-get install openvpn

Krok 2: Skonfiguruj certyfikaty SSL

OpenVPN wymaga certyfikatów SSL do uwierzytelniania klientów i serwera. Aby wygenerować certyfikaty SSL, wykonaj następujące kroki:

  1. Stwórz katalog, w którym będziesz przechowywać certyfikaty SSL:
  2. sudo mkdir /etc/openvpn/ssl
  3. Przejdź do katalogu z narzędziami OpenVPN:
  4. cd /usr/share/easy-rsa/
  5. Wykonaj polecenie init-pki, aby zainicjować Public Key Infrastructure:
  6. sudo ./easyrsa init-pki
  7. Wykonaj polecenie build-ca, aby wygenerować certyfikat CA:
  8. sudo ./easyrsa build-ca
  9. Wykonaj polecenie gen-req, aby wygenerować certyfikat serwera:
  10. sudo ./easyrsa gen-req server nopass
  11. Wykonaj polecenie sign-req, aby podpisać certyfikat serwera:
  12. sudo ./easyrsa sign-req server server
  13. Wykonaj polecenie gen-req, aby wygenerować certyfikat klienta:
  14. sudo ./easyrsa gen-req client nopass
  15. Wykonaj polecenie sign-req, aby podpisać certyfikat klienta:
  16. sudo ./easyrsa sign-req client client
  17. Skopiuj certyfikaty do katalogu /etc/openvpn/ssl:
  18. sudo cp pki/ca.crt pki/private/server.key pki/issued/server.crt pki/private/client.key pki/issued/client.crt /etc/openvpn/ssl/

Krok 3: Skonfiguruj serwer OpenVPN

Aby skonfigurować serwer OpenVPN, wykonaj następujące kroki:

  1. Skopiuj przykładowy plik konfiguracyjny serwera do katalogu /etc/openvpn:
  2. sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
    sudo gzip -d /etc/openvpn/server.conf.gz
  3. Edytuj plik konfiguracyjny serwera:
  4. sudo nano /etc/openvpn/server.conf
  5. Znajdź następujące linie i odkomentuj je, aby włączyć przekazywanie pakietów:
  6. # Uncomment this directive to allow different
    # clients to be able to "see" each other.
    # By default, clients will only see the server.
    # To force clients to only see the server, you
    # will also need to appropriately firewall the
    # server's TUN/TAP interface.
    ;client-to-client
  7. Znajdź następujące linie i zmień je, aby wskazywały na certyfikaty SSL:
  8. ca /etc/openvpn/ssl/ca.crt
    cert /etc/openvpn/ssl/server.crt
    key /etc/openvpn/ssl/server.key
    dh /etc/openvpn/dh.pem
  9. Znajdź następującą linię i zmień ją, aby wskazywała na adres IP lub nazwę domeny serwera:
  10. ;local a.b.c.d
  11. Znajdź następujące linie i odkomentuj je, aby włączyć tryb routingu sieciowego:
  12. # Push routes to the client to allow it
    # to reach other private subnets behind
    # the server. Remember that these
    # private subnets will also need
    # to know to route the OpenVPN client
    # address pool (10.8.0.0/255.255.255.0)
    # back to the OpenVPN server.
    ;push "route 192.168.10.0 255.255.255.0"
    ;push "route 192.168.20.0 255.255.255.0"
  13. Znajdź następujące linie i odkomentuj je, aby włączyć tryb mostu sieciowego:
  14. # Uncomment this directive to allow different
    # clients to be able to "see" each other.
    # By default, clients will only see the server.
    # To force clients to only see the server, you
    # will also need to appropriately firewall the
    # server's TUN/TAP interface.
    ;client-to-client
  15. Znajdź następującą linię i zmień ją, aby wskazywała na adres IP lub nazwę domeny DNS serwera:
  16. # If enabled, this directive will configure
    # all clients to redirect their default
    # network gateway through the VPN, causing
    # all IP traffic such as web browsing and
    # and DNS lookups to go through the VPN
    # (The OpenVPN server machine may need to NAT
    # the TUN/TAP interface to the internet in
    # order for this to work properly).
    ;push "redirect-gateway def1 bypass-dhcp"
  17. Zapisz plik konfiguracyjny serwera i wyjdź z edytora nano.
  18. Wykonaj polecenie systemctl, aby uruchomić serwer OpenVPN:
  19. sudo systemctl start openvpn@server
  20. Sprawdź, czy serwer OpenVPN działa poprawnie, wykonując polecenie status:
  21. sudo systemctl status openvpn@server

Krok 4: Skonfiguruj klienta OpenVPN

Aby skonfigurować klienta OpenVPN, wykonaj następujące kroki:

  1. Skopiuj certyfikaty SSL z serwera do katalogu klienta:
  2. sudo mkdir /etc/openvpn/ssl
    sudo scp user@server:/etc/openvpn/ssl/ca.crt /etc/openvpn/ssl/
    sudo scp user@server:/etc/openvpn/ssl/client.crt /etc/openvpn/ssl/
    sudo scp user@server:/etc/openvpn/ssl/client.key /etc/openvpn/ssl/
  3. Skopiuj przykładowy plik konfiguracyjny klienta do katalogu /etc/openvpn:
  4. sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/
  5. Edytuj plik konfiguracyjny klienta:
  6. sudo nano /etc/openvpn/client.conf
  7. Znajdź następujące linie i zmień je, aby wskazywały na certyfikaty SSL:
  8. ca /etc/openvpn/ssl/ca.crt
    cert /etc/openvpn/ssl/client.crt
    key /etc/openvpn/ssl/client.key
  9. Znajdź następującą linię i zmień ją, aby wskazywała na adres IP lub nazwę domeny serwera:
  10. remote my-server-1 1194
  11. Zapisz plik konfiguracyjny klienta i wyjdź z edytora nano.
  12. Uruchom klienta OpenVPN, wykonując następujące polecenie:
  13. sudo openvpn --config /etc/openvpn/client.conf
  14. Sprawdź, czy klient OpenVPN działa poprawnie, wykonując polecenie status:
  15. sudo systemctl status openvpn@client

Gratulacje! Skonfigurowałeś serwer i klienta OpenVPN na Ubuntu 20.04.

Sprawdź naszą ofertę hostingową, która obejmuje szybkie serwery, niezawodność i najlepszą obsługę klienta

Tags: , , , ,