VPS Üzerinde Kendi Sertifikalı OpenVPN Sunucusu Kurmak – Maliyet ve Kaynak Optimizasyonu

AltEdit

Yeni Üye
Katılım
Eyl 2026
Konular
1
Mesajlar
1
Tepki puanı
0
Görüntülenme
0

1. Ortam ve Ön Hazırlık​

  • 1 GB RAM ve 20 GB SSD (Ubuntu 22.04 LTS) yeterli olur; daha yüksek trafik için RAM 2 GB’ye çıkarılabilir.
  • sudo apt update && sudo apt upgrade -y
  • sudo apt install openvpn easy-rsa ufw -y

2. Sertifikalarla “EasyRSA” Kurulumu​

Bash:
make-cadir ~/openvpn-ca
cd ~/openvpn-ca
  • vars dosyasını açıp export EASYRSA_REQ_CN="YourVPN" gibi CN değerini ayarlayın.
  • ./easyrsa init-pki && ./easyrsa build-ca nopass
  • Sunucu sertifikası: ./easyrsa gen-req server nopass && ./easyrsa sign-req server server
  • Diffie‑Hellman: ./easyrsa gen-dh
  • TLS‑Auth anahtarı: openvpn --genkey --secret ta.key

Sık yapılan hata: build-ca nopass kullanmazsanız, CA parolası için giriş beklenir ve otomatik başlatma sırasında servis çökebilir.

3. OpenVPN Servis Dosyasının Oluşturulması​

/etc/openvpn/server.conf içine aşağıdakileri ekleyin:

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

Sık yapılan hata: push "redirect-gateway" satırını atlamak, istemcilerin internetine yönlenmeyi engeller.

4. IP Yönlendirme ve NAT Kurulumu​

Bash:
sudo sysctl -w net.ipv4.ip_forward=1
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
UFW ile NAT ekleyin:

Bash:
sudo ufw allow 1194/udp
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw route allow in on tun0 out on eth0

Sık yapılan hata: ufw route allow yerine sadece ufw allow 1194/udp eklemek, istemcilerin internetten çıkmasını engeller.

5. Servisi Başlatma ve Kontrol​

Bash:
sudo systemctl start openvpn@server
sudo systemctl enable openvpn@server
sudo systemctl status openvpn@server
Çıktıda Active: active (running) görülmeli.

6. İstemci Konfigürasyonu​

Örnek bir istemci client.ovpn dosyası:

Kod:
client
dev tun
proto udp
remote your.vps.ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
tls-auth ta.key 1
auth SHA256
cipher AES-256-GCM
verb 3

<ca>
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----
</key>

Sık yapılan hata: remote-cert-tls server satırı eksik olursa sertifika doğrulaması gerçekleşmez ve bağlantı reddedilir.

7. Kaynak ve Maliyet Kontrolü​

  • 1 GB RAM + 20 GB SSD ile tek VPN sunucu üzerinden 200 farklı istemciye kadar bağlantı sağlanabilir.
  • top veya htop ile CPU: ~1 % / RAM: < 50 MB (OpenVPN minimal).
  • SSL sertifikası tek seferde oluşturulur, yeniden üretme ihtiyacı yok; bu da ekstra harçlığı ortadan kaldırır.

Tartışma Sorusu: 1 GB RAM’li VPS’lerde, 200 kullanıcıya hizmet verirken sistem çökmeden kalıcı bağlantılar için --persist-tun dışında hangi yapılandırma değişikliğini önerirsiniz?
 
Geri
En Üst