🌐 WireGuard Sunucu Kurulumu, Yönetimi ve İstemci Rehberi
Bu rehber; temiz bir Linux sunucusu üzerinde WireGuard VPN servisinin sıfırdan kurulması, yeni kullanıcılar (peer) eklenmesi, anahtar yönetimi ve bu bağlantıların farklı platformlardaki (Linux, Windows, Mobil ve Keenetic Modem) uygulamalarda nasıl yapılandırılıp kullanılacağını içerir.
1. Sunucu Tarafı (Server) Kurulumu ve Yapılandırma
Bu adımlar Ubuntu/Debian tabanlı bir uzak sunucu (VPS) üzerinde gerçekleştirilir.
A. Paketlerin Kurulması
sudo apt update
sudo apt install wireguard iptables -y
B. Sunucu Anahtarlarının Üretilmesi
WireGuard, asimetrik şifreleme (Public/Private Key) kullanır. Sunucu için gerekli anahtarları üretmek için:
# Anahtarların güvenliği için yetkileri kısıtlı bir klasöre geçiyoruz
cd /etc/wireguard/
umask 077
# Sunucu için özel (private) ve genel (public) anahtarları üret
wg genkey | tee server_private.key | wg pubkey > server_public.key
C. Sunucu Yapılandırma Dosyası (wg0.conf)
/etc/wireguard/wg0.conf dosyasını oluşturun ve aşağıdaki şablonu kendinize göre düzenleyin:
[Interface]
Address = 10.66.66.1/24
ListenPort = 51820
PrivateKey = <server_private.key_DOSYASININ_İÇERİĞİ>
# Sunucu üzerinden internete çıkış için IP Yönlendirme kuralları (iptables)
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
D. Sistem Seviyesinde IP Yönlendirmenin (Routing) Açılması
Sunucunun bir router gibi davranıp paketleri internete aktarabilmesi için çekirdek seviyesinde yönlendirme açılmalıdır:
# Geçici olarak açmak için:
sudo sysctl -w net.ipv4.ip_forward=1
# Kalıcı hale getirmek için /etc/sysctl.conf dosyasını açın ve şu satırın başındaki '#' işaretini kaldırın veya ekleyin:
net.ipv4.ip_forward=1
# Ayarları uygulamak için:
sudo sysctl -p
E. Servisin Başlatılması ve Kontrolü
# Güvenlik duvarından (UFW kullanılıyorsa) porta izin verin
sudo ufw allow 51820/udp
# WireGuard servisini başlatın ve sistem açılışına ekleyin
sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0
# Durumu kontrol etmek için:
sudo wg show
2. Sunucuya Manuel Kullanıcı (Peer) Ekleme Adımları
Otomatik scriptler yerine arka plandaki mantığı anlamak ve manuel kullanıcı eklemek için sırasıyla şu komutlar işletilir:
Adım 1: Kullanıcı İçin Anahtar Üretimi
cd /etc/wireguard/
# Kullanıcı (Örn: ali) için anahtarları üret
wg genkey | tee ali_private.key | wg pubkey > ali_public.key
# İsteğe bağlı ek güvenlik (PresharedKey) üretimi
wg genpsk > ali_preshared.key
Adım 2: Sunucu Dosyasına (wg0.conf) Kullanıcıyı Tanımlama
Sunucunun bu yeni kullanıcıyı tanıyabilmesi için /etc/wireguard/wg0.conf dosyasının en altına şu blok eklenir:
[Peer]
PublicKey = <ali_public.key_İÇERİĞİ>
PresharedKey = <ali_preshared.key_İÇERİĞİ>
AllowedIPs = 10.66.66.2/32
sudo systemctl restart wg-quick@wg0
Adım 3: Kullanıcının Cihazına Yüklenecek Config Dosyasını Hazırlama
Kullanıcıya iletilecek ali.conf dosyası şu şekilde tasarlanır:
[Interface]
PrivateKey = <ali_private.key_İÇERİĞİ>
Address = 10.66.66.2/32
DNS = 1.1.1.1, 1.0.0.1
[Peer]
PublicKey = <server_public.key_İÇERİĞİ>
PresharedKey = <ali_preshared.key_İÇERİĞİ>
Endpoint = <SUNUCUNUN_DIŞ_IP_ADRESİ>:51820
AllowedIPs = 0.0.0.0/0
3. Farklı Uygulamalarda Kurulum ve Kullanım Rehberi
🐧 A. Linux Sistemlerde (CachyOS, Arch, Ubuntu vb.)
Linux üzerinde istemci olarak bağlanmanın iki popüler yolu vardır:
Yöntem 1: Terminal (CLI) ile Hızlı Bağlantı
Sunucudan aldığınız ali.conf dosyasını bilgisayarınıza kaydedin:
# Dosyayı güvenli bir yere taşıyın
sudo cp ali.conf /etc/wireguard/wg0-client.conf
# Bağlantıyı başlatmak için:
sudo wg-quick up wg0-client
# Bağlantıyı koparmak için:
sudo wg-quick down wg0-client
Yöntem 2: NetworkManager (GUI / Masaüstü Arayüzü) ile İthal Etme
KDE veya GNOME masaüstü ortamlarında terminalle uğraşmadan config dosyasını doğrudan ağ ayarlarına ekleyebilirsiniz:
1. Ağ ayarlarına (Network Settings) girin.
2. "+" (Yeni Bağlantı Ekle) butonuna basın.
3. Listeden "Import VPN connection..." (VPN bağlantısı aktar) seçeneğini seçin.
4. Sunucudan aldığınız ali.conf dosyasını gösterin. Sistem tüm ayarları otomatik çözer. Tek tıkla açıp kapatabilirsiniz.
🪟 B. Windows Sistemlerde
- WireGuard resmi web sitesinden Windows için
.exeyükleyicisini indirin ve kurun. - Uygulamayı açın ve sol alttaki "Import tunnels from file" (Dosyadan tünel aktar) butonuna tıklayın.
- Sunucudan gelen
ali.confdosyasını seçin. - Listeye eklenen tünelin yanındaki "Activate" (Aktifleştir) butonuna basarak güvenle bağlanın.
📱 C. Mobil Cihazlarda (Android & iOS)
Mobil cihazlarda el ile dosya taşımak yerine QR kod yöntemi en pratik çözümdür.
Sunucuda QR Kod Üretme (Sunucu Terminalinde):
# Sunucuda qrencode paketini kurun
sudo apt install qrencode -y
# Hazırladığınız istemci dosyasını terminale QR kod olarak basın
qrencode -t ansiutf8 < /etc/wireguard/ali.conf
Telefondan Bağlanma:
- Google Play Store veya Apple App Store'dan resmi WireGuard uygulamasını indirin.
- Uygulama içindeki "+" butonuna basın ve "Scan from QR code" (QR kodunu tara) seçeneğini seçin.
- Sunucu ekranında basılan dev QR kodu telefon kamerasına okutun.
- Tünel ismini (Örn:
oracle-vpn) yazıp kaydedin ve aktifleştirin.
🔌 D. Ağ Cihazlarında: Keenetic Modem / Router Yapılandırması
Modemi ağa yedek olarak bağlamak veya tüm evi değil de sadece belirli cihazları VPN'e yönlendirmek için Keenetic harika bir altyapıya sahiptir.
[!danger] Hayati Önem Taşıyan Kural Modeme WireGuard ayarı girerken
AllowedIPs(İzin Verilen IP'ler) alanına asla0.0.0.0/0yazılmamalıdır. Eğer yazılırsa, modem tüm evdeki internet trafiğini VPN tüneline sokmaya çalışır ve yerel DNS çözümlenemediği için evdeki tüm cihazların internet erişimi kilitlenir.(Ben bu ayarı yapmadım galiba)
Adım Adım Keenetic Yapılandırması:
- Keenetic web arayüzüne girin (
192.168.1.1). - Sol menüden Ağ Ayarları ➔ İnternet Bağlantıları sekmesine gelin.
- Sayfayı aşağı kaydırıp "WireGuard VPN" başlığı altındaki "Bağlantı ekle" butonuna basın.
- Açılan pencerede ayarları şu mantıkla doldurun:
- Bağlantı adı:
Sunucu-Yedek - Gizli Anahtar (Private Key): Sunucuda modem için ürettiğiniz özel anahtar.
- IP Adresi:
10.66.66.19/32(Modeme atanan tünel IP'si) - DNS:
1.1.1.1 - Aynı pencerenin altındaki "Eş (Peer) Ekle" butonuna basın:
- Ortak Anahtar (Public Key): Sunucunun genel anahtarı.
- Ön Paylaşımlı Anahtar: Ürettiyseniz modem peer'ına ait PresharedKey.
- Uç Nokta (Endpoint):
SUNUCU_DIŞ_IP_ADRESİ:51820 - İzin Verilen IP'ler (AllowedIPs):
10.66.66.0/24(Güvenli olan budur, sadece tünel ağını görür, ev internetine dokunmaz). - Bağlantıyı denetlemek için keepalive ayarı:
25saniye. - Kaydedin. Bağlantıyı ihtiyacınız olduğunda arayüzdeki şalteri (açma/kapama butonunu) kullanarak aktifleştirebilirsiniz.
🛠️ Temel Hata Ayıklama (Troubleshooting) Komutları
Eğer bağlantı kuruluyor ama internet akmıyorsa veya cihazlar birbirini görmüyorsa şu komutlarla kontrol sağlayın:
- Sunucuda anlık trafik var mı?:
sudo wg showkomutunu çalıştırın.latest handshake(son el sıkışma) süresi 2 dakikadan az olmalı vetransferkısmında byte akışı görünmelidir. Eğer görünmüyorsa istemci tarafında anahtarlar veya Endpoint IP'si yanlıştır. - Sunucu loglarını canlı izleme:
sudo dmesg -wTveyasudo journalctl -file sunucuya anlık gelen paket hatalarını yakalayabilirsiniz. - Tünel içi ping testi:
İstemci cihazdan sunucu tünel IP'sine (
ping 10.66.66.1) ping atarak şifreli sanal hattın çalışıp çalışmadığını test edin. ```