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.
Tidak ada komentar:
Posting Komentar