Kısa cevap
Bir VPS'te WireGuard'ı nasıl kurarım?
Bir VPS'te WireGuard kurmak için wireguard paketini yükleyin, sunucu için bir ve her cihaz için birer anahtar çifti oluşturun ve /etc/wireguard/wg0.conf dosyasını yazın. Ardından IP forwarding ve NAT'ı açın, wg-quick@wg0 başlatın ve istemci dosyasını içe aktarın. OffshoreKVM üzerinde Debian 12 veya Ubuntu 24.04 KVM VPS 30 gün için $3.08'den başlar. KYC yok, kripto ile ödeyin.
Başlamadan önce neye ihtiyacım var?
| Sunucu | Kendi çekirdeğine sahip bir KVM VPS. Bir ev için OffshoreKVM KVM 1 (1 vCPU, 1 GB RAM, 20 GB NVMe, 2 TB trafik) yeterli |
|---|---|
| Erişim | Kendi genel anahtarınızla SSH üzerinden root erişimi; parola ile giriş varsayılan olarak kapalıdır. Aşağıdaki komutlar root olarak çalışır |
| Sistem | Debian 12 veya Ubuntu 24.04 LTS; ikisi de OffshoreKVM'nın imajları arasında |
| Paketler | wireguard ve iptables, dağıtımın kendi deposundan |
| Port | UDP 51820, WireGuard belgelerinin örneklerinde kullanılan port |
| Tünel adresleri | 10.8.0.0/24: sunucu 10.8.0.1, ilk cihaz 10.8.0.2 |
| İstemci uygulamaları | Windows, macOS, Android, iOS ve Linux için WireGuard, wireguard.com'da listeleniyor |
| Fiyat | 30 gün başına KVM 1 $3.08, KVM 2 $4.92, KVM 4 $8.25, KVM 8 $13.50, KVM 16 $20.62. KYC yok, yalnızca kripto |
Adım adım WireGuard sunucusunu nasıl kurarım?
Yeni bir Debian 12 veya Ubuntu 24.04 VPS'ten, üzerinden internete giren bir telefona kadar dokuz adım.
Bağlanın ve güncelleyin
ssh root@YOUR_VPS_IPile giriş yapın, ardındanapt update && apt upgrade -ykomutunu çalıştırın.WireGuard ve iptables'ı kurun
apt install -y wireguard iptableskomutunu çalıştırın. WireGuard araçları yalnızca bir güvenlik duvarı paketi önerir ve aşağıdaki NAT kurallarıiptableskullanır.Anahtarları oluşturun
cd /etc/wireguard && umask 077komutunu çalıştırın. Sunucuyuwg genkey | tee server.key | wg pubkey > server.pubile eşleştirin. Cihazıwg genkey | tee phone.key | wg pubkey > phone.pubile eşleştirin.Ortak arayüzü bulun
ip route show defaultkomutunu çalıştırın.devsonrasındaki kelime, örneğineth0veyaens3, NAT kuralının ihtiyaç duyduğu arayüzdür.Sunucu dosyasını yazın
Sunucunun özel anahtarını, dinleme portunu, NAT kurallarını ve her cihaz için birer
[Peer]içeren/etc/wireguard/wg0.confdosyasını aşağıda gösterildiği gibi oluşturun.IP yönlendirmeyi açın
echo 'net.ipv4.ip_forward=1' > /etc/sysctl.d/99-wireguard.conf && sysctl --systemkomutunu çalıştırın. Bu olmadan VPS, tünelden gelen trafiği düşürür.Tüneli açılışta başlatın
systemctl enable --now wg-quick@wg0komutunu çalıştırın, ardından arayüzü, portunu ve peer'i görmek içinwg showkomutunu çalıştırın.İstemci dosyasını oluşturun ve içe aktarın
phone.confdosyasını aşağıda gösterildiği gibi yazın. WireGuard uygulamasında içe aktarın veyaqrencode -t ansiutf8 < /etc/wireguard/phone.confile QR kod olarak gösterin.Tüneli test edin
Tüneli açın ve herhangi bir web sitesini açın. Sunucuda
wg showartık yakın tarihli birlatest handshakeyazdırır ve siteler VPS adresini görür.
Sunucunun wg0.conf dosyasına neler girer?
Sunucu dosyası sunucunun özel anahtarını, tünel adresini, dinleme portunu, NAT kurallarını ve her cihaz için birer [Peer] bloğu içerir. Aşağıdaki heredoc, 3. adımda oluşturulan dosyalardan her iki anahtarı da doldurur. Çalıştırmadan önce eth0 yerine 4. adımdaki arayüzü yazın.
WireGuard her cihazı ortak anahtarıyla tanımlar: bir paket yalnızca bilinen bir anahtarla imzalanmışsa ve o peer'in AllowedIPs adresinden geliyorsa kabul edilir.
cd /etc/wireguard
cat > wg0.conf <<EOF
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = $(cat server.key)
# Forward tunnel traffic and hide it behind the VPS address (eth0 = your interface)
PostUp = iptables -I FORWARD -i %i -j ACCEPT
PostUp = iptables -I FORWARD -o %i -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
PostUp = iptables -t nat -I POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT
PostDown = iptables -D FORWARD -o %i -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
[Peer]
# phone
PublicKey = $(cat phone.pub)
AllowedIPs = 10.8.0.2/32
EOF
chmod 600 wg0.confwg-quick, PostUp ve PostDown satırlarını çalıştırdığında %i yerine arayüz adı olan wg0 yazılır. MASQUERADE her paketi giden arayüzün adresine yeniden yazar. iptables kılavuzu statik bir adres için SNAT --to-source YOUR_VPS_IP tercih eder; burada ikisi de çalışır.
İstemci yapılandırmasına neler girer?
İstemci dosyası cihazın özel anahtarını, tünel adresini, bir DNS sunucusunu ve sunucunun ortak anahtarını ve adresini içerir. AllowedIPs = 0.0.0.0/0, ::/0 tüm trafiği, IPv6 dahil, tünelden geçirir, böylece dışarıya hiçbir şey sızmaz. Yukarıdaki yalnızca IPv4 sunucusuyla IPv6 trafiği tamamen durur ve çoğu uygulama IPv4'e geri döner.
cd /etc/wireguard
cat > phone.conf <<EOF
[Interface]
PrivateKey = $(cat phone.key)
Address = 10.8.0.2/32
DNS = 9.9.9.9
[Peer]
PublicKey = $(cat server.pub)
Endpoint = YOUR_VPS_IP:51820
AllowedIPs = 0.0.0.0/0, ::/0
EOF
# Phone: scan this QR code in the WireGuard app
apt install -y qrencode
qrencode -t ansiutf8 < phone.conf
# Linux computer: copy phone.conf to /etc/wireguard/, then
# wg-quick up phone9.9.9.9 yerine güvendiğiniz herhangi bir DNS çözümleyici kullanın. Bir Linux istemcisinde, DNS satırı resolvconf veya openresolv gerektirir; Debian bunları önerilen paketler olarak listeler. Cihaz kopyasını aldıktan sonra phone.key ve phone.conf satırlarını sunucudan silin.
Güvenlik duvarı portu açmam gerekir mi?
Yalnızca VPS'te bir güvenlik duvarı çalışıyorsa: UDP 51820'ye gelen trafiğe izin vermeli ve tünel trafiğini geçirmelidir. ufw ile ufw allow 51820/udp komutunu çalıştırın. wg0.conf içindeki FORWARD kuralları, ufw tarafından yönlendirilen trafik için ayarlanan varsayılan DROP ilkesinden önce, zincirin en üstüne eklenir. Herhangi bir güvenlik duvarını etkinleştirmeden önce 22 numaralı portu açık tutun, yoksa kendinizi kilitlersiniz.
Başka bir cihazı nasıl eklerim?
Her cihaz kendi anahtar çiftini, kendi tünel adresini ve kendi [Peer] bloğunu alır. /etc/wireguard içinde wg genkey | tee laptop.key | wg pubkey > laptop.pub komutunu çalıştırın. PublicKey değeri yeni ortak anahtar ve AllowedIPs = 10.8.0.3/32 olarak ayarlanmış bir [Peer] ekleyin. Diğer cihazları düşürmeden uygulayın: wg syncconf çalıştıran systemctl reload wg-quick@wg0. laptop.conf dosyasını Address = 10.8.0.3/32 ile phone.conf gibi oluşturun.
IPv6'yı tünelden nasıl yönlendiririm?
Her iki tarafa özel bir IPv6 aralığı ekleyin, yönlendirin ve IPv4 gibi çevirin. fd42:42:42::/64 gibi rastgele benzersiz bir yerel aralık seçin.
- Sunucu:
Address = 10.8.0.1/24, fd42:42:42::1/64ve peer içindeAllowedIPs = 10.8.0.2/32, fd42:42:42::2/128. - NAT: üç
PostUpvePostDownsatırınıip6tablesve IPv6 aralığıyla kopyalayın. - İstemci:
Address = 10.8.0.2/32, fd42:42:42::2/128. - Yönlendirme:
/etc/sysctl.d/99-wireguard.confdosyasınanet.ipv6.conf.all.forwarding=1ekleyin.
Önce bir şeyi kontrol edin. Yönlendirme açıkken Linux çekirdeği, accept_ra değeri 2 olmadıkça yönlendirici duyurularını yok sayar. VPS'iniz IPv6 rotasını bu şekilde öğreniyorsa aynı dosyada net.ipv6.conf.eth0.accept_ra=2 ayarlayın.
Tünel bağlanıyor ama hiçbir web sitesi yüklenmiyorsa neden?
El sıkışma çalışıyor ama trafik sunucuda duruyor; neredeyse her zaman dört nedenden biridir.
- Yönlendirme kapalı:
sysctl net.ipv4.ip_forward1yazdırmalı. - NAT kuralında yanlış arayüz:
wg0.confiçindekieth0ileip route show defaultdeğerini karşılaştırın. - Hiç el sıkışma yok: endpoint IP'si veya portu yanlıştır ya da bir güvenlik duvarı UDP 51820'yi engelliyordur.
- Adlar çözümlenmiyor: istemcide çalışan bir
DNSsatırı yoktur ya da bir Linux istemcisinderesolvconfeksiktir.
Her düzeltmeden sonra systemctl restart wg-quick@wg0 komutunu çalıştırıp tekrar test edin.
WireGuard için hangi VPS'i kullanmalıyım?
IPv4 adresi olan herhangi bir KVM VPS işinizi görür; plan, tünelden ne kadar trafik geçtiğine bağlıdır. WireGuard için en iyi offshore VPS hangisi sayfası planları, kotaları ve konumları karşılaştırıyor. Her planın fiyatı OffshoreKVM'te offshore VPS ne kadar sayfasında. Gizlilik için güvenmeden önce VPS sağlayıcınız sunucunuzda neleri görebilir yazısını okuyun.
VPS üzerinde WireGuard: SSS
WireGuard hangi portu kullanır?
WireGuard'ın sabit bir portu yok. ListenPort isteğe bağlıdır ve o olmadan sunucu rastgele bir port seçer. UDP 51820 resmi örneklerdeki porttur, bu yüzden çoğu rehber onu kullanır.
PersistentKeepalive gerekli mi?
Genellikle hayır. wg kılavuzu çoğu kullanıcının buna ihtiyaç duymayacağını söylüyor. PersistentKeepalive = 25 seçeneğini istemcinin [Peer] dosyasına yalnızca sunucunun NAT arkasındaki ve boşta kalan bir cihaza ulaşması gerekiyorsa ekleyin.
Bu rehber Debian 13 veya Ubuntu 22.04'te çalışır mı?
Evet. İkisi de WireGuard'ı standart depolarında sunuyor, bu yüzden aynı komutlar çalışır. WireGuard kurulum sayfasına göre yalnızca Bullseye'den eski Debian sürümleri backports gerektirir.
VPS sağlayıcım tünelden yaptıklarımı görebilir mi?
Tünel VPS'te sona erer, yani trafik oradan normal internet trafiği olarak çıkar; HTTPS sayfa içeriğini şifreli tutar. Log yok: web sitesinde, kontrol panelinde veya VPS'te hiçbir bağlantı logu, trafik logu ve ziyaretçilerin ya da müşterilerin IP adreslerini tutmayız. Offshore VPS mi yoksa VPN mi gerekir rehberi ödünleşimleri tartıyor.
VPS'im ne kadar sürede hazır olur?
VPS'inizi ödemeniz onaylanır onaylanmaz bir kişi oluşturur ve birkaç dakika sonra hazır olur, bu onaydan en geç bir saat sonra; kontrol paneliniz durumu, VPS çalışmaya başlayınca da IP adresini gösterir. Giriş yapabildikten sonra WireGuard kurulumu birkaç dakika sürer.
WireGuard sunucunuz için bir VPS alın
KVM üzerinde Debian 12 veya Ubuntu 24.04, 30 gün için $3.08'ten başlayan fiyatlarla. KYC yok, yalnızca kripto ile ödeme.
Kaynaklar (10)
- Kurulum — WireGuard (read 2026-10-29)
- Hızlı Başlangıç — WireGuard (read 2026-10-29)
- wg(8) kılavuzu — wireguard-tools (read 2026-10-29)
- wg-quick(8) kılavuzu — wireguard-tools (read 2026-10-29)
- [email protected] — wireguard-tools (read 2026-10-29)
- wireguard-tools paketi (bookworm) — Debian (read 2026-10-29)
- IP Sysctl (ip_forward, forwarding, accept_ra) — The Linux Kernel documentation (read 2026-10-29)
- iptables-extensions(8): MASQUERADE, SNAT, conntrack — Debian manpages (read 2026-10-29)
- sysctl(8) — Debian manpages (read 2026-10-29)
- qrencode(1) — Debian manpages (read 2026-10-29)