Linux'ta WireGuard Sunucu Kurulumu (wg0, NAT, Eşler)
12 dakikalık okuma - 22 Haziran 2026

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.
| Desen | AllowedIPs kapsamı | En uygun | Kurulum karmaşıklığı |
|---|---|---|---|
| Uzaktan erişim | Özel alt ağlar, örn. 10.0.0.0/24 | Yönetici ve geliştirici erişimi | Düşük |
| Sunucudan sunucuya | Belirli IP'ler veya arka uç alt ağı | Noktadan noktaya ana bilgisayar bağlantıları | Düşük ila orta |
| Siteden siteye | Tüm uzak LAN, örn. /24 | Ağ geçidi-ağ geçidi yönlendirme | Orta ila yüksek |
| Özel hizmet erişimi | Yalnı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/32Yerleş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/udpBu satırı /etc/sysctl.conf:
net.ipv4.ip_forward = 1Yeniden başlatmadan uygulayın:
sudo sysctl -pThe 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 wg0Yeniden başlatmanın ardından otomatik başlatma için systemd birimini etkinleştirin:
sudo systemctl enable --now wg-quick@wg0Durumu şu komutla kontrol edin:
sudo wg showSon 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/32Bu, 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ış
AllowedIPshedef 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 genpskSonucu 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:
| Komut | Amaç |
|---|---|
wg show | Eş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.

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

Sorularınız mı var veya özel bir çözüme mi ihtiyacınız var?
Esnek seçenekler
Küresel erişim
Anında dağıtım
Esnek seçenekler
Küresel erişim
Anında dağıtım