OffshoreVps
Güvenlik17 Eyl 202610 dk okumaYazan: OffshoreVps ekibi

VPS’te kendi WireGuard VPN’inizi kurun

Adım adım: WireGuard’ı Ubuntu veya Debian’a kurun, anahtarlar oluşturun, sunucu ve istemci yapılandırmalarını yazın, güvenlik duvarını açın ve tüneli test edin.

WireGuard, hızlı, küçük ve yapılandırması kolay modern bir VPN protokolüdür. Kendinizinkini bir VPS üzerinde çalıştırmak, aradaki üçüncü taraf bir VPN şirketi olmadan, seçtiğiniz ülkedeki bir sunucuya şifreli bir tünel verir. Bu rehber Ubuntu 24.04 veya Debian 12/13 kullanır ve sunucuyu zaten güvenceye aldığınızı varsayar.

WireGuard kurulumunda kullanılan komutları gösteren VPS üzerindeki terminal penceresi, “sudo apt update” ile başlıyor
Bu rehberde sunucunuzda çalıştıracağınız komutlardan örnekler.

1. WireGuard'ı kurun

sudo apt update
sudo apt install -y wireguard

2. Sunucu anahtarlarını oluşturun

cd /etc/wireguard
umask 077
wg genkey | tee server.key | wg pubkey > server.pub

umask 077, anahtar dosyalarının yalnızca root tarafından okunabilmesini sağlar. server.key dosyasını gizli tutun.

3. İstemci anahtarlarını oluşturun

Dizüstü bilgisayarınız veya telefonunuz için sunucuda bir anahtar çifti oluşturun ve istemci yapılandırmasını sonra kopyalayın:

wg genkey | tee client1.key | wg pubkey > client1.pub

4. Sunucu yapılandırmasını yazın

Önce genel ağ arayüzünüzün adını bulun:

ip route get 1.1.1.1 | awk '{print $5; exit}'

Genellikle eth0 veya ens3 olur. /etc/wireguard/wg0.conf dosyasını oluşturun ve büyük harfli değerleri kendi değerlerinizle değiştirin:

[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY
PostUp   = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ETH_IF -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o ETH_IF -j MASQUERADE

[Peer]
# client1
PublicKey = CLIENT1_PUBLIC_KEY
AllowedIPs = 10.8.0.2/32

server.key ve client1.pub içeriğini belirtilen yerlere yapıştırın ve ETH_IF yerine arayüz adınızı yazın.

5. IP yönlendirmeyi açın

echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/99-wireguard.conf
sudo sysctl --system
Bu rehberin adımları sırasıyla: 1. 1. WireGuard’ı kurun; 2. 3. İstemci anahtarlarını oluşturun; 3. 5. IP yönlendirmeyi açın; 4. 7. Tüneli başlatın; 5. 9. Test edin; 6. Konum seçimi
Bu rehberdeki adımlar sırasıyla.

6. Güvenlik duvarını açın

sudo ufw allow 51820/udp
sudo ufw route allow in on wg0
sudo ufw reload

7. Tüneli başlatın

sudo systemctl enable --now wg-quick@wg0
sudo wg show

Arayüzü ve bir istemci bağlandığında son el sıkışmasını (handshake) görmelisiniz.

8. İstemciyi yapılandırın

Cihazınızda şöyle bir yapılandırma oluşturun (Windows, macOS, Linux, iOS ve Android için resmi WireGuard uygulamaları bunu bir dosyadan veya QR kodundan içe aktarabilir):

[Interface]
Address = 10.8.0.2/24
PrivateKey = CLIENT1_PRIVATE_KEY
DNS = 1.1.1.1

[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = YOUR_SERVER_IP:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25

AllowedIPs = 0.0.0.0/0, ::/0 kullanmak tüm trafiği tünelden geçirir. Yalnızca özel ağınıza ulaşmak için bunun yerine 10.8.0.0/24 kullanın.

9. Test edin

  1. İstemcide tüneli etkinleştirin.
  2. Sunucuda sudo wg show komutunu çalıştırın ve yakın zamanlı bir el sıkışma olduğunu doğrulayın.
  3. İstemciden bir "IP adresim nedir" sayfasını ziyaret edin. Sunucunuzun adresini göstermelidir.
  4. Amaç gizlilikse DNS sızıntılarını kontrol edin ve sunucunuzda IPv6 varsa IPv6 kuralları ekleyin.

Daha fazla cihaz ekleme

Her yeni cihaz için bir anahtar çifti oluşturun, başka bir [Peer] bloğunu 10.8.0.3/32 gibi yeni bir adresle ekleyin ve mevcut bağlantıları düşürmeden uygulamak için sudo wg syncconf wg0 <(wg-quick strip wg0) komutunu çalıştırın.

Konum seçimi

Bir WireGuard sunucusu konumlarımızın herhangi birinde çalışır. Hız için size yakın birini veya trafiğinizin hangi ülkenin IP adresinden çıkmasını istiyorsanız o ülkedekini seçin. Bkz. VPS konumu nasıl seçilir. Kişisel bir tünel için küçük bir VPS fazlasıyla yeterlidir.