WireGuard etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
WireGuard etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

2 Şubat 2026 Pazartesi

Evde Kendi VPN’ini Kur: WireGuard ile Güvenli ve Hızlı Bağlantı Rehberi

WireGuard Nedir ve Neden Tercih Edilmeli?

Ev dışındayken ev ağınıza güvenli biçimde erişmek, halka açık Wi‑Fi’da trafiğinizi şifrelemek veya kendi kişisel VPN’inizi kurup üçüncü taraf hizmetlere bağımlılığı azaltmak istiyorsanız, WireGuard son yılların en pratik çözümlerinden biri. OpenVPN gibi köklü alternatiflere göre daha az bileşenle çalışır, kurulum ve bakım tarafı daha sade ilerler. Performans tarafında ise özellikle mobil cihazlarda hızlı bağlanma süresi ve düşük gecikme avantajı dikkat çeker.

Bu rehberde, evdeki bir Linux sunucusu (ör. Ubuntu) üzerinde WireGuard kurup telefonu veya dizüstünü güvenli şekilde bağlamayı adım adım anlatacağım. Anlatım ileri seviye sayılabilecek ağ konularına değinse de, komutları takip ederek güvenli bir kurulum yapmak mümkün.

Ön Koşullar: Ne Gerekli?

Kuruluma başlamadan önce şu hazırlıklar işinizi kolaylaştırır: (1) İnternete bağlı ve mümkünse 7/24 açık bir Linux makine (Ubuntu 22.04/24.04 gibi), (2) Modem/router üzerinde port yönlendirme yapabilme yetkisi, (3) Statik IP’niz yoksa bir DDNS alan adı (No-IP, DuckDNS vb.), (4) Sunucuda yönetici yetkisi (sudo). Ayrıca ev internetiniz CGNAT arkasındaysa port yönlendirme çalışmayabilir; bu durumda sağlayıcınızdan gerçek IP talep etmek veya ters tünel gibi farklı mimariler düşünmek gerekir.

1) WireGuard Kurulumu (Ubuntu)

Önce paketleri güncelleyin ve WireGuard’ı kurun:

Komutlar:
sudo apt update
sudo apt install -y wireguard

Ardından sunucu için anahtar çiftini üretin. Anahtarları doğru izinlerle saklamak güvenlik açısından kritik:

Komutlar:
umask 077
wg genkey | tee /etc/wireguard/server_private.key | wg pubkey > /etc/wireguard/server_public.key

2) Sunucu Yapılandırması: wg0.conf

WireGuard arayüzünü wg0 adıyla yapılandıralım. Aşağıdaki örnek, VPN ağı olarak 10.10.10.0/24 kullanır. Sunucuya 10.10.10.1 veriyoruz. Ayrıca IP yönlendirmeyi ve NAT’ı da ekliyoruz ki istemciler internet çıkışını VPN üzerinden yapabilsin (isteğe bağlı).

/etc/wireguard/wg0.conf dosyasını oluşturun:

Komut:
sudo nano /etc/wireguard/wg0.conf

Örnek içerik:
[Interface]
Address = 10.10.10.1/24
ListenPort = 51820
PrivateKey = (server_private.key içeriği)

PostUp = ufw route allow in on wg0 out on eth0; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = ufw route delete allow in on wg0 out on eth0; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

Not: Sunucunuzun dış bacak arayüz adı eth0 olmayabilir (ör. enp0s3). ip a ile kontrol edip wg0.conf içinde güncelleyin.

3) IP Forwarding Açma

VPN istemcilerinin ağlar arası paket iletebilmesi için kernel IP yönlendirmeyi açın:

Komutlar:
echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/99-wireguard.conf
sudo sysctl --system

4) Güvenlik Duvarı ve Port Yönlendirme

Sunucuda UFW kullanıyorsanız, WireGuard portunu açın:

Komutlar:
sudo ufw allow 51820/udp
sudo ufw enable

