Teknik Rehber

Ubuntu 24.04 WireGuard VPN Server Kurulumu (Web Panel ile)

Ubuntu 24.04 WireGuard VPN Server kurulumu, hızlı ve modern bir uzak erişim altyapısı kurmanın en pratik yollarından biridir. Bu rehberde WireGuard’ı Ubuntu 24.04 LTS üzerinde ayağa kaldırıyor; ardından wg-easy web panel ile istemci ekleme, QR kod ve yapılandırma yönetimini adım adım anlatıyoruz.

Ubuntu 24.04 WireGuard VPN Server ve web panel kurulumu
WireGuard + wg-easy: sunucu tarafında VPN, tarayıcıdan istemci yönetimi.

WireGuard Nedir?

WireGuard, Linux çekirdeğine entegre çalışan modern bir VPN protokolüdür. OpenVPN’e göre daha az satır kod, daha hızlı el sıkışma ve daha düşük gecikme sunar. Anahtar tabanlı kimlik doğrulama kullanır; yapılandırma dosyaları kısadır ve bakımı kolaydır.

  • UDP üzerinden çalışır (varsayılan port: 51820)
  • Mobil ve masaüstü istemcilerde resmi WireGuard uygulaması vardır
  • Ubuntu 24.04’te çekirdek desteği hazırdır
  • Site-to-site ve uzaktan çalışan erişimi için uygundur

Neden Ubuntu 24.04 LTS?

Ubuntu 24.04 LTS (Noble Numbat), uzun destek süresi, güncel çekirdek ve Docker uyumluluğu sayesinde WireGuard sunucuları için güvenli bir temeldir. VDS/VPS üzerinde production ortamına hızlı geçiş sağlar.

Sistem Gereksinimleri

Bileşen Minimum Önerilen
İşletim sistemi Ubuntu 22.04 LTS Ubuntu 24.04 LTS
CPU 1 vCPU 2 vCPU
RAM 1 GB 2 GB+
Disk 10 GB 20 GB SSD/NVMe
Ağ / Firewall UDP 51820 UDP 51820 + TCP 51821 (panel)

1. Sunucuyu Hazırlayın

SSH ile Ubuntu 24.04 sunucunuza bağlanın ve sistemi güncelleyin:

sudo apt update && sudo apt upgrade -y
sudo apt install -y curl ca-certificates gnupg lsb-release

IP yönlendirmeyi (forwarding) kalıcı açın — VPN trafiğinin geçmesi için zorunludur:

echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/99-wireguard.conf
sudo sysctl --system

2. Docker Kurulumu (Web Panel İçin)

wg-easy web paneli Docker konteyneri olarak çalışır. Ubuntu 24.04’te resmi Docker deposunu ekleyin:

curl -fsSL https://get.docker.com | sudo sh
sudo systemctl enable --now docker
sudo usermod -aG docker $USER
newgrp docker

Grup değişikliğinin geçerli olması için oturumu kapatıp açın veya newgrp docker çalıştırın. Doğrulama:

docker --version
docker compose version

3. WireGuard Web Panel (wg-easy) Kurulumu

wg-easy, WireGuard sunucusunu ve web arayüzünü tek konteynerde birleştirir. Panelden istemci oluşturur, QR kod gösterir, yapılandırmayı indirirsiniz — manuel wg0.conf düzenlemeye çoğu senaryoda gerek kalmaz.

3.1. Yönetici parolası için bcrypt hash üretin

wg-easy (v14+) düz metin PASSWORD yerine PASSWORD_HASH ister:

docker run --rm ghcr.io/wg-easy/wg-easy wgpw 'GUCLU_PANEL_SIFRESI'

Çıktı benzer olur: PASSWORD_HASH='$2a$12$....'. Bu hash’i bir sonraki adımda kullanacaksınız.

3.2. docker-compose.yml oluşturun

mkdir -p ~/wg-easy && cd ~/wg-easy
nano docker-compose.yml

Aşağıdaki içeriği yapıştırın. WG_HOST değerini sunucu genel IP veya domain ile değiştirin. Hash içindeki her $ karakterini YAML’de $$ olarak yazın (Compose interpolasyonunu engellemek için):

services:
  wg-easy:
    image: ghcr.io/wg-easy/wg-easy:latest
    container_name: wg-easy
    environment:
      - LANG=en
      - WG_HOST=SUNUCU_IP_VEYA_DOMAIN
      - PASSWORD_HASH=$$2a$$12$
      - WG_PORT=51820
      - PORT=51821
      - WG_DEFAULT_DNS=1.1.1.1,8.8.8.8
    volumes:
      - ./config:/etc/wireguard
      - /lib/modules:/lib/modules:ro
    ports:
      - "51820:51820/udp"
      - "51821:51821/tcp"
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    sysctls:
      - net.ipv4.ip_forward=1
      - net.ipv4.conf.all.src_valid_mark=1
    restart: unless-stopped

3.3. Konteyneri başlatın

cd ~/wg-easy
docker compose up -d
docker compose ps
docker compose logs -f --tail=50

Durum Up görünüyorsa WireGuard VPN sunucusu ve web panel ayağa kalkmıştır.

4. UFW Firewall Ayarları

SSH’i kapatmadan önce açık tutun; ardından WireGuard ve panel portlarını açın:

sudo ufw allow OpenSSH
sudo ufw allow 51820/udp comment 'WireGuard'
sudo ufw allow 51821/tcp comment 'wg-easy Web Panel'
sudo ufw enable
sudo ufw status verbose
Güvenlik önerisi: Web paneli (51821) yalnızca kendi IP’nize açın veya Nginx/Caddy ile HTTPS + Basic Auth / IP kısıtı ekleyin. Üretimde paneli internete açık bırakmak risklidir.

5. Web Panele Giriş ve İlk İstemci

  1. Tarayıcıda http://SUNUCU_IP:51821 adresini açın.
  2. Az önce belirlediğiniz panel şifresi ile giriş yapın (kullanıcı adı yoktur; yalnızca parola).
  3. New / + ile istemci oluşturun (ör. MacBook, iPhone, Ofis-PC).
  4. QR kodu telefon uygulamasıyla tarayın veya .conf dosyasını indirin.
  5. İstemci bağlandıktan sonra panelde trafik / durum bilgisini izleyin.
VPN güvenliği ve şifreli bağlantı
Her cihaz için ayrı peer (istemci) oluşturmak anahtar yönetimini kolaylaştırır.

6. İstemci Uygulamaları

Platform Kurulum
Windows / macOS wireguard.com → Tunnel Import → .conf
iOS / Android Resmi WireGuard uygulaması → QR tara
Linux sudo apt install wireguardwg-quick up ./client.conf

7. (İsteğe Bağlı) HTTPS ile Web Panel

Domain’iniz varsa Nginx reverse proxy + Let’s Encrypt ile paneli https://vpn.ornek.com altında sunabilirsiniz. Örnek site bloğu mantığı:

  • proxy_pass http://127.0.0.1:51821;
  • UFW’de 51821’i dışarıya kapatıp yalnızca 80/443 açın
  • Certbot ile SSL alın
sudo apt install -y nginx certbot python3-certbot-nginx
# Nginx site config → proxy_pass 127.0.0.1:51821
sudo certbot --nginx -d vpn.ornek.com

8. Güncelleme ve Yedekleme

cd ~/wg-easy
docker compose pull
docker compose up -d

Yapılandırma ve peer anahtarları ~/wg-easy/config altındadır. Bu klasörü düzenli yedekleyin.

Sık Karşılaşılan Sorunlar

  • Bağlantı yok: UDP 51820 sağlayıcı güvenlik grubunda ve UFW’de açık mı?
  • Panel açılmıyor: docker compose ps ve logs; TCP 51821 kontrolü
  • PASSWORD_HASH hatası: YAML’de $$$ kaçışı unutulmuş olabilir
  • İnternet yok (VPN açıkken): IP forwarding ve NAT; WG_HOST doğru genel IP/domain mi?
  • Handshake yok: İstemci saati (NTP) ve eski conf yeniden indirme

CLI ile Saf WireGuard (Kısa Not)

Web panel istemiyorsanız klasik yol:

sudo apt install -y wireguard wireguard-tools
wg genkey | tee privatekey | wg pubkey > publickey
# /etc/wireguard/wg0.conf oluşturup:
sudo systemctl enable --now wg-quick@wg0

Çok sayıda istemci yönetecekseniz wg-easy web panel operasyonu ciddi ölçüde kısaltır.

Sıkça Sorulan Sorular

WireGuard ücretsiz mi?

Evet. Protokol ve resmi istemciler ücretsizdir. Sunucu maliyeti VDS/VPS ücretinizdir.

wg-easy güvenli mi?

Kendiniz barındırdığınız açık kaynak bir arayüzdür. Güçlü panel şifresi, IP kısıtı veya HTTPS kullanın; paneli gereksiz yere herkese açık bırakmayın.

OpenVPN yerine WireGuard neden?

Daha az kaynak, daha hızlı bağlantı ve sade yapılandırma. Kurumsal ihtiyaçlarda (organizasyon, 2FA, SSO) Pritunl gibi çözümler de değerlendirilebilir.

Kaç istemci bağlanabilir?

Teorik sınır yüksek; pratikte CPU, bant genişliği ve sunucu lokasyonu belirler. Küçük ekipler için 1–2 vCPU VDS yeterlidir.

Sonuç

Ubuntu 24.04 üzerine WireGuard VPN Server kurulumu, Docker + wg-easy web panel ile kısa sürede tamamlanır: UDP 51820’de VPN, TCP 51821’de yönetim arayüzü, QR kod ile mobil bağlantı. IP forwarding, UFW ve panel erişimini sıkılaştırdıktan sonra production’a alabilirsiniz.

Türkiye lokasyonlu, NVMe diskli VDS ile düşük gecikmeli VPN sunucusu kurmak isterseniz Verimek VDS paketlerini inceleyebilirsiniz. İlgili rehber: Ubuntu Pritunl VPN kurulumu.

İlgili konular: Ubuntu İşletim Sistemleri · Linux Sunucular · Genel

Bu yazıyı değerlendirin

0.0 / 5 · 0 değerlendirme