OpenVPN-i paigaldamine serverisse: seadistus nullist 2026

05 May 2026 Autor: Inga Vītola

Käivita serveris ühe käsuga (kontrolli enne skripti sisu allpool):

curl -sSL https://cp.lv/scripts/openvpn-na-servere.sh | sudo bash

…või wgetiga:

wget -qO- https://cp.lv/scripts/openvpn-na-servere.sh | sudo bash

Skripti sisu openvpn-na-servere.sh:

#!/usr/bin/env bash
# Manual OpenVPN setup: CA, certificates, server config (Ubuntu/Debian)
set -euo pipefail

RSA_DIR=/etc/openvpn/easy-rsa
WAN_IF=$(ip route list default | awk '{print $5; exit}')
export EASYRSA_BATCH=1

# 1. Install the packages
sudo apt update && sudo apt install -y openvpn easy-rsa

# 2. Certificate authority and keys (non-interactive)
sudo make-cadir "$RSA_DIR"
cd "$RSA_DIR"
sudo -E ./easyrsa init-pki
sudo -E ./easyrsa build-ca nopass
sudo -E ./easyrsa gen-req server nopass
sudo -E ./easyrsa sign-req server server
sudo -E ./easyrsa gen-dh
sudo openvpn --genkey secret /etc/openvpn/ta.key
sudo cp pki/ca.crt pki/dh.pem pki/issued/server.crt pki/private/server.key /etc/openvpn/

# 3. Server config (quoted 'EOF' writes the directives verbatim)
sudo tee /etc/openvpn/server.conf > /dev/null << 'EOF'
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
tls-auth ta.key 0
server 10.9.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 1.1.1.1"
keepalive 10 120
cipher AES-256-GCM
user nobody
group nogroup
persist-key
persist-tun
verb 3
EOF

# 4. Forwarding, NAT and firewall
echo "net.ipv4.ip_forward = 1" | sudo tee /etc/sysctl.d/99-openvpn.conf
sudo sysctl -p /etc/sysctl.d/99-openvpn.conf
sudo iptables -t nat -A POSTROUTING -s 10.9.0.0/24 -o "$WAN_IF" -j MASQUERADE
sudo ufw allow 1194/udp || true

# 5. Start
sudo systemctl enable --now openvpn@server
echo "Done: OpenVPN listens on 1194/udp. Create a client with easyrsa gen-req."

Kõige kiiremini saab OpenVPN-i püsti valmisskriptiga: see paigaldab paketid, loob sertifitseerimiskeskuse, genereerib serveri konfiguratsiooni ja esimese kliendi .ovpn-profiili. Allpool on nii automaatne viis kui ka käsitsi seadistus easy-rsa abil, et mõista, mis kapoti all toimub.

Millal valida OpenVPN

OpenVPN on ajaproovile vastu pidanud, töötab nii TCP kui UDP peal ja läbib hõlpsasti karmid tulemüürid (port 443/TCP maskeerub HTTPS-iks). Kui vaja on maksimaalset ühilduvust ja blokeeringutest möödapääsu, on see kindel valik. Kiiruse ja lihtsuse pärast valitakse sagedamini WireGuard.

Nõuded: VPS 1 vCPU ja 512 MB RAM-iga, Ubuntu/Debian, root-ligipääs, avalik IPv4.

Kiire viis: skript

Populaarne ja läbiproovitud skript seab kõik üles interaktiivses režiimis:

apt update && apt install -y curl
curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh
chmod +x openvpn-install.sh
./openvpn-install.sh

Skript küsib IP-d, protokolli (soovituslik on UDP), porti (vaikimisi 1194) ja DNS-i. Lõpuks ilmub kodukausta fail <nimi>.ovpn — see on valmis kliendiprofiil.

Uue kliendi lisamiseks hiljem käivitage skript uuesti — see pakub menüü.

Käsitsi seadistamine

1. samm. Pakettide paigaldamine

apt update
apt install -y openvpn easy-rsa

2. samm. Sertifitseerimiskeskus

make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
./easyrsa init-pki
./easyrsa build-ca nopass

3. samm. Serveri sertifikaat ja võtmed

./easyrsa gen-req server nopass
./easyrsa sign-req server server
./easyrsa gen-dh
openvpn --genkey secret /etc/openvpn/ta.key

Kopeerige vajalikud failid:

cp pki/ca.crt pki/dh.pem pki/issued/server.crt pki/private/server.key /etc/openvpn/

4. samm. Serveri konfiguratsioon