Router tarafında UDP 51820 portunu sunucunun yerel IP’sine yönlendirin. Eğer DDNS kullanıyorsanız, istemci yapılandırmasında IP yerine alan adınızı yazabilirsiniz.

5) İstemci (Telefon/Dizüstü) Anahtarı ve Peer Ekleme

Şimdi bir istemci oluşturalım. İsterseniz anahtarları istemci cihazında üretebilirsiniz; burada sunucuda üretip sonra istemciye aktaracağız:

Komutlar:
umask 077
wg genkey | tee /etc/wireguard/client1_private.key | wg pubkey > /etc/wireguard/client1_public.key

İstemciye 10.10.10.2 verelim. Sunucu yapılandırmasına istemciyi bir Peer olarak eklemek için wg0.conf dosyasının sonuna şunu ekleyin:

Ek satırlar:
[Peer]
PublicKey = (client1_public.key içeriği)
AllowedIPs = 10.10.10.2/32

6) İstemci Konfigürasyonu (WireGuard Uygulaması)

Telefonunuzda WireGuard uygulamasında yeni tünel oluşturup aşağıdaki yapıyı kullanın. Endpoint kısmına ev IP’nizi veya DDNS alan adınızı yazın. “AllowedIPs” alanı önemlidir: Tüm trafiği VPN’e yönlendirmek için 0.0.0.0/0 kullanılabilir; sadece ev ağına erişmek istiyorsanız daha dar bir aralık tanımlayın.

Örnek istemci dosyası:
[Interface]
PrivateKey = (client1_private.key içeriği)
Address = 10.10.10.2/32
DNS = 1.1.1.1

[Peer]
PublicKey = (server_public.key içeriği)
Endpoint = alanadiniz-or-ipniz:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

“PersistentKeepalive” özellikle mobil ağlarda veya NAT arkasında bağlantının düşmesini engellemek için faydalıdır.

7) Servisi Başlatma ve Test

Sunucuda WireGuard arayüzünü ayağa kaldırın ve otomatik başlatmayı etkinleştirin:

Komutlar:
sudo systemctl enable --now wg-quick@wg0
sudo wg show

İstemciden bağlandıktan sonra sunucuda “latest handshake” alanının güncellendiğini görmelisiniz. İstemci tarafında IP’nizi kontrol ederek trafiğin VPN üzerinden gidip gitmediğini anlayabilirsiniz. Eğer sadece ev ağına erişmek istiyorsanız, “AllowedIPs” değerini örneğin 192.168.1.0/24 gibi yerel ağa göre daraltmak performans ve yönlendirme karmaşıklığı açısından daha temiz olabilir.

Sık Karşılaşılan Sorunlar ve İpuçları

El sıkışma (handshake) yok: Port yönlendirme yanlış olabilir, sunucu güvenlik duvarı UDP 51820’yi engelliyor olabilir veya CGNAT nedeniyle dışarıdan erişim mümkün değildir.

Bağlanıyor ama internet yok: NAT (MASQUERADE) kuralı eksik olabilir, yanlış dış arayüz adı girilmiş olabilir veya IP forwarding açık değildir.

Güvenlik önerisi: WireGuard yapılandırmalarını yedekleyin ama özel anahtarları düz metin olarak paylaşmayın. İstemci kaybolursa ilgili peer’i sunucudan kaldırın ve anahtarları yenileyin.

Sonuç

WireGuard ile kendi VPN’inizi kurmak, hem hız hem de kontrol açısından çoğu “tek tık VPN” hizmetinden daha tatmin edici bir çözüm sunar. Kurulumun özü; doğru anahtar yönetimi, doğru port yönlendirme ve temiz bir yönlendirme/NAT kural seti oluşturmaktan geçiyor. Bir kez oturttuktan sonra yeni cihaz eklemek de sadece yeni bir peer tanımlamak kadar basit hale geliyor.

1 Eylül 2025 Pazartesi

