Uygulamalı rehber
Ubuntu’da Betikle WireGuard VPN Sunucusu Nasıl Kurulur?
Yeni bir Ubuntu sunucusundan kişisel VPN bağlantısına: sunucuyu kurun, cihaz profillerini oluşturun ve internet trafiğinizin tünelden geçtiğini kontrol edin.
Sunucu kurulumu, Linux konteyner bağlantısı ve Windows hız testi yapıldı. macOS, Ubuntu Desktop, iPhone ve Android üzerinde doğrudan cihaz testleri henüz tamamlanmadı.
1. Sunucuyu seçin ve erişimi hazırlayın
Bu rehber Ubuntu 26.04 LTS VPS üzerinde sıfırdan kurulum içindir. Genel IPv4 adresi ve root parolası veya SSH anahtarı gerekir. İhtiyacınıza uygun sağlayıcıyı ve bölgeyi seçin.
Vultr Shared CPU VPS kullanıyoruz: 1 vCPU, 1 GB RAM, 25 GB SSD ve aylık 1 TB trafik.
IPv6 desteklemeyen ağlardan da bağlanabilmek için IPv4 adresli sunucu seçin. Yalnızca IPv6 sunucuların IPv4 sitelerine erişimi ek ayarlar gerektirir ve bu rehberin kapsamı dışındadır.
2. SSH ile giriş yapabildiğinizi kontrol edin
Windows: Başlat’ta PowerShell arayıp açın. Mac: Command+Space tuşlarına basın, Terminal yazıp Enter’a basın. Ubuntu Desktop: Ctrl+Alt+T.
Tüm komutlarda SERVER_IP yerine sunucu panelindeki genel IPv4 adresini yazın. ssh root@SERVER_IP, sunucuya root olarak bağlanır.
Parolalı komutu veya mevcut SSH anahtarınız varsa anahtarlı komutu seçin. Örnek anahtar yolunu kendi yolunuzla değiştirin.
İlk bağlantıda SSH sunucuya güvenip güvenmediğinizi sorabilir. Adresin oluşturduğunuz VPS’ye ait olduğunu kontrol edin, yes yazıp Enter’a basın. İstendiğinde root parolasını girin; yazarken ekranda karakter görünmez.
Bağlandıktan sonra Ubuntu’yu kontrol etmek için aşağıdaki sunucu komutunu çalıştırın; exit ile kendi bilgisayarınıza dönün.
ssh root@SERVER_IPssh -i ~/.ssh/id_ed25519 root@SERVER_IPcat /etc/os-release
exitssh komutu bulunamazsa
Windows’ta PowerShell’i Yönetici olarak çalıştır seçeneğiyle açıp aşağıdaki komutu çalıştırın. Kurulumdan sonra kapatıp normal PowerShell açın. Ubuntu’da Ubuntu komutunu kullanın. macOS’ta SSH istemcisi bulunur.
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0Komutu aynen kopyalayın. OpenSSH.Client~~~~0.0.1.0, Windows bileşeninin kimliğidir; tildeleri ve sayıları değiştirmeyin.
sudo apt update
sudo apt install openssh-client3. Kurulum paketini indirin ve inceleyin
ZIP dosyasını indirip açın. Beş betiği wireguard-guide klasöründe birlikte tutun. Aşağıdaki Windows, Mac veya Ubuntu yollarından birini izleyin.
Betik VPS’ye WireGuard kurar ve cihazınız için bağlantı profili oluşturur. Kurulum sırasında sunucu parolası birkaç kez istenebilir.
4a. Windows’tan sunucuyu kurun
Çıkardığınız wireguard-guide klasörünü Dosya Gezgini’nde açın. Adres çubuğuna powershell yazıp Enter’a basın; PowerShell doğru klasörde açılır.
İki komuttan birini çalıştırın. SERVER_IP yerine VPS adresini, anahtar kullanıyorsanız anahtar yolunu da değiştirin.
-Device sonrasındaki windows, cihaz profilinin adıdır. İkinci bilgisayara laptop gibi başka bir ad verin. Ayrı profiller, bir cihazın erişimini diğerlerini kesmeden iptal etmenizi sağlar.
Kurulum bitince Dosya Gezgini’nin adres çubuğuna %USERPROFILE%\WireGuard yazın. Sunucu ve cihaz adıyla oluşturulan klasörde windows.conf dosyasını bulun. Betik tam yolu da gösterir. VPN’yi 5. adımda etkinleştireceksiniz.
.\Connect-WireGuardServer.ps1 -Server SERVER_IP -Device windows.\Connect-WireGuardServer.ps1 -Server SERVER_IP -Device windows -IdentityFile "$HOME\.ssh\id_ed25519"PowerShell betiği engellerse
Hata indirilen dosyanın dijital imzalı olmadığını söylüyorsa aynı klasörde bu komutu çalıştırıp kurulumu tekrar deneyin.
Unblock-File -LiteralPath .\Connect-WireGuardServer.ps1Betik çalıştırmanın devre dışı olduğu belirtiliyorsa bu komutları çalıştırın, soruyu onaylayın ve tekrar deneyin. Değişiklik PowerShell penceresi kapanınca sona erer.
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
Unblock-File -LiteralPath .\Connect-WireGuardServer.ps1İlke hatası devam ederse durun ve hata mesajını sorun giderme için saklayın.
4b. Mac’ten sunucuyu kurun
Terminal’i açın. cd ve bir boşluk yazın, çıkarılmış wireguard-guide klasörünü Finder’dan Terminal’e sürükleyip Enter’a basın.
Başındaki bash dahil bir komutu çalıştırın. SERVER_IP ve varsa anahtar yolunu değiştirin. mac profil adıdır; başka Mac için macbook gibi farklı bir ad kullanın.
Bitince Finder’da Command+Shift+H ile ana klasörünüzü açın. WireGuard içindeki sunucu-cihaz klasöründe mac.conf bulunur. Betik tam yolu da gösterir.
bash ./connect-wireguard-server.sh SERVER_IP macbash ./connect-wireguard-server.sh SERVER_IP mac 22 ~/.ssh/id_ed255194c. Ubuntu Desktop’tan sunucuyu kurun
Ctrl+Alt+T ile Terminal’i açın. cd ve boşluk yazın, wireguard-guide klasörünü pencereye sürükleyip Enter’a basın.
SERVER_IP adresini değiştirip komutlardan birini çalıştırın. ubuntu cihaz profilinin adıdır. Bu başlatıcı ve SSH girişi için sudo gerekmez.
Bitince dosya yöneticisinde ana klasörünüzü, WireGuard’ı ve sunucu-cihaz klasörünü açın. ubuntu.conf, gerçek sunucu adresinizle ~/WireGuard/SERVER_IP-ubuntu/ubuntu.conf yolundadır. Bağlantı için NetworkManager kullanacağız.
bash ./connect-wireguard-server.sh SERVER_IP ubuntubash ./connect-wireguard-server.sh SERVER_IP ubuntu 22 ~/.ssh/id_ed255195a. Windows veya macOS’u bağlayın
Sisteminiz için resmi WireGuard uygulamasını kurun. Oluşturulan .conf dosyasını içe aktarın, VPN iznini onaylayıp tüneli etkinleştirin. İçe aktarma seçeneğinin adı sürüme göre değişebilir.
Profil IPv4 trafiğini tünele gönderir; IPv6’nın dışarıdan gitmesini önlemek için IPv6 varsayılan rotası da içerir. Sunucu IPv6 internet erişimi sağlamaz. Cihazınızın davranışını aşağıdaki kontrollerle doğrulayın.
Profil özel anahtar içerir. Kopyasına sahip biri cihazın VPN kimliğini kullanmayı deneyebilir. Profili destek taleplerine veya çevrimiçi QR araçlarına yüklemeyin, cihazlar arasında paylaşmayın.
5b. Ubuntu Desktop’ı NetworkManager ile bağlayın
NetworkManager, grafik arayüz sürümüne bağlı kalmadan profili içe aktarır, DNS ve rotaları yönetir. Komutları VPS’nin SSH oturumunda değil masaüstünüzde çalıştırın. Önce nmcli’nin ve NetworkManager hizmetinin çalıştığını kontrol edin.
ubuntu.conf dosyası ubuntu adlı bağlantı oluşturur. Bu ad varsa başka cihaz adı seçip komutları uyarlayın. Yalnızca bir kez içe aktarın; sonra up ve down kullanın. Aşağıdaki ayar bilgisayar açılırken otomatik VPN bağlantısını kapatır.
Bu DNS ayarları, bağlantı açıkken tüm adlar için VPN’yi öncelikli yapar. Tarayıcının güvenli DNS’i farklı davranabilir. 7. adımdaki IP, DNS ve IPv6 kontrollerini yapın. Bu yöntem gerçek Ubuntu Desktop üzerinde henüz test edilmedi; konteyner testi masaüstü DNS ve IPv6 davranışını doğrulamaz.
Aynı profili ayrıca wg-quick ile açmayın; iki yöneticinin rotaları çakışabilir. Grafik arayüz farklı gösterse bile nmcli ile bağlantıyı kontrol edip kapatabilirsiniz.
nmcli --version
systemctl is-active NetworkManagersudo nmcli connection import type wireguard file "$HOME/WireGuard/SERVER_IP-ubuntu/ubuntu.conf"
sudo nmcli connection modify ubuntu connection.autoconnect no ipv4.dns-priority -50 ipv4.dns-search "~."sudo nmcli connection up ubuntu
nmcli connection show --activesudo nmcli connection down ubuntu6. iPhone veya Android’i QR koduyla bağlayın
Aşağıdaki App Store veya Google Play bağlantısından resmi WireGuard uygulamasını kurun.
Bilgisayardan ssh root@SERVER_IP veya anahtarlı komutunuzla VPS’ye yeniden girin. Telefonunuzun komutunu çalıştırarak profil ve QR kodu oluşturun.
Telefondaki WireGuard’da QR tarayarak tünel ekleme seçeneğini seçin. Bilgisayardaki kodu tarayın, bağlantıya ad verin, VPN iznini onaylayıp açın.
Her telefon için ayrı profil kullanın. QR kodu VPN erişimi verir; paylaşmayın. Kod satırlara bölünürse Terminal penceresini büyütüp yeniden gösterin.
python3 /root/internetspeed-wireguard/manage-client.py add iphone
qrencode -t ANSIUTF8 < /etc/wireguard/clients/iphone.confpython3 /root/internetspeed-wireguard/manage-client.py add android
qrencode -t ANSIUTF8 < /etc/wireguard/clients/android.conf7. İnternet trafiğinin VPN’den geçtiğini kontrol edin
VPN kapalıyken aşağıdaki My IP sayfasını açıp adresinizi not edin. WireGuard’ı açın, sayfayı yenileyin ve sonucu VPS’nin genel IPv4 adresiyle karşılaştırın.
Sayfa açılıyor ve VPS adresini gösteriyorsa tarayıcı bağlantısı VPN’den geçiyordur. Eski adres görünüyorsa sorun giderme bölümüne bakın.
Bu, tarayıcı bağlantısını doğrular; tüm uygulamaları veya VPN kesildiğindeki korumayı değil. Ek kontroller DNS ve IPv6 içindir.
Genel IP adresinizi kontrol edin
İsteğe bağlı: IPv6 ve DNS kontrolü
IPv6: VPN kapalıyken Test IPv6’yı açıp IPv6 adresi gösterilip gösterilmediğine bakın. VPN’yi açıp tekrarlayın. Bu IPv4 kurulumunda çalışan IPv6 internet erişimi olmamalıdır. Normal IPv6 adresiniz görünüyorsa tüneli atlıyordur. Başta IPv6 yoksa test, IPv6 destekli ağdaki davranışı göstermez.
DNS: VPN açıkken DNS Leak Test’te Standard test çalıştırın. Profil Cloudflare DNS kullanır. Ev interneti sağlayıcınız görünürse cihaz DNS ayarlarını inceleyin. Başka sağlayıcı tarayıcının Secure DNS ayarından da gelebilir; bu tek başına sızıntı kanıtı değildir. Sonuçlar tüm uygulamaların korunduğunu garanti etmez.
8. Çalışmayan bağlantıda sorun giderme
My IP normal adresi gösteriyorsa WireGuard’da aktardığınız bağlantının açık olduğunu kontrol edin. Bir kez kapatıp açın, My IP’yi yenileyin.
VPN açıkken siteler açılmıyorsa kapatıp aynı sayfayı deneyin. Kapalıyken de açılmıyorsa önce normal interneti düzeltin. Yalnızca VPN ile bozuluyorsa aşağıdaki kontrolleri yapın.
Karşılaştırmak için bilgisayarı telefonun erişim noktasına bağlayıp VPN’yi deneyin. Telefonda Wi-Fi’yi kapatıp mobil veriyi kullanın. Bu geçici testte mobil ücret doğabilir. VPN sadece bu şekilde çalışıyorsa sorun Wi-Fi bağlantısına özgüdür; kesin nedeni henüz göstermez.
Kurulum hatayla durursa son mesajı saklayın. Sorunu düzelttikten sonra aynı cihaz adıyla komutu yeniden çalıştırın; mevcut profil korunur.
VPN sunucusunun çalıştığını kontrol edin
2. adımdaki gibi SSH ile girip komutu çalıştırın. Sonuç active olmalıdır. inactive veya failed ise yeniden başlatma komutunu çalıştırıp kontrol edin. Hâlâ active değilse hatayı saklayın.
systemctl is-active wg-quick@wg0systemctl restart wg-quick@wg0
systemctl is-active wg-quick@wg0Yeniden başlatma bağlı cihazları kısa süreliğine keser.
Cihazınızın sunucuya ulaştığını kontrol edin
VPN’yi açıp My IP’yi deneyin. Sunucuda wg show çalıştırın. Cihazın altında latest handshake satırını arayın. 10 seconds ago, kısa süre önce şifreli bağlantı kurulduğunu gösterir. Satır yoksa bu cihaz için başarılı bağlantı kaydedilmemiştir.
Yeni bağlantı görünmüyorsa profilde Endpoint değerinin VPS adresi ve :51820 içerdiğini kontrol edin. VPS panelinde Firewall veya Security groups bölümüne bakın. Bağlı güvenlik duvarı varsa gelen UDP 51820’ye izin vermelidir. Ekran sağlayıcıya göre değişir; Ubuntu içindeki güvenlik duvarını betik ayarlar.
Güncel handshake var ama siteler açılmıyorsa sonucu ve uygulama hatasını veya günlüğünü kaydedin. Rastgele gelişmiş ağ ayarı değiştirmek teşhisi zorlaştırabilir.
wg show9. Hangi hızları bekleyebilirsiniz?
Windows testimizde indirme yaklaşık 350–400 Mbps, yükleme 450–500 Mbps idi. Projedeki diğer VPN’lerle aynı yöntem kullanıldı. Yol: San Diego’daki kullanıcı → San Francisco Körfez Bölgesi’ndeki VPN → Seattle’daki ölçüm sunucusu.
Vultr Shared CPU vc2-1c-1gb kullanıldı: 1 vCPU, 1 GB RAM, 25 GB SSD, aylık 1 TB trafik; satın alındığında aylık 5 ABD doları.
Bu sonuçlar bu kurulumda gözlendi. Hızınız bağlantınıza, sunucunuza ve konuma bağlıdır. Diğer VPS paketleri veya sağlayıcılar henüz karşılaştırılmadı.
10. Maliyet, gizlilik ve sağlayıcı sınırları
Kendi VPN’niz yapılandırmayı ve tek bir çıkış konumunu kontrol etmenizi sağlar. Güncellemeler, fatura, cihaz erişimi ve kurtarma size aittir. Hosting sağlayıcısına karşı anonimlik sağlamaz; HTTPS gereksinimi sürer.
Gezinme, video, dosya indirme/yükleme ve hız testleri VPS trafik kotasını tüketir. Kalan kotayı panelden izleyin. Aşım pakete göre ek ücret veya kısıtlama getirebilir.
P2P öncesinde sağlayıcının güncel kullanım şartlarını ve geçerli hukuku inceleyin. Protokol ile içerik hakları ayrıdır. Yalnızca indirme ve paylaşma hakkınız olan içeriği kullanın; her sağlayıcı tüm P2P kullanımlarını kabul etmez.
Veri merkezi IP’si CAPTCHA, hizmet veya yayın engelleriyle karşılaşabilir. Standart WireGuard her filtreli ağda erişim vadetmez. Tek VPS, büyük sağlayıcıların konum ve yedek sunucu havuzu yerine tek arıza noktasıdır.
11. Cihaz ekleyin, erişimi iptal edin ve sunucuyu yönetin
Her cihaz için ayrı profil kullanın. Kayıp telefonun adlandırılmış peer kaydını sunucudan ve kalan profil kopyalarını silin. Sonra yeni profil oluşturun. Yalnızca telefondaki dosyayı silmek sunucu erişimini iptal etmez.
Ubuntu güvenlik güncellemelerini uygulayın, yeniden başlatma gereksinimini kontrol edin. Uygun zamanda yeniden başlatıp VPN’yi doğrulayın. Hosting hesabını ve SSH’ı koruyun; SSH doğrulamasını değiştirirken çalışan alternatif girişiniz olsun.
Kaldırma betiği bu VPN’yi durdurur, yönettiği yapılandırma ve güvenlik duvarı kurallarını siler. SSH, UFW ve paketler kalır. Yönlendirme yeniden başlatmada sistem politikası uygulanana kadar açık kalır. VPN’yi silmek VPS faturasını iptal etmez; gereken veriyi saklayıp kullanılmayan sunucuyu sağlayıcı panelinden silin.
python3 /root/internetspeed-wireguard/manage-client.py remove iphoneapt update
apt list --upgradable
test ! -f /var/run/reboot-required || cat /var/run/reboot-requiredbash /root/internetspeed-wireguard/remove-server.sh --confirm