Avage /etc/openvpn/server.conf redaktoris (sudo nano /etc/openvpn/server.conf) ja lisage sisu:

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
tls-auth ta.key 0
server 10.9.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 1.1.1.1"
keepalive 10 120
cipher AES-256-GCM
user nobody
group nogroup
persist-key
persist-tun
verb 3

Või looge konfiguratsioon tervikuna ühe käsuga — kopeerige ja kleepige konsooli (jutumärgid 'EOF' kirjutavad direktiivid sõna-sõnalt):

sudo tee /etc/openvpn/server.conf > /dev/null << 'EOF'
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
tls-auth ta.key 0
server 10.9.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 1.1.1.1"
keepalive 10 120
cipher AES-256-GCM
user nobody
group nogroup
persist-key
persist-tun
verb 3
EOF

5. samm. Edastus ja tulemüür

echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/99-openvpn.conf
sysctl -p /etc/sysctl.d/99-openvpn.conf
iptables -t nat -A POSTROUTING -s 10.9.0.0/24 -o eth0 -j MASQUERADE
ufw allow 1194/udp

Asendage eth0 oma välise liidesega (ip route list default).

6. samm. Käivitamine

systemctl enable --now openvpn@server
systemctl status openvpn@server

Kliendiprofiili genereerimine

Looge kliendi võti:

cd /etc/openvpn/easy-rsa
./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1

Pange .ovpn kokku, põimides sertifikaadid siltide <ca>, <cert>, <key>, <tls-auth> vahele, ja määrake:

client
dev tun
proto udp
remote <teie_VPS_IP> 1194
cipher AES-256-GCM
key-direction 1

Saatke fail seadmesse ja importige see OpenVPN Connecti klienti.

Võrdlus WireGuardiga

Parameeter OpenVPN WireGuard
Kiirus Keskmine Kõrge
Blokeeringutest möödapääs Suurepärane (TCP/443) Keskmine
Konfiguratsiooni lihtsus Keerulisem Lihtsam
Protokoll TCP/UDP UDP

Kliendi ligipääsu tühistamine

Kui kliendi võti on kompromiteeritud, tühistage sertifikaat ja uuendage tühistusnimekirja (CRL):

cd /etc/openvpn/easy-rsa
./easyrsa revoke client1
./easyrsa gen-crl
cp pki/crl.pem /etc/openvpn/

Lisage faili server.conf rida ja taaskäivitage teenus:

crl-verify crl.pem
systemctl restart openvpn@server

Nüüd ei saa tühistatud profiil enam ühenduda, ülejäänud kliendid töötavad edasi.

Turvalisuse tugevdamine

Mõned praktikad, mis tasub kohe kasutusele võtta:

  • piirake võtmete õigusi: chmod 600 /etc/openvpn/server.key /etc/openvpn/ta.key;
  • käivitage deemon privileegideta kasutaja alt (user nobody, group nogroup — juba konfiguratsioonis);
  • kasutage ainult kaasaegset šifrit AES-256-GCM ja parameetrit tls-auth, mis kaitseb skaneerimise eest;
  • sulgege tulemüüriga kõik peale VPN-i ja SSH pordi.

Kontroll ja diagnostika

Veenduge, et teenus kuulab õiget porti:

ss -tulpn | grep 1194

Ühenduste ja vigade logid:

journalctl -u openvpn@server -f

Kontrollige, et liides tun0 on loodud:

ip a show tun0

Kui klient ühendub, aga internetti ei pääse, on põhjus peaaegu alati puuduv IP-edastus või vale liides MASQUERADE-reeglis.

Korduma kippuvad küsimused

UDP või TCP? UDP on kiirem ja soovituslik vaikevalik. TCP porti 443 kasutage siis, kui operaator blokeerib VPN-i.

Kuidas tühistada kliendi ligipääs? ./easyrsa revoke client1, seejärel ./easyrsa gen-crl ja teenuse taaskäivitus.

Miks pärast ühendumist internetti pole? Kontrollige IP-edastust ja MASQUERADE-reeglit õige liidesega.

Kas porti saab muuta 443-ks? Jah, muutke konfiguratsioonis port ja proto tcp ning avage port tulemüüris — nii on VPN-i raskem blokeerida.

Skript või käsitsi seadistus? Skript on kiire ja turvaline tüüpülesannete jaoks. Käsitsi seadistus annab peene kontrolli.


Vajate serverit VPN-i jaoks? Vaadake VPS turvalisuse ja VPN-i jaoks ja VPS-i renti. Seadistame teie eest — Serverite haldus.

Inga Vītola