Tailscale ile Zero Trust Uzaktan Erişim: Adım Adım Kurulum ve İleri Düzey Ayarlar (2025)

Tailscale nedir ve neden Zero Trust?

Tailscale, WireGuard tabanlı güvenli bir ağ katmanı (overlay network) oluşturmanızı sağlayan, modern ve bulut tabanlı bir çözüm. Geleneksel VPN’lerin aksine, Zero Trust yaklaşımını benimser: Her cihaz kimlik tabanlı olarak yetkilendirilir, erişimler ince taneli politikalarla (ACL) kısıtlanır ve istemciler doğrudan birbirine şifreli tüneller kurar. Bu model; uzaktan çalışma, ev-ofis lab’ları, geliştirici ortamları ve çok lokasyonlu küçük işletmeler için yüksek güvenlik ve düşük gecikme sağlar.

Bu rehberde Tailscale’i adım adım kurup; MagicDNS, Subnet Router, Exit Node, ACL (Access Control Lists) ve Tailscale SSH gibi ileri düzey özellikleri etkinleştirerek pratik bir Zero Trust mimarisi kuracağız. Anlatım, sade ve SEO uyumlu olacak; ancak kritik ipuçlarını ve sık yapılan hataları da not edeceğim.

Ön koşullar ve hazırlık

Başlamak için bir Tailscale hesabı (Google, Microsoft, GitHub, OIDC vb. ile giriş yapılabiliyor), en az iki cihaz (ör. bir dizüstü ve bir sunucu ya da NAS) ve yönetici konsoluna erişim gerekiyor. Eğer ofis ağını uzaktan erişilebilir kılmak istiyorsanız, LAN tarafında sürekli açık kalacak hafif bir Linux makine veya küçük bir cihaz (ör. Raspberry Pi) işinizi görür.

Kurulum: Adım adım

1) Hesap oluşturma ve oturum açma: tailscale.com’a gidip bir hesap oluşturun. Mümkünse kurumsal tekil oturum açma (SSO) kullanın ve çok faktörlü kimlik doğrulamayı (MFA) zorunlu kılın. Güvenlik stratejinizin temeli burasıdır.

2) İstemci kurulumu: Windows, macOS, Linux ve mobil (iOS/Android) istemcileri indirin ve giriş yapın. Linux tarafında kurulum sonrası “sudo tailscale up” komutuyla ağı etkinleştirirsiniz. Bu komuta ileride gelişmiş bayraklar ekleyeceğiz.

3) MagicDNS ve kendi kendine TLS: Yönetim panelinde DNS bölümünden MagicDNS’i açın. Bu sayede cihazlara makine-adı.tailnet-adınız.ts.net gibi kolay adlarla erişirsiniz. İsteğe bağlı olarak Tailscale’in otomatik TLS sertifikalarını açıp dahili servisleri HTTPS üstünden güvenle kullanabilirsiniz.

4) Subnet Router ile LAN’ı yayınlama: Ev/ofis ağınızdaki servisleri (NAS, yazıcı, IoT) yollamak için bir Linux makinede Subnet Router yapın. Örneğin 192.168.1.0/24 ağınızı yayınlamak için istemcide --advertise-routes=192.168.1.0/24 bayrağını kullanın. Yönetim panelinde bu rotayı onaylamayı unutmayın. Bu adım, NAT ya da CGNAT arkasında olsanız bile tüm ağa erişim sunar.

5) Exit Node (tüm trafiği yönlendirme): Seyahatteyken trafiğinizi güvenilir bir noktadan (ör. ev ofisi) çıkarmak istiyorsanız bir cihazı Exit Node olarak işaretleyin. İstemci tarafında ilgili ayarı seçerek tüm internet trafiğinizi o cihaz üzerinden geçirebilirsiniz. Bu yöntem, halka açık Wi‑Fi güvenliği ve bölgesel kısıtları aşma senaryolarında idealdir.

