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:
- Stwórz katalog, w którym będziesz przechowywać certyfikaty SSL:
sudo mkdir /etc/openvpn/ssl
- Przejdź do katalogu z narzędziami OpenVPN:
cd /usr/share/easy-rsa/
- Wykonaj polecenie init-pki, aby zainicjować Public Key Infrastructure:
sudo ./easyrsa init-pki
- Wykonaj polecenie build-ca, aby wygenerować certyfikat CA:
sudo ./easyrsa build-ca
- Wykonaj polecenie gen-req, aby wygenerować certyfikat serwera:
sudo ./easyrsa gen-req server nopass
- Wykonaj polecenie sign-req, aby podpisać certyfikat serwera:
sudo ./easyrsa sign-req server server
- Wykonaj polecenie gen-req, aby wygenerować certyfikat klienta:
sudo ./easyrsa gen-req client nopass
- Wykonaj polecenie sign-req, aby podpisać certyfikat klienta:
sudo ./easyrsa sign-req client client
- Skopiuj certyfikaty do katalogu /etc/openvpn/ssl:
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:
- Skopiuj przykładowy plik konfiguracyjny serwera do katalogu /etc/openvpn:
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
sudo gzip -d /etc/openvpn/server.conf.gz
- Edytuj plik konfiguracyjny serwera:
sudo nano /etc/openvpn/server.conf
- Znajdź następujące linie i odkomentuj je, aby włączyć przekazywanie pakietów:
# 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
- Znajdź następujące linie i zmień je, aby wskazywały na certyfikaty SSL:
ca /etc/openvpn/ssl/ca.crt
cert /etc/openvpn/ssl/server.crt
key /etc/openvpn/ssl/server.key
dh /etc/openvpn/dh.pem
- Znajdź następującą linię i zmień ją, aby wskazywała na adres IP lub nazwę domeny serwera:
;local a.b.c.d
- Znajdź następujące linie i odkomentuj je, aby włączyć tryb routingu sieciowego:
# 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"
- Znajdź następujące linie i odkomentuj je, aby włączyć tryb mostu sieciowego:
# 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
- Znajdź następującą linię i zmień ją, aby wskazywała na adres IP lub nazwę domeny DNS serwera:
# 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"
- Zapisz plik konfiguracyjny serwera i wyjdź z edytora nano.
- Wykonaj polecenie systemctl, aby uruchomić serwer OpenVPN:
sudo systemctl start openvpn@server
- Sprawdź, czy serwer OpenVPN działa poprawnie, wykonując polecenie status:
sudo systemctl status openvpn@server
Krok 4: Skonfiguruj klienta OpenVPN
Aby skonfigurować klienta OpenVPN, wykonaj następujące kroki:
- Skopiuj certyfikaty SSL z serwera do katalogu klienta:
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/
- Skopiuj przykładowy plik konfiguracyjny klienta do katalogu /etc/openvpn:
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/
- Edytuj plik konfiguracyjny klienta:
sudo nano /etc/openvpn/client.conf
- Znajdź następujące linie i zmień je, aby wskazywały na certyfikaty SSL:
ca /etc/openvpn/ssl/ca.crt
cert /etc/openvpn/ssl/client.crt
key /etc/openvpn/ssl/client.key
- Znajdź następującą linię i zmień ją, aby wskazywała na adres IP lub nazwę domeny serwera:
remote my-server-1 1194
- Zapisz plik konfiguracyjny klienta i wyjdź z edytora nano.
- Uruchom klienta OpenVPN, wykonując następujące polecenie:
sudo openvpn --config /etc/openvpn/client.conf
- Sprawdź, czy klient OpenVPN działa poprawnie, wykonując polecenie status:
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