InternetSpeed.online

Dil

Makaleler

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.

Bilgisayarınızdaki PowerShell veya Terminal — parolayla giriş
ssh root@SERVER_IP
Bilgisayarınızdaki PowerShell veya Terminal — mevcut SSH anahtarı
ssh -i ~/.ssh/id_ed25519 root@SERVER_IP
Sunucuda
cat /etc/os-release
exit
ssh 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.

Windows — yönetici PowerShell’de SSH istemcisini kurun
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

Komutu aynen kopyalayın. OpenSSH.Client~~~~0.0.1.0, Windows bileşeninin kimliğidir; tildeleri ve sayıları değiştirmeyin.

Ubuntu Desktop — SSH istemcisini kurun
sudo apt update
sudo apt install openssh-client

3. 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.

Kurulum betiklerini indir (.zip)

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.

PowerShell — parola doğrulaması
.\Connect-WireGuardServer.ps1 -Server SERVER_IP -Device windows
PowerShell — SSH anahtarıyla doğrulama
.\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.

PowerShell — indirilen dosyanın engelini kaldırın
Unblock-File -LiteralPath .\Connect-WireGuardServer.ps1

Betik ç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.

PowerShell — yalnızca bu pencerede betiklere izin verin
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.

macOS Terminal — parola doğrulaması
bash ./connect-wireguard-server.sh SERVER_IP mac
macOS Terminal — SSH anahtarıyla doğrulama
bash ./connect-wireguard-server.sh SERVER_IP mac 22 ~/.ssh/id_ed25519

4c. 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.

Ubuntu Desktop’ta — parola doğrulaması
bash ./connect-wireguard-server.sh SERVER_IP ubuntu
Ubuntu Desktop’ta — SSH anahtarıyla doğrulama
bash ./connect-wireguard-server.sh SERVER_IP ubuntu 22 ~/.ssh/id_ed25519

5a. 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.

Resmi WireGuard indirmeleri

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.

Ubuntu Desktop’ta — NetworkManager’ı kontrol edin
nmcli --version
systemctl is-active NetworkManager
Ubuntu Desktop’ta — bir kez içe aktarın ve DNS’yi ayarlayın
sudo 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 "~."
Ubuntu Desktop’ta — bağlanın
sudo nmcli connection up ubuntu
nmcli connection show --active
Ubuntu Desktop’ta — bağlantıyı kesin
sudo nmcli connection down ubuntu

6. 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.

Sunucuda — iPhone profili oluşturun
python3 /root/internetspeed-wireguard/manage-client.py add iphone
qrencode -t ANSIUTF8 < /etc/wireguard/clients/iphone.conf
Sunucuda — ayrı Android profili oluşturun
python3 /root/internetspeed-wireguard/manage-client.py add android
qrencode -t ANSIUTF8 < /etc/wireguard/clients/android.conf

iPhone için WireGuard — App Store

Android için WireGuard — Google Play

7. İ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.

Test IPv6’yı açın

DNS Leak Test’i açın

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.

Sunucuda — WireGuard’ı kontrol edin
systemctl is-active wg-quick@wg0
Sunucuda — etkin değilse WireGuard’ı yeniden başlatın
systemctl restart wg-quick@wg0
systemctl is-active wg-quick@wg0

Yeniden 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.

Sunucuda — VPN bağlantı durumunu gösterin
wg show

9. 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.

Sunucuda — iPhone profilini iptal edin
python3 /root/internetspeed-wireguard/manage-client.py remove iphone
Sunucuda — güncellemeleri ve yeniden başlatma gereksinimini kontrol edin
apt update
apt list --upgradable
test ! -f /var/run/reboot-required || cat /var/run/reboot-required
Sunucuda — VPN yapılandırmasını kaldırın (tüm istemciler kesilir)
bash /root/internetspeed-wireguard/remove-server.sh --confirm