6) Tailscale SSH ile bastion’sız erişim: Yönetim panelinden Tailscale SSH’yi açın ve sadece etiketlenmiş sunuculara belirli kullanıcıların erişmesine izin verin. Böylece ayrı bir bastion host ya da 22 numaralı port için NAT/port yönlendirmesi gerekmiyor; anahtar yönetimi de merkezi hale geliyor.

7) İnce taneli ACL politikaları: ACL’leri kullanarak “kim, nereye, hangi porta, hangi protokolle” erişebilir sorusunu kesin çizgilerle belirleyin. Pratik bir başlangıç: Geliştirici grubuna yalnızca staging sunucular, DevOps’a ise prod ortamlar; IoT cihazlarına ise sadece NAS’ın erişmesi gibi kartopu mantığında kurallar yazın. Etiketler ve gruplar burada en büyük yardımcınız olacak.

Güvenlik, performans ve pratik ipuçları

- Anahtar yaşam döngüsü: Cihaz anahtarları için sona erme (key expiry) politikası belirleyin. Kısa ömürlü (ephemeral) anahtarlar CI/CD ajanları ve geçici sunucular için idealdir.

- Port açmayın, UPnP’yi kapatın: Tailscale ile NAT/port yönlendirmesi gereksiz. Modem üzerindeki UPnP’yi devre dışı bırakmak saldırı yüzeyini azaltır.

- Performans ve DERP: Doğrudan eşler arası bağlantı kurulamadığında Tailscale, en yakın DERP rölelerini kullanır. Farklı ülkelerde cihazlarınız varsa birden fazla DERP bölgesinde iyi performans elde edersiniz. Yüksek bant genişliği gereken durumlarda doğrudan bağlantı kurulduğundan emin olmak için istemci üzerinde bağlantı testleri yapın.

- Görüntüleme ve denetim: Yönetim panelindeki audit log’larını düzenli kontrol edin. Şirket ortamında SSO ve zorunlu MFA ile birlikte cihaz uyumluluk kuralları (ör. disk şifreleme, ekran kilidi) uygulayın.

Sorun giderme: En sık karşılaşılan durumlar

Doğrudan bağlantı kurulamıyorsa önce istemci saatlerinin doğru olduğundan emin olun. Saat drift’i sertifika doğrulamalarında sorun çıkarır. Ardından uç noktalarda gelen/giden UDP trafiğini (özellikle 41641 ve STUN/3478) engelleyen bir güvenlik duvarı olup olmadığını kontrol edin. Çok katmanlı NAT ya da kurumsal proxy arkasındaysanız bağlantı DERP üzerinden sağlanır; bu normaldir. Bağlantı kalitesini anlamak için istemci uygulamasındaki “netcheck” veya “ping” testlerinden yararlanabilirsiniz. Subnet Router sonrası erişemediğiniz bir cihaz varsa, o cihazın yerel güvenlik duvarında Tailscale’den gelen trafiğe izin verildiğini doğrulayın.

Sonuç: ZTNA’yı pratik şekilde hayata geçirmek

Tailscale, Zero Trust felsefesini günlük iş akışına sokmak isteyen bireyler ve ekipler için düşük sürtünmeli bir seçenek. MagicDNS, Subnet Router, Exit Node ve Tailscale SSH gibi özellikler; güvenliği artırırken operasyonel karmaşıklığı azaltıyor. Birkaç saatlik kurulum ve iyi düşünülmüş ACL politikalarıyla, klasik VPN’lerde haftalar alan işleri dakikalar içinde çözebilirsiniz. 2025 itibarıyla hibrit ve uzaktan çalışmanın standart olduğu bir dünyada, esnek ve güvenli ağ erişimi rekabet avantajı sağlıyor. Küçük başlayın, cihazları etiketleyin, kuralları kademeli sıkılaştırın; ihtiyacınız olan Zero Trust temelleri böylece yerli yerinde olur.