WireGuard VPN Sunucusu Kurulumu: Adım Adım Rehber
WireGuard VPN sunucusu kurun: anahtar üretimi, sunucu ve istemci yapılandırması, IP yönlendirme, firewall kuralları ve Windows/Linux/Android istemci kurulumu.
İçindekiler
WireGuard VPN Sunucusu Kurulumu: Adım Adım Rehber
WireGuard, modern, hızlı ve güvenli bir VPN protokolüdür. OpenVPN ve IPSec'e kıyasla çok daha basit bir yapıya sahip olup yüksek performans sunar. Bu rehberde REXE sunucunuzda WireGuard VPN sunucusu kurarak istemcilerin güvenli bağlantı kurmasını sağlayacaksınız.
WireGuard Neden Tercih Edilmeli?
- Basit yapılandırma: Yalnızca birkaç satır yapılandırma
- Yüksek performans: Kernel düzeyinde çalışır, düşük gecikme
- Modern kriptografi: ChaCha20, Poly1305, Curve25519
- Küçük kod tabanı: ~4000 satır (OpenVPN ~100.000 satır)
- Çapraz platform: Linux, Windows, macOS, iOS, Android
Kurulum
# Ubuntu 20.04+
sudo apt update
sudo apt install wireguard -y
# CentOS/AlmaLinux 8+
sudo dnf install epel-release -y
sudo dnf install wireguard-tools -y
# Debian 11+
sudo apt install wireguard -y
Anahtar Üretimi
WireGuard, her sunucu ve istemci için bir çift anahtar (özel + genel) kullanır.
# Sunucu anahtarlarını oluştur
cd /etc/wireguard
# Özel anahtar oluştur
wg genkey | sudo tee /etc/wireguard/server_private.key
# Genel anahtarı türet
sudo cat /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.key
# Anahtarları görüntüle
sudo cat /etc/wireguard/server_private.key
sudo cat /etc/wireguard/server_public.key
# Dosya izinlerini ayarla
sudo chmod 600 /etc/wireguard/server_private.key
Sunucu Yapılandırması
# Ağ arayüzünü bul
ip route | grep default
# Örnek çıktı: default via 192.168.1.1 dev eth0
# Burada 'eth0' ağ arayüzüdür
# WireGuard yapılandırma dosyası oluştur
sudo nano /etc/wireguard/wg0.conf
# /etc/wireguard/wg0.conf — Sunucu yapılandırması
[Interface]
# WireGuard arayüzünün IP adresi
Address = 10.0.0.1/24
# WireGuard dinleme portu
ListenPort = 51820
# Sunucu özel anahtarı
PrivateKey = SUNUCU_OZEL_ANAHTARI_BURAYA
# IP yönlendirme kuralları (PostUp/PostDown)
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
# İstemci 1 (Peer)
[Peer]
# İstemci genel anahtarı
PublicKey = ISTEMCI1_GENEL_ANAHTARI
# İstemciye atanan IP
AllowedIPs = 10.0.0.2/32
# İstemci 2 (Peer)
[Peer]
PublicKey = ISTEMCI2_GENEL_ANAHTARI
AllowedIPs = 10.0.0.3/32
eth0 yerine kendi ağ arayüzünüzün adını kullanın. ip route | grep default komutu ile öğrenebilirsiniz.
IP Yönlendirme Etkinleştirme
# Geçici olarak etkinleştir
sudo sysctl -w net.ipv4.ip_forward=1
# Kalıcı olarak etkinleştir
sudo nano /etc/sysctl.conf
# Şu satırı ekle veya uncomment yap:
# net.ipv4.ip_forward=1
# Değişiklikleri uygula
sudo sysctl -p
# Doğrula
cat /proc/sys/net/ipv4/ip_forward
# Çıktı: 1
Firewall Kuralları
# UFW kullanıyorsanız
sudo ufw allow 51820/udp
sudo ufw allow OpenSSH
sudo ufw enable
# UFW yönlendirme için
sudo nano /etc/default/ufw
# DEFAULT_FORWARD_POLICY="ACCEPT" olarak değiştir
sudo nano /etc/ufw/before.rules
# *filter satırından önce ekle:
# NAT tablosu
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE
COMMIT
# iptables kullanıyorsanız
sudo iptables -A INPUT -p udp --dport 51820 -j ACCEPT
sudo iptables -A FORWARD -i wg0 -j ACCEPT
sudo iptables -A FORWARD -o wg0 -j ACCEPT
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# Kuralları kalıcı yap
sudo apt install iptables-persistent -y
sudo netfilter-persistent save
WireGuard Servisini Başlatma
# WireGuard arayüzünü başlat
sudo wg-quick up wg0
# Sistem başlangıcında otomatik başlat
sudo systemctl enable wg-quick@wg0
# Durumu kontrol et
sudo wg show
# Arayüz bilgilerini görüntüle
ip addr show wg0
İstemci Yapılandırması
İstemci Anahtarı Oluşturma
# İstemci tarafında (veya sunucuda oluşturup aktarın)
wg genkey | tee client_private.key | wg pubkey > client_public.key
cat client_private.key # Özel anahtar
cat client_public.key # Genel anahtar (sunucuya eklenecek)
Linux İstemci Yapılandırması
# /etc/wireguard/wg0.conf — İstemci yapılandırması
[Interface]
# İstemcinin VPN IP adresi
Address = 10.0.0.2/24
# İstemci özel anahtarı
PrivateKey = ISTEMCI_OZEL_ANAHTARI
# DNS (isteğe bağlı)
DNS = 1.1.1.1
[Peer]
# Sunucu genel anahtarı
PublicKey = SUNUCU_GENEL_ANAHTARI
# Sunucu adresi ve portu
Endpoint = SUNUCU_IP:51820
# Hangi trafiği VPN üzerinden yönlendir
# Tüm trafik için:
AllowedIPs = 0.0.0.0/0, ::/0
# Yalnızca VPN ağı için:
# AllowedIPs = 10.0.0.0/24
# Bağlantıyı canlı tut (NAT arkasındaki istemciler için)
PersistentKeepalive = 25
# Linux istemcide bağlan
sudo wg-quick up wg0
# Bağlantıyı test et
ping 10.0.0.1
curl ifconfig.me # Dış IP'nin sunucu IP'si olduğunu doğrula
Windows İstemci Kurulumu
- WireGuard for Windows indirin ve kurun
- Uygulamayı açın → "Add Tunnel" → "Add empty tunnel"
- Aşağıdaki yapılandırmayı yapıştırın:
[Interface]
Address = 10.0.0.3/24
PrivateKey = WINDOWS_ISTEMCI_OZEL_ANAHTARI
DNS = 1.1.1.1
[Peer]
PublicKey = SUNUCU_GENEL_ANAHTARI
Endpoint = SUNUCU_IP:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
- "Activate" butonuna tıklayın
Android/iOS İstemci Kurulumu
- WireGuard uygulamasını Play Store/App Store'dan indirin
- "+" butonuna tıklayın → "Create from QR code" veya "Create from file"
- Yapılandırma dosyasını QR koda dönüştürmek için:
# Sunucuda QR kod oluştur
sudo apt install qrencode -y
qrencode -t ansiutf8 < /path/to/client.conf
Yeni İstemci Ekleme
# 1. İstemci anahtarı oluştur
wg genkey | tee /etc/wireguard/client3_private.key | wg pubkey > /etc/wireguard/client3_public.key
# 2. Sunucu yapılandırmasına ekle (servis yeniden başlatmadan)
sudo wg set wg0 peer $(cat /etc/wireguard/client3_public.key) allowed-ips 10.0.0.4/32
# 3. Kalıcı olarak kaydet
sudo wg-quick save wg0
# 4. Durumu kontrol et
sudo wg show
Sorun Giderme
# WireGuard loglarını görüntüle
sudo journalctl -u wg-quick@wg0 -f
# Bağlantı istatistikleri
sudo wg show wg0
# Paket yakalama (sorun giderme için)
sudo tcpdump -i wg0
# IP yönlendirme kontrolü
cat /proc/sys/net/ipv4/ip_forward
# Firewall kurallarını kontrol et
sudo iptables -L -n -v
sudo iptables -t nat -L -n -v
WireGuard bağlantısı kurulduktan sonra sudo wg show çıktısında latest handshake alanının güncel olması gerekir. Eğer handshake yoksa, istemci yapılandırmasındaki sunucu IP/port veya anahtarları kontrol edin.
Sonuç
WireGuard, modern ve güvenli bir VPN çözümü sunar. Basit yapılandırması ve yüksek performansı ile hem bireysel kullanım hem de kurumsal ağlar için idealdir. REXE sunucunuzda WireGuard kurarak tüm istemcilerinizin güvenli bağlantı kurmasını sağlayabilirsiniz.
İlgili Makaleler
Malware ve Rootkit Tarama: rkhunter ve ClamAV Rehberi
Linux sunucunuzu malware ve rootkit'lere karşı koruyun. rkhunter ve ClamAV kurulumu, tarama yapılandırması, sonuç yorumlama ve zamanlanmış tarama rehberi.
Fail2Ban Yapılandırma: SSH Brute-Force Koruması Rehberi
Fail2Ban ile SSH brute-force saldırılarına karşı sunucunuzu koruyun. Kurulum, jail.local yapılandırması, Nginx/Apache jail'leri, IP beyaz listesi ve e-posta bildirimleri.
Zero Trust Ağ Güvenliği: Temel Yapılandırma Rehberi
Zero Trust ağ güvenliği ilkeleri ve pratik uygulama: asla güvenme her zaman doğrula, mikro-segmentasyon, kimlik tabanlı erişim ve mevcut araçlarla uygulama rehberi.