Sanallaştırma & Bulut

    Siteden Siteye VPN Tüneli Kurulumu

    İki lokasyonu tek ağ gibi birleştiren siteden siteye VPN tünelinin kurulumu ve yönlendirme ayarları.

    11 dk okuma Güncellendi: 25 Ağustos 2026

    Ofisinizdeki muhasebe sunucusuna veri merkezindeki uygulama sunucusundan erişmeniz gerekiyor. En kolay yol gibi görünen şey, muhasebe sunucusunun portunu internete açıp güvenlik duvarında tek bir IP'ye izin vermektir. Bu, işe yarar ama yanlış bir yoldur: portu açtığınız anda o servis tüm internet tarafından taranabilir hale gelir ve tek yanlış kural her şeyi açığa çıkarır. Siteden siteye VPN tüneli bunun doğru alternatifidir; iki ağı şifreli bir tünelle birleştirir ve hiçbir servisi internete açmadan sunucuların birbirini görmesini sağlar.

    Bu rehberde iki lokasyonu kalıcı bir tünelle nasıl birleştireceğinizi anlatacağım. Önce hangi teknolojiyi seçmeniz gerektiğini konuşacağız, sonra en çok atlanan ama en çok soruna yol açan adres planlamasını yapacağız. Ardından WireGuard ile baştan sona çalışan bir yapılandırma kuracağız, IPsec tarafında da karşılığını göstereceğim. Son olarak yönlendirme, NAT ve güvenlik duvarı ayarlarını, tünel kalktığında hangi komutlarla teşhis yapacağınızı ve sahada en sık gördüğüm hataları ele alacağız.

    Siteden Siteye VPN Ne Zaman Gerekir#

    Siteden siteye VPN'i istemci VPN'inden ayıran şey şudur: burada bağlanan tek tek kullanıcılar değil, ağların tamamıdır. Ofisteki her cihaz istemci yazılımı kurmadan veri merkezindeki sunucuları görebilir, çünkü tüneli iki uçtaki yönlendiriciler ya da sunucular kurar ve trafiği onlar taşır.

    Tipik kullanım senaryoları şunlardır: ofis ağı ile barındırma ortamı arasında kalıcı bağlantı; iki farklı veri merkezindeki sunucuların özel adreslerle haberleşmesi; veritabanı çoğaltma trafiğinin internete açılmadan taşınması; yedeklerin uzak lokasyona şifreli aktarılması; ve yönetim arayüzlerinin (sunucu yönetim kartları, switch yönetimi) yalnızca tünel üzerinden erişilebilir olması.

    Son madde özellikle değerli. Yönetim arayüzlerini kendi ağ segmentine koyup oraya yalnızca VPN'den erişim vermek, saldırı yüzeyini ciddi biçimde daraltır; segmentasyon tarafını VLAN nedir ve ağ segmentasyonu yazısında ayrıntılı anlattım, VPN o resmin uzaktan erişim halkasıdır.

    Teknoloji Seçimi: WireGuard, IPsec ve OpenVPN#

    Üç seçenek de çalışır ama farklı yerlerde parlar. Karar verirken donanımınızın ne desteklediğine ve kimin bakacağına bakın.

    KonuWireGuardIPsec (IKEv2)OpenVPN
    Yapılandırma karmaşıklığıÇok düşükYüksekOrta
    PerformansEn yüksek (çekirdek içi)YüksekDaha düşük
    Donanım uyumluluğuSınırlı ama artıyorNeredeyse evrenselYaygın
    TaşımaUDP tek portUDP 500 / 4500 + ESPUDP veya TCP
    Güvenlik duvarı dostuEvetNAT arkasında zahmetliEvet
    Ayakta kalma davranışıSessiz, durum tutmazYeniden anahtarlama gerektirirOrta

    Pratik tavsiyem şudur: iki ucu da siz yönetiyorsanız ve ikisi de Linux ise WireGuard seçin; kurulum bir öğleden sonra sürmez ve bakımı en az olandır. Uçlardan biri kurumsal bir güvenlik duvarı cihazıysa ya da karşı taraf size "IPsec parametrelerini gönderin" diyorsa IPsec seçin, çünkü evrensel ortak dil odur. OpenVPN'i yeni bir siteden siteye kurulum için genellikle önermem; esnektir ama kullanıcı alanında çalıştığı için aynı donanımda daha düşük verim verir.

    Ön Hazırlık: Adres Planı ve Çakışma Kontrolü#

    Kurulumdan önce yapılması gereken tek gerçek "düşünme" işi budur ve atlandığında tünel kurulur ama hiçbir şey çalışmaz. Kural basit: iki tarafın özel ağları çakışmamalıdır. Her iki lokasyon da 192.168.1.0/24 kullanıyorsa, bir sunucu 192.168.1.50 adresine paket gönderdiğinde bunu kendi yerel ağında arar ve tünele hiç sokmaz.

    Planı şöyle kurun:

    RolÖrnek aralıkNot
    A lokasyonu (ofis)10.20.0.0/24Yerel ağ
    B lokasyonu (veri merkezi)10.30.0.0/24Yerel ağ
    Tünel ara ağı10.99.99.0/30Sadece iki uç noktası
    A dış IP185.12.34.10Sabit ya da DNS adı
    B dış IP185.12.34.56Sabit olmalı ya da biri sabit olmalı

    Aralıkların çakışmadığını gözünüzle değil hesapla doğrulayın; subnet hesaplayıcı aracımızla maskeleri ve adres aralıklarını kontrol edin. Tünel için /30 ya da /31 kullanmak yeterlidir, çünkü orada yalnızca iki uç vardır.

    İkinci kontrol: en az bir tarafın sabit ve dışarıdan erişilebilir bir IP adresi olmalı. İki taraf da NAT arkasındaysa tünel kurulabilir ama bir tarafın diğerine ulaşabilmesi için sürekli bağlantı canlı tutma (keepalive) gerekir ve bu, bir tarafta port yönlendirme yapmayı gerektirebilir.

    WireGuard ile Siteden Siteye Tünel Kurulumu#

    Her iki uçta da WireGuard kurup anahtar çiftleri üretiyoruz. Anahtar üretimi tek satırdır ve özel anahtar hiçbir zaman karşı tarafa gönderilmez:

    # Her iki sunucuda ayrı ayrı çalıştırın
    apt install -y wireguard
    
    # Anahtar çifti üret ve izinleri kilitle
    umask 077
    wg genkey | tee /etc/wireguard/private.key | wg pubkey > /etc/wireguard/public.key
    cat /etc/wireguard/public.key
    

    A lokasyonundaki yapılandırma dosyası (/etc/wireguard/wg0.conf):

    [Interface]
    # A ucunun tünel adresi
    Address = 10.99.99.1/30
    ListenPort = 51820
    PrivateKey = A_TARAFININ_OZEL_ANAHTARI
    
    [Peer]
    # B tarafının açık anahtarı
    PublicKey = B_TARAFININ_ACIK_ANAHTARI
    # B'nin dış adresi ve portu
    Endpoint = 185.12.34.56:51820
    # Tünelden ulaşılacak ağlar: B'nin yerel ağı + tünel ara ağı
    AllowedIPs = 10.30.0.0/24, 10.99.99.0/30
    # NAT arkasındaysanız bağlantıyı canlı tutar
    PersistentKeepalive = 25
    

    B lokasyonundaki dosya simetriktir; adresler ve AllowedIPs yer değiştirir:

    [Interface]
    Address = 10.99.99.2/30
    ListenPort = 51820
    PrivateKey = B_TARAFININ_OZEL_ANAHTARI
    
    [Peer]
    PublicKey = A_TARAFININ_ACIK_ANAHTARI
    Endpoint = 185.12.34.10:51820
    AllowedIPs = 10.20.0.0/24, 10.99.99.0/30
    PersistentKeepalive = 25
    

    AllowedIPs alanı WireGuard'ın en çok yanlış anlaşılan ayarıdır ve iki iş birden yapar. Giden yönde bir yönlendirme tablosudur: bu aralıklara giden paketler tünele sokulur. Gelen yönde ise bir erişim listesidir: o eşten yalnızca bu aralıklardan gelen paketler kabul edilir. Yani buraya yazmadığınız bir ağ ne gider ne gelir. Karşı tarafın yerel ağını buraya eklemeyi unutmak, "tünel kuruldu ama sunuculara erişemiyorum" şikâyetinin bir numaralı sebebidir.

    Tüneli ayağa kaldırın ve açılışta otomatik başlamasını sağlayın:

    # Her iki uçta
    systemctl enable --now wg-quick@wg0
    
    # Durum kontrolü: handshake zamanı ve aktarılan bayt
    wg show
    

    wg show çıktısında latest handshake satırı görünüyorsa tünel kurulmuş demektir. Hiç görünmüyorsa paketler karşı tarafa ulaşmıyordur; güvenlik duvarında UDP 51820'yi açtığınızdan emin olun.

    IPsec ile Kurulum#

    Karşı uç bir güvenlik duvarı cihazıysa IPsec/IKEv2 kullanırsınız. Linux tarafında yaygın uygulama strongSwan'dır. Kurulum ve temel bağlantı tanımı şöyledir:

    apt install -y strongswan
    
    # /etc/ipsec.conf
    conn ofis-dc
        keyexchange=ikev2
        authby=secret
        # Yerel taraf
        left=185.12.34.10
        leftsubnet=10.20.0.0/24
        # Uzak taraf
        right=185.12.34.56
        rightsubnet=10.30.0.0/24
        ike=aes256-sha256-modp2048
        esp=aes256-sha256
        dpdaction=restart
        auto=start
    

    Ön paylaşımlı anahtar ayrı bir dosyada durur ve dosya izinleri kısıtlı olmalıdır:

    # /etc/ipsec.secrets
    185.12.34.10 185.12.34.56 : PSK "buraya-uzun-ve-rastgele-bir-anahtar"
    

    Anahtarı elle uydurmayın; şifre üretici aracımızla yeterince uzun ve rastgele bir değer üretip kullanın. Bağlantıyı başlatıp durumu kontrol etmek için:

    ipsec restart
    ipsec statusall
    ipsec up ofis-dc
    

    IPsec'te iki uçtaki şifreleme parametrelerinin birebir uyuşması gerekir. Bir taraf aes256-sha256-modp2048 derken diğeri farklı bir grup kullanıyorsa pazarlık başarısız olur ve günlüklerde "no proposal chosen" benzeri bir mesaj görürsünüz. Karşı tarafla parametreleri yazılı olarak teyit edin; en çok zaman kaybettiren adım budur.

    Yönlendirme, NAT ve Güvenlik Duvarı#

    Tünel kurulsa bile paketlerin ona yönlenmesi gerekir. Uç sunucular birer yönlendirici gibi davranacaksa IP yönlendirmeyi açmalısınız:

    # Kalıcı olarak yönlendirmeyi aç
    echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/99-vpn.conf
    sysctl --system
    

    Güvenlik duvarında tünelin taşıyıcı portunu açın ve tünel arayüzünden gelen trafiğe izin verin:

    # WireGuard taşıyıcı portu
    ufw allow 51820/udp
    
    # Tünel arayüzü üzerinden yönlendirmeye izin ver
    nft add rule inet filter forward iifname "wg0" oifname "eth0" accept
    nft add rule inet filter forward iifname "eth0" oifname "wg0" ct state established,related accept
    

    IPsec kullanıyorsanız açılacak portlar farklıdır: UDP 500 (IKE), UDP 4500 (NAT geçişi) ve ESP protokolü. NAT arkasındaysanız NAT-T zaten UDP 4500 üzerinden çalışır.

    Bir de ağdaki diğer cihazların tüneli bilmesi gerekir. Ofisteki bir iş istasyonu 10.30.0.5 adresine paket gönderdiğinde, varsayılan ağ geçidi bu paketi tünel sunucusuna yönlendirmelidir. İki yöntem vardır: ya ofis yönlendiricisine statik bir rota eklersiniz (10.30.0.0/24 için sonraki atlama tünel sunucusu), ya da tünel sunucusunda NAT yaparak tüm trafiği kendi tünel adresinden çıkarsınız. Birincisi daha temizdir; ikincisi daha hızlı kurulur ama hedef tarafta gerçek kaynak adresini kaybedersiniz.

    # Hızlı çözüm: tünelden çıkan trafiği maskele (kaynak adres gizlenir)
    nft add rule inet nat postrouting oifname "wg0" masquerade
    

    Bu yapılandırmayı birden fazla sunucuya dağıtacaksanız elle kopyalamak yerine Ansible ile sunucu otomasyonu yazısındaki yaklaşımı kullanın; anahtar dağıtımı ve arayüz tanımları şablonlaştırmaya çok uygun.

    Sorun Giderme ve İzleme#

    Tünel çalışmadığında sorunu katman katman daraltmak en hızlı yöntemdir:

    1. Paketler karşıya ulaşıyor mu? tcpdump -ni eth0 udp port 51820 ile hem giden hem gelen paketleri izleyin. Yalnızca giden paket görüyorsanız sorun karşı taraftaki güvenlik duvarındadır.
    2. El sıkışma oldu mu? wg show çıktısında latest handshake değerine bakın. Yoksa anahtarlar ya da endpoint yanlıştır.
    3. Tünel uçları birbirini görüyor mu? ping 10.99.99.2 ile ara ağ üzerinden test edin. Bu çalışıp yerel ağlar çalışmıyorsa sorun AllowedIPs ya da yönlendirmededir.
    4. Rota var mı? ip route get 10.30.0.5 komutu paketin hangi arayüzden çıkacağını söyler. wg0 görmüyorsanız rota eksiktir.
    5. MTU sorunu var mı? Küçük ping çalışıp büyük aktarım takılıyorsa klasik MTU belirtisidir. ping -M do -s 1400 10.30.0.5 ile parçalanmaya izin vermeden test edin.

    MTU konusu ayrı bir paragrafı hak ediyor. WireGuard tünel arayüzü varsayılan olarak 1420 MTU kullanır, IPsec'te ise değer şifreleme parametrelerine göre 1400 civarına iner. Uçtaki sunucular 1500 MTU ile paket gönderirse bu paketler tünele sığmaz; yol MTU keşfi çalışıyorsa sorun görünmez, ancak araya ICMP'yi engelleyen bir cihaz girdiğinde bağlantı sessizce takılır. Kalıcı çözüm, TCP oturumlarının pencere boyutunu tünele göre ayarlamaktır:

    # TCP MSS değerini yol MTU'suna göre otomatik sıkıştır
    nft add rule inet filter forward tcp flags syn tcp option maxseg size set rt mtu
    

    Sık Yapılan Hatalar ve Tuzaklar#

    Çakışan adres aralıkları. Her iki tarafın da 192.168.1.0/24 kullanması en yaygın kurulum hatasıdır. Tünel kurulur, hiçbir şey çalışmaz. Kurulumdan önce aralıkları planlayın; gerekirse bir tarafı yeniden numaralandırın.

    AllowedIPs'i eksik yazmak. Karşı tarafın yerel ağını buraya eklemezseniz o ağa hiç trafik gitmez. Aynı şekilde, iki farklı eş için çakışan aralıklar yazmak da kafa karıştırıcı davranışlara yol açar.

    IP yönlendirmeyi açmayı unutmak. İki uç birbirini görür ama arkalarındaki ağlar birbirine ulaşamaz. net.ipv4.ip_forward değerini kontrol edin.

    Tüneli yedeklemesiz tek hat üzerine kurmak. Kritik bir bağlantıysa iki farklı internet hattı üzerinden iki tünel kurup yönlendirme metriğiyle yedekleme yapmayı düşünün.

    Anahtar ve gizli dosya izinlerini gevşek bırakmak. WireGuard özel anahtarı ve IPsec ön paylaşımlı anahtarı yalnızca root tarafından okunabilir olmalıdır. chmod 600 ve umask 077 alışkanlığını kurun.

    Yalnızca tünelin ayakta olmasını izlemek. Tünel ayakta ama hedef servis kapalı olabilir. İzlemeyi tünel arayüzünden değil, karşı taraftaki gerçek bir servisin cevabından yapın.

    Sıkça Sorulan Sorular#

    Siteden siteye VPN ile istemci VPN arasındaki fark nedir#

    İstemci VPN'de her kullanıcı kendi cihazına bir yazılım kurar ve bağlantıyı tek tek başlatır. Siteden siteye VPN'de ise tüneli uçtaki iki cihaz kurar ve sürekli açık tutar; arkalarındaki tüm cihazlar hiçbir yazılım kurmadan karşı ağı görür. Ofisteki yazıcının veri merkezindeki bir sunucuya erişmesi gerekiyorsa siteden siteye VPN doğru araçtır, gezici çalışanlar için istemci VPN daha uygundur.

    Tünel kuruldu ama sunuculara erişemiyorum, neden#

    Sırasıyla üç şeye bakın. Birincisi, WireGuard kullanıyorsanız AllowedIPs alanına karşı tarafın yerel ağını yazdınız mı; yazılmayan bir aralığa trafik hiç gitmez. İkincisi, uç sunucularda IP yönlendirme açık mı. Üçüncüsü, yerel ağdaki diğer cihazlar karşı ağa giden rotayı biliyor mu; genellikle ofis yönlendiricisine statik rota eklemek gerekir. Tünel ara adresleri birbirine ping atabiliyorsa taşıma katmanı sorunsuzdur, sorun yönlendirmededir.

    WireGuard mı IPsec mi seçmeliyim#

    İki ucu da siz yönetiyorsanız ve ikisi de Linux ise WireGuard belirgin biçimde daha kolay ve daha hızlıdır; yapılandırma birkaç satırdır ve bakım yükü azdır. Karşı uç bir kurumsal güvenlik duvarı cihazıysa ya da üçüncü bir tarafla bağlantı kuruyorsanız IPsec/IKEv2 seçin, çünkü hemen her cihaz destekler ve ortak dil odur. Performans önceliğinizse WireGuard çekirdek içinde çalıştığı için aynı donanımda daha yüksek verim verir.

    VPN tüneli internet hızımı düşürür mü#

    Tünelden geçen trafik için bir miktar ek yük vardır: şifreleme işlemci maliyeti ve kapsülleme başlıkları. Modern işlemcilerde şifreleme donanım hızlandırmasıyla yapıldığı için çoğu senaryoda darboğaz işlemci değil hattın kendisidir. Asıl performans kaybı genellikle yanlış MTU ayarından doğan parçalanma ve yeniden iletimlerden gelir; MSS sıkıştırma kuralı bu sorunu büyük ölçüde çözer.

    İki taraf da NAT arkasındaysa tünel kurulabilir mi#

    Zor ama imkânsız değil. En az bir tarafın dışarıdan erişilebilir olması işi çok basitleştirir; bu yüzden veri merkezi tarafını dinleyen uç yapmak mantıklıdır. İki taraf da NAT arkasındaysa bir tarafta port yönlendirme tanımlamanız ya da her iki ucun da bağlanabileceği aracı bir düğüm kullanmanız gerekir. PersistentKeepalive ayarı, NAT tablosundaki girdinin kapanmaması için bu senaryolarda zorunludur.

    Tünel koptuğunda otomatik geri gelir mi#

    WireGuard durum tutmayan bir tasarıma sahiptir; bağlantı koptuğunda özel bir yeniden bağlanma sürecine gerek kalmaz, paket akmaya başladığında el sıkışma yenilenir. PersistentKeepalive ayarı bunu düzenli olarak tetikler. IPsec'te ise ölü eş tespiti (DPD) ayarını restart yapmanız gerekir, aksi halde kopan bağlantı kendiliğinden ayağa kalkmayabilir. Her iki durumda da servisi systemd ile etkinleştirip sunucu yeniden başladığında tünelin otomatik kurulmasını sağlayın.

    Kapanış#

    Siteden siteye VPN, servisleri internete açmadan iki ağı birleştirmenin en temiz yoludur ve doğru kurulduğunda unutulup gidecek kadar sorunsuz çalışır. Aklınızda kalması gereken dört alışkanlık şu: kurulumdan önce adres aralıklarının çakışmadığını doğrulayın; WireGuard'da AllowedIPs alanının hem rota hem erişim listesi olduğunu unutmayın; IP yönlendirmeyi açıp yerel ağdaki cihazlara karşı ağa giden rotayı tanıtın; ve MTU ile MSS ayarını en baştan yapıp sessiz takılmaların önüne geçin. Bir de anahtar dosyalarının izinlerini kilitleyin.

    Tünelin sabit ve dışarıdan erişilebilir bir ucu olması gerekir; VDS ve bulut sunucu paketlerimiz sabit IP ile bu rolü üstlenebilir, kendi ağ topolojiniz üzerinde tam kontrol istiyorsanız dedicated sunucu tarafına bakabilirsiniz. Tünel kurulumunu, yönlendirme planını ve güvenlik duvarı kurallarını sizin yerinize yapmamızı isterseniz sunucu yönetimi hizmetimiz bu işi üstlenir.

    VPNWireGuardIPsec

    Uygulamaya geçmeye hazır mısınız?

    NVMe SSD, ücretsiz SSL ve %99.9 uptime garantisiyle Clou.TR hosting ve sunucu çözümleriyle projenizi hayata geçirin.