Linux'ta WireGuard Sunucu Kurulumu (wg0, NAT, Eşler)

12 dakikalık okuma - 22 Haziran 2026

hero section cover
İçindekiler
  • WireGuard sunucusu ne zaman kullanılmalıdır?
  • Sunucu kurulumu
  • Eşlerin eklenmesi ve kaldırılması
  • Sorun Giderme
  • Anahtar rotasyonu ve önceden paylaşılmış anahtarlar
Paylaş

Linux için pratik WireGuard sunucu kurulumu: anahtarlar, wg0.conf, NAT, syncconf ile eş yönetimi ve sistem yöneticilerinin gerçekte kullandığı sorun giderme komutları.

Yönetici bağlantı noktalarını genel internete açığa çıkarmadan barındırılan altyapıya özel erişim sağlamak istediğinizde bir WireGuard sunucusu çalıştırın. Bu sunucu, açık anahtar kimlik doğrulaması kullanır, Linux 5.6 sürümünden itibaren çekirdek içinde çalışır ve bir kez devreye girdiğinde arka planda çalışmaya devam eder. Bu yazı, bir WireGuard sunucusunun ne zaman kullanılacağını, nasıl devreye alınacağını wg0ve eşlerin günlük olarak çalışır durumda tutulması konularını ele almaktadır.

WireGuard sunucusu ne zaman kullanılmalıdır?

Çoğu kurulumda üç temel model söz konusudur: uzaktan erişim, sunucu-sunucu bağlantıları ve site-site yönlendirme.

Uzaktan erişim için sunucuyu bir VPS veya özel bir ana bilgisayarda çalıştırın ve yönetici trafiğini tünel üzerinden yönlendirin. AllowedIPs her bir eş üzerinde özel yönetim alt ağına (örneğin 10.0.0.0/24) ayarlayın, böylece yalnızca iç sistemlere yönelik trafik tüneli kullanır. Diğer tüm trafik, kullanıcının yerel bağlantısında kalır. Kullanıcılar evden veya mobil ağlardan bağlanıyorsa, NAT oturumlarının kesilmesini önlemek için PersistentKeepalive = 25 ekleyin.

Sunucudan sunucuya bağlantılar için AllowedIPs dar tutun. Genellikle tek bir /32 veya küçük bir arka uç alt ağı kullanılır. Bu, tünele alakasız trafiğin çekilmesini önler ve yönlendirmeyi öngörülebilir tutar.

Site-site bağlantılar ise farklıdır. WireGuard ana bilgisayarı, alt ağlar arasında bir ağ geçidi görevi görür; bu nedenle IP yönlendirme etkinleştirilmeli ve NAT kuralları, geri dönen trafiği doğru arayüze yönlendirmelidir.

DesenAllowedIPs kapsamıEn uygunKurulum karmaşıklığı
Uzaktan erişimÖzel alt ağlar, örn. 10.0.0.0/24Yönetici ve geliştirici erişimiDüşük
Sunucudan sunucuyaBelirli IP'ler veya arka uç alt ağıNoktadan noktaya ana bilgisayar bağlantılarıDüşük ila orta
Siteden siteyeTüm uzak LAN, örn. /24Ağ geçidi-ağ geçidi yönlendirmeOrta ila yüksek
Özel hizmet erişimiYalnızca dahili alt ağ (bölünmüş tünel)Arka uç hizmet yalıtımıOrta

Sunucu kurulumu

Sunucu özel anahtarı barındırır, varsayılan olarak UDP 51820 'yi dinler ve tüneli sonlandırır. Aynı temel kurulum, yukarıdaki üç modelin tümü için geçerlidir.

Anahtarlar ve wg0.conf

Sunucu anahtar çiftini oluşturun:

wg genkey | sudo tee /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.key

Özel anahtarı güvenli bir şekilde saklayın:

sudo chmod 600 /etc/wireguard/server_private.key

Özel anahtar sunucuda kalır. Eşlere verdiğiniz şey ise genel anahtardır.

Oluşturun /etc/wireguard/wg0.conf:

[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = <SERVER_PRIVATE_KEY>
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o <PUBLIC_IFACE> -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o <PUBLIC_IFACE> -j MASQUERADE
 
[Peer]
PublicKey = <CLIENT_PUBLIC_KEY>
AllowedIPs = 10.8.0.2/32

Yerleştireceğiniz giden arayüzü bulun <PUBLIC_IFACE> şunlarla:

ip -o -4 route show to default | awk '{print $5}'

Yönlendirme, güvenlik duvarı ve NAT

Dinleme bağlantı noktasını açın:

sudo ufw allow 51820/udp

Bu satırı /etc/sysctl.conf:

net.ipv4.ip_forward = 1

Yeniden başlatmadan uygulayın:

sudo sysctl -p

The PostUp ve PostDown satırlarını wg0.conf , arayüz devreye girdiğinde veya devreden çıktığında NAT maskeleme kuralını ekler ve kaldırır. Bunlar olmadan, LAN'dan gelen geri dönüş trafiği asla eşine ulaşamaz.

Tüneli devreye almak

wg-quick komutu, arayüzü, yönlendirmeyi ve PostUp/PostDown kancaları tek bir komutla halleder:

sudo wg-quick up wg0

Yeniden başlatmanın ardından otomatik başlatma için systemd birimini etkinleştirin:

sudo systemctl enable --now wg-quick@wg0

Durumu şu komutla kontrol edin:

sudo wg show

Son latest handshake satır, tünelin çalıştığını doğrular. Satır eski veya boş görünüyorsa, güvenlik duvarını, her iki taraftaki anahtarları ve eşin AllowedIPs.

Eşlerin eklenmesi ve kaldırılması

Her eşin kendi anahtar çiftine ihtiyacı vardır. Bunu istemcide oluşturun, ardından eşin açık anahtarını wg0.conf yeni bir [Peer] blokta AllowedIPs tünel IP'sini atayan bir girişle

Tek bir cihaz için /32 kullanın:

AllowedIPs = 10.8.0.3/32

Bu, bir eşin başka bir eşe atanan adresleri talep etmesini engeller. Bölünmüş tünel erişimi için, yalnızca tünelden geçmesi gereken özel alt ağları listeleyin, örneğin AllowedIPs = 10.8.0.0/24.

Etkin oturumları kesmeden yapılandırma değişikliklerini uygulayın:

sudo wg syncconf wg0 <(wg-quick strip wg0)

Bir eşin kaldırılması da aynı şekilde gerçekleşir. İlgili [Peer] blokunu wg0.conf ve syncconf komutunu tekrar çalıştırın.

Sorun Giderme

Bir eş bağlantı kuruyor ancak karşı taraftaki hiçbir şeye erişemiyorsa, bunun nedeni genellikle aşağıdaki dört durumdan biridir:

  • IP yönlendirme kapalıdır
  • NAT maskeleme kuralı eksik
  • NAT kuralındaki giden arayüz yanlış
  • AllowedIPs hedef adresi içermiyor

Yönlendirmeyi kontrol edin:

cat /proc/sys/net/ipv4/ip_forward

Şu sonucu vermelidir 1. Eğer 0, sysctl değişikliği uygulanmamış veya kaydedilmemiştir.

NAT kuralını ve giden arabirimi kontrol edin:

sudo iptables -t nat -L POSTROUTING
ip route get 1.1.1.1

İkinci komut, ens3, enp1s0, veya eth0. Bu, MASQUERADE kuralındaki arayüzle eşleşmelidir.

Eğer el sıkışma işlemi gerçekleşmiyorsa, UDP 51820 'nin güvenlik duvarında ve tüm üst düzey sağlayıcılarda açık olup olmadığını ve her iki tarafın da diğer taraf için doğru genel anahtara sahip olup olmadığını kontrol edin.

Atıl UDP oturumlarını sonlandıran ev veya mobil NAT'ın arkasındaki eşler için, PersistentKeepalive = 25 ayarlayın.

Anahtar rotasyonu ve önceden paylaşılmış anahtarlar

Aylarca aktif kalan tüneller için anahtarları yaklaşık olarak yılda bir kez değiştirin. Yeni bir anahtar çifti oluşturun, her iki ucu da güncelleyin ve wg syncconfkomutuyla uygulayın. Bir özel anahtarı iki eş arasında tekrar kullanmayın. Bu, yönlendirme çakışmalarına yol açar ve aralarındaki veri aktarımını kesintiye uğratır.

Açık anahtar kimlik doğrulamasına ek bir güvenlik katmanı eklemek için, her eş için önceden paylaşılmış bir anahtar ekleyin:

wg genpsk

Sonucu PresharedKey = <PSK> her iki tarafta da [Peer] bloğuna ekleyin. WireGuard, PSK'yı el sıkışma sürecine dahil eder; bu sayede, asimetrik anahtarlardan birini bir şekilde ele geçiren bir saldırgan, PSK olmadan trafiğin şifresini yine de çözemez.

Günlük kullanımda faydalı komutlar:

KomutAmaç
wg showEşler, el sıkışma işlemleri, trafik sayaçları
wg show wg0 transferŞunlar için bayt sayaçları wg0
wg show all dumpİzleme komut dosyaları için makine tarafından işlenebilir çıktı
wg syncconf wg0 <(wg-quick strip wg0)Oturumları sonlandırmadan yapılandırma değişikliklerini uygula
wg genpskÖnceden paylaşılmış anahtar oluşturma

WireGuard tünellerini sonlandırmak ve özel trafiği altyapınıza yönlendirmek için istikrarlı, halka açık bir ana bilgisayara ihtiyacınız varsa, FDC'nin sınırsız VPS planlarına göz atın.

Blog

Bu hafta öne çıkanlar

Daha fazla makale
Dijital göz yorgunluğu: Ekranların yoğun olarak kullanıldığı bir dünyada görme yeteneğinizi nasıl koruyabilirsiniz?

Dijital göz yorgunluğu: Ekranların yoğun olarak kullanıldığı bir dünyada görme yeteneğinizi nasıl koruyabilirsiniz?

Bütün gün ekrana mı bakıyorsunuz? Kanıtlanmış teknikler ve araçlarla dijital göz yorgunluğunu nasıl azaltabileceğinizi öğrenin. Bu kılavuz, uzaktan çalışanlar, yazılım geliştiriciler ve teknoloji sektöründe çalışan herkes için vazgeçilmezdir.

4 dakikalık okuma - 21 Mayıs 2025

Güçlü ve sınırsız bir VPS'ye sahip olmanın önemi

8 dakikalık okuma - 9 Mayıs 2025

Daha fazla makale
background image

Sorularınız mı var veya özel bir çözüme mi ihtiyacınız var?

icon

Esnek seçenekler

icon

Küresel erişim

icon

Anında dağıtım

icon

Esnek seçenekler

icon

Küresel erişim

icon

Anında dağıtım