Teknoloji ipuçlarını kendin uygula
İçerik
Son yazılar
Biz kimiz
Ağ, bulut ve sistem yönetimi konularında pratik rehberler. Adım adım açıklamalar ve gerçek sorunlara çözümler sunuyoruz.

WireGuard ile Kendi VPN'inizi Oluşturmak

Kendi VPN'imi kurma fikri, bir kafede halka açık WiFi'ye bağlanıp internet bankacılığına girmek zorunda kaldığım gün aklıma düştü. O zamana kadar hazır VPN servislerini kullanıyordum; ama trafiğimin kimin sunucusundan geçtiğini bilmemek beni rahatsız ediyordu. Birkaç akşamımı verip WireGuard VPN kurulumu yaptım ve o günden beri telefonumdan, dizüstümden hep kendi sunucuma bağlanıyorum. Aşağıda adım adım kendi deneyimimi aktarıyorum; kopyala-yapıştır bir rehber değil, gerçekten neyin neden yapıldığını anlatan bir yol haritası.

Neden WireGuard?

Daha önce OpenVPN denemiştim. Çalışıyordu ama yapılandırma dosyaları uzun, kurulum hantal, mobilde pil tüketimi belirgindi. WireGuard'ın kod tabanı çok daha küçük, çekirdek seviyesinde çalışıyor ve el sıkışması neredeyse anlık. Telefonumu uçak modundan çıkardığımda bağlantı kendiliğinden geri geliyor; bu tek başına beni ikna etti. VPN'in ne işe yaradığından emin değilseniz, temelleri anlatan yazıyı okuyup buraya dönmenizi öneririm.

İhtiyacınız olanlar

Adım adım kurulum

  1. Sunucuyu hazırlayın

    SSH ile bağlandıktan sonra paket listesini güncelledim ve wireguard paketini kurdum. Debian/Ubuntu tarafında apt install wireguard yeterli. Kurulum bittiğinde wg ve wg-quick komutları kullanılabilir hâle geliyor.

  2. Anahtar çiftlerini üretin

    WireGuard kullanıcı adı/şifre bilmez, tamamen açık-gizli anahtar çiftleriyle çalışır. Sunucuda /etc/wireguard dizinine geçip umask 077 verdikten sonra wg genkey ile gizli anahtar, onu wg pubkey'e yönlendirerek açık anahtar üretiyorum. Aynı işlemi her istemci için tekrar ediyorum. Gizli anahtar dosyalarının yalnızca root tarafından okunabilir olması şart; dosya izinleri konusunda kafanız karışıksa Linux izinleri yazısı işinizi kolaylaştırır.

  3. Sunucu yapılandırmasını yazın

    /etc/wireguard/wg0.conf dosyasında Interface bölümüne sunucunun gizli anahtarını, VPN içi adresini (ben 10.8.0.1/24 kullandım) ve ListenPort değerini (varsayılan 51820, UDP) yazıyorum. Ardından her istemci için bir Peer bloğu ekliyorum: istemcinin açık anahtarı ve AllowedIPs olarak o istemciye ayırdığım tek adres, örneğin 10.8.0.2/32.

  4. Yönlendirme ve NAT'ı açın

    İnternet trafiğinin sunucudan çıkabilmesi için IP yönlendirmeyi etkinleştirmek gerekiyor: /etc/sysctl.conf içinde net.ipv4.ip_forward değerini 1 yapıp sysctl -p çalıştırıyorum. Sonra wg0.conf'un Interface bölümüne PostUp ve PostDown satırları ekleyip iptables ile MASQUERADE kuralını tanımlıyorum. Buradaki en kritik nokta, çıkış arayüzünün adını doğru yazmak: benim sunucuda eth0 değil ens3 çıktı.

  5. Güvenlik duvarını ve servisi ayarlayın

    Sağlayıcının panelindeki güvenlik grubundan 51820 UDP portunu açtım. Sunucu üzerinde ufw kullanıyorsanız aynı izni orada da vermelisiniz. Ardından systemctl enable --now wg-quick@wg0 ile servisi başlattım. wg show komutu arayüzü listeliyorsa sunucu tarafı hazır.

  6. İstemci tarafını yapılandırın

    İstemci dosyasında Interface bölümüne istemcinin gizli anahtarı, Address olarak 10.8.0.2/24 ve DNS satırı giriyorum. Peer bölümüne sunucunun açık anahtarı, Endpoint olarak sunucu IP'si ve port, AllowedIPs olarak da tüm trafiği tünele almak istiyorsam 0.0.0.0/0 yazıyorum. Sadece sunucudaki servislere erişmek istiyorsam burada 10.8.0.0/24 yazmak yeterli. NAT arkasındaysanız PersistentKeepalive değerini 25 yapmak bağlantının kopmasını önlüyor.

  7. Telefon için QR kodu üretin

    Mobilde dosya taşımakla uğraşmamak adına sunucuda qrencode kurup istemci dosyasını QR koda çeviriyorum. WireGuard uygulaması kodu okutunca profil saniyeler içinde ekleniyor. Bu numarayı öğrendiğimde kurulum süresi yarıya indi diyebilirim.

  8. Doğrulama yapın

    Bağlandıktan sonra tarayıcıdan genel IP'mi kontrol ediyorum; sunucumun IP'si görünüyorsa tünel çalışıyor. Ayrıca DNS sızıntısı testini de yapıyorum, çünkü VPN kurulu olsa bile DNS istekleri yerel sağlayıcıya gidiyorsa gizlilik yarım kalıyor.

Sık yapılan hatalar

HataBelirtiÇözüm
Aynı AllowedIPs değerini iki istemciye vermekBir cihaz bağlanınca diğeri kopuyorHer istemciye ayrı /32 adres tanımlayın
Portu güvenlik grubundan açmamakEl sıkışması hiç başlamıyor, hand
© 2026 Ağ ve Bulut