Senin, 21 Juli 2025

WireGuard ile Point-to-Point VPN Kurulumu

| Senin, 21 Juli 2025

Bu doküman, erişilebilir bir uzak sistem ile yerel bir Linux sistemi arasında WireGuard kullanarak point-to-point VPN bağlantısının nasıl kurulacağını anlatmaktadır.

WireGuard; hızlı, sade ve modern kriptografi kullanan bir VPN çözümüdür. Geleneksel VPN çözümlerine kıyasla çok daha az konfigürasyon gerektirir ve düşük kaynak tüketimi ile yüksek performans sunar.

Gereksinimler

  • Uzakta çalışan ve erişilebilen bir Linux makine (örneğin VPS, fiziksel sunucu veya yönlendirilmiş bir NAT cihazı)
  • Yerel bir Linux sistem (örneğin dizüstü bilgisayar, ofis sunucusu)
  • Her iki uçta root/sudo erişimi
  • İnternet bağlantısı ve gerekiyorsa güvenlik duvarı izinleri

1. WireGuard Kurulumu

sudo apt update
sudo apt install wireguard -y

WireGuard kurulumunun ardından, her iki uç için ayrı ayrı anahtar çifti oluşturulması gerekmektedir.

2. Anahtar Üretimi

wg genkey | tee privatekey | wg pubkey > publickey

Bu komut ile her cihaz için bir özel ve bir genel anahtar üretilmiş olur. Genel anahtar karşı tarafa verilir, özel anahtar ise yalnızca yerel cihazda kalmalıdır.

3. Yapılandırma Örnekleri

Aşağıdaki örneklerde, sunucu 10.0.0.1 adresini, istemci ise 10.0.0.2 adresini kullanmaktadır. Her iki uç, aynı sanal ağ (örneğin 10.0.0.0/24) içinde yer almalıdır.

Not: İstemci konfigürasyonundaki Endpoint = <sunucu_ip>:51820 satırı, istemcinin sunucuya hangi IP ve port üzerinden bağlanacağını belirtir. Bu IP, genellikle sunucunun public IP adresidir veya eğer aynı ağ üzerindeyseler, sunucunun erişilebilir lokal IP'si de olabilir. Eğer sunucu NAT arkasındaysa, bu port yönlendirilmiş olmalıdır. Bu satır olmadan istemci bağlantıyı başlatamaz.

Sunucu (10.0.0.1)

[Interface]
PrivateKey = <sunucu_private>
Address = 10.0.0.1/24
ListenPort = 51820

[Peer]
PublicKey = <istemci_public>
AllowedIPs = 10.0.0.2/32
PersistentKeepalive = 25

İstemci (10.0.0.2)

[Interface]
PrivateKey = <istemci_private>
Address = 10.0.0.2/24
ListenPort = 51821

[Peer]
PublicKey = <sunucu_public>
Endpoint = <sunucu_ip>:51820
AllowedIPs = 10.0.0.1/32
PersistentKeepalive = 25

4. Firewall Ayarı (Sunucu)

sudo ufw allow 51820/udp
# veya
sudo iptables -A INPUT -p udp --dport 51820 -j ACCEPT

Sunucunun güvenlik duvarı yapılandırması, UDP 51820 portunun dışarıdan ulaşılabilir olmasını sağlamalıdır.

5. Servis Başlatma

sudo systemctl start wg-quick@wg0
sudo systemctl start wg-quick@wg1

Servisler başladıktan sonra, VPN tüneli otomatik olarak kurulacaktır.

6. Bağlantı Kontrolü

sudo wg show
ping 10.0.0.1
ping 10.0.0.2

wg show komutu ile bağlantı durumu ve handshake zamanları takip edilebilir. ping komutları ise veri iletiminin sağlıklı çalıştığını gösterir.

Yeni Peer Ekleme (10.0.0.3)

WireGuard tek bir peer ile sınırlı değildir. Aynı sunucuya birden fazla istemci bağlanabilir. Bunun için sunucuya yeni [Peer] blokları eklenir.

Sunucuya ek:

[Peer]
PublicKey = <yeni_peer_public>
AllowedIPs = 10.0.0.3/32
PersistentKeepalive = 25

Yeni istemci konfigürasyonu:

[Interface]
PrivateKey = <peer_private>
Address = 10.0.0.3/24
ListenPort = 51822

[Peer]
PublicKey = <sunucu_public>
Endpoint = <sunucu_ip>:51820
AllowedIPs = 10.0.0.1/32
PersistentKeepalive = 25

WireGuard ile sade, modern ve hızlı VPN yapıları kurmak oldukça esnektir. Bu yapı hem kişisel projelerde hem de üretim ortamlarında güvenle kullanılabilir.


Related Posts

Tidak ada komentar:

Posting Komentar