İçeriğe geç
NetDevOps
3 dk okuma DevOps

Wireguard VPN Kurulumu

VPN (Virtual Private Network) teknolojisi, gunumuzde guvenli ag iletisimi icin vazgecilmez hale gelmistir. Wireguard, modern, hizli ve guvenli bir VPN cozumudur. Bu rehberde Wireguard VPN kurulumunu ve yapilandirmasini adim adim inceleyecegiz.

Wireguard Nedir?

Wireguard, Linux kerneline gomulu olarak gelen, OpenVPN'e kiyla daha basit ve hizli bir VPN protokoludur. Yaklasik 4000 satir kod ile yazilmis olup, diger VPN cozumlerine gore oldukca hafiftir. Performans testlerinde OpenVPN ve IPSec'in onunde yer alir.

Wireguard'in temel avantajlari sunlardir: basit yapilandirma, yuksel performans, modern sifreleme algoritmalari ve最小 kod tabani. Bu ozellikler, hem ev kullanicilarinin hem de kurumsal ortamlarin tercih sebebi olmaktadir.

Kurulum

Wireguard kurulumu, kullandiginiz dagitima gore farklilik gosterir. Ubuntu ve Debian sistemlerde apt ile kurulum yapilabilir:

sudo apt update
sudo apt install wireguard -y

CentOS/RHEL sistemlerde:

sudo yum install epel-release -y
sudo yum install wireguard-tools -y

Kurulum tamamlandiktan sonra Wireguard modulu yuklenmis olmali:

lsmod | grep wireguard

Modul otomatik yuklenmediyse:

sudo modprobe wireguard

Sunucu Yapilandirmasi

Oncelikle anahtar cifti olusturalim:

wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey

Bu komutlar private ve public anahtarlari olusturur. Private anahtari gizli tutmali, public anahtari istemcilerle paylasmaliyiz.

Sunucu yapilandirma dosyasi olusturalim:

sudo nano /etc/wireguard/wg0.conf

Yapilandirma icerigi:

[Interface]
Address = 10.0.0.1/24
PrivateKey = SUNUCU_PRIVATE_KEY
ListenPort = 51820
PostUp = iptables -A FORWARD -i %i -j ACCEPT
PostUp = iptables -A FORWARD -o %i -j ACCEPT
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT
PostDown = iptables -D FORWARD -o %i -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

Bu yapilandirmada sunucu IP'si 10.0.0.1/24 olarak ayarlanmistir. ListenPort 51820 varsayilan Wireguard portudur. PostUp ve PostDown kurallari, VPN trafiginin internet'e yonlendirilmesini saglar.

Istemci Yapilandirmasi

Istemci tarafinda da anahtar cifti olusturulmali:

wg genkey | tee client-privatekey | wg pubkey | tee client-publickey

Istemci yapilandirma dosyasi:

[Interface]
PrivateKey = ISTEMCI_PRIVATE_KEY
Address = 10.0.0.2/24
DNS = 1.1.1.1

[Peer]
PublicKey = SUNUCU_PUBLIC_KEY
Endpoint = SUNUCU_IP:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

AllowedIPs = 0.0.0.0/0 tum trafigi VPN uzerinden gecirir. Sadece belirli IP'leri yonlendirmek istiyorsaniz, ornegin 10.0.0.0/24 yazabilirsiniz.

Sunucuya Istemci Ekleme

Sunucu tarafinda istemciyi eklemek icin:

sudo wg set wg0 peer ISTEMCI_PUBLIC_KEY allowed-ips 10.0.0.2/32

veya wg0.conf dosyasina ekleyerek:

[Peer]
PublicKey = ISTEMCI_PUBLIC_KEY
AllowedIPs = 10.0.0.2/32

Servisi Baslatma

Yapilandirma tamamlandiktan sonra servisi baslatalim:

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

Servis durumunu kontrol edelim:

sudo wg show wg0

Firewall Yapilandirmasi

Sunucuda firewall kullaniliyorsa Wireguard portuna izin verilmeli:

sudo ufw allow 51820/udp

UFW kullaniyorsaniz:

sudo ufw enable
sudo ufw status

Baglanti Testi

Istemci yapilandirmasini .conf dosyasi olarak kaydedip Wireguard istemcisi ile baglanabilirsiniz. Baglanti成功后 sunucu tarafindan ping testi yapilabilir:

ping 10.0.0.1

Internet erisimi icin:

ping 8.8.8.8

Sonuc

Wireguard VPN, modern guvenli ag iletisimi icin ideal bir cozumdur. Basit kurulumu, yuksel performansi ve guclu sifrelemesi ile tercih edilmektedir. Bu rehberde anlatilan adimlari takip ederek kendi VPN sunucunuzu kurabilir ve guvenli baglanti saglayabilirsiniz.