VPS'e WireGuard VPN Kurulumu (Ubuntu 24.04)
Kendi VPN sunucunuzu kurmak sandığınızdan kolay. Ubuntu 24.04 bir VPS'e WireGuard kurulumunu, güvenlik duvarı ayarlarını ve telefon için QR kodlu istemci yapılandırmasını adım adım anlatıyoruz.
Ortak VPN servislerinde aynı IP adresini yüzlerce, hatta binlerce kişi paylaşır; trafiğinizin nereden geçtiğini de tam olarak bilemezsiniz. Kendi VPN sunucunuzu kurmak bu iki sorunu birden çözer: IP adresi yalnızca sizindir ve sunucunun anahtarları sizin elinizdedir. Bu rehberde Ubuntu 24.04 çalışan bir VPS'e WireGuard kurulumu yapacak, güvenlik duvarını ayarlayacak ve bilgisayarınızla telefonunuzu bağlayacağız. Toplam süre, komutları kopyalayarak ilerlerseniz 15–20 dakikadır.
WireGuard nedir, neden WireGuard?
WireGuard, Linux çekirdeğine dahil edilmiş modern bir VPN protokolüdür. OpenVPN ve IPsec'e göre çok daha az kodla yazılmıştır, yapılandırması birkaç satırdan ibarettir ve düşük donanımlı sunucularda bile hızlı çalışır. Bağlantı UDP üzerinden kurulur ve her cihaz bir anahtar çiftiyle (özel/genel anahtar) tanımlanır; kullanıcı adı ve şifre yoktur.
Kendi VPN sunucunuzun tipik kullanım alanları şunlardır:
- Halka açık Wi-Fi ağlarında şifreleme: Kafe, otel veya havalimanı ağlarında trafiğiniz sunucunuza kadar şifreli gider.
- Sabit IP ile uzaktan yönetim: Sunucularınızın SSH portunu ya da yönetim panellerini yalnızca VPN IP'nize açabilirsiniz (IP allowlist).
- Ev veya ofis servislerine erişim: Yerel ağınızdaki servislere VPN tüneli üzerinden güvenli şekilde ulaşabilirsiniz.
VPN kullanımına ilişkin kurallar ülkeden ülkeye değişir. Bulunduğunuz yerin yasalarına ve sunucu sağlayıcınızın hizmet sözleşmesine uygun davranmak sizin sorumluluğunuzdadır.
Başlamadan önce
- Ubuntu 24.04 kurulu bir VPS ve root (veya sudo) erişimi. Sunucuya nasıl bağlanacağınızı bilmiyorsanız SSH nedir yazımıza bakın.
- Sunucunun kendisine ait genel (public) bir IPv4 adresi olmalı ve seçeceğiniz UDP portuna (bu rehberde 51820) dışarıdan erişilebilmelidir. TürkiyeVPS'te paket özelliklerinde 1 özel IPv4 adresi yazan planlar, örneğin VDS Enterprise paketleri, bu koşulu karşılar. Standart VPS ve VDS paketlerinin özelliklerinde ayrı bir genel IPv4 adresi yer almaz; bu paketlerde WireGuard kurmayı düşünüyorsanız önce destek ekibimize danışın.
- Sunucunun temel güvenliğini henüz yapmadıysanız önce Linux sunucu güvenliği rehberindeki adımları uygulamanızı öneririz.
1. WireGuard'ı kurun
sudo apt update
sudo apt install -y wireguard qrencode
wireguard paketi wg ve wg-quick araçlarını getirir; qrencode ise telefon için QR kod üretmekte kullanılacak.
2. Anahtarları oluşturun
Sunucu ve ilk istemci (ör. dizüstü bilgisayarınız) için anahtar çiftlerini üretelim. umask 077, oluşturulan dosyaları yalnızca root'un okuyabilmesini sağlar:
sudo -i
cd /etc/wireguard
umask 077
wg genkey | tee server.key | wg pubkey > server.pub
wg genkey | tee client1.key | wg pubkey > client1.pub
Özel anahtarlar (.key) asla paylaşılmamalıdır. Genel anahtarları (.pub) karşı tarafın yapılandırmasına yazacağız.
3. Genel ağ arayüzünün adını bulun
NAT kuralları için sunucunun internete çıktığı arayüzün adını bilmemiz gerekiyor. Bu ad her sunucuda eth0 olmayabilir:
ip route show default
Çıktı default via 203.0.113.1 dev ens3 ... gibiyse arayüz adınız ens3'tür. Aşağıdaki örneklerde eth0 yazan yerleri kendi arayüz adınızla değiştirin.
4. Sunucu yapılandırması: wg0.conf
nano /etc/wireguard/wg0.conf
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = SUNUCU_OZEL_ANAHTARI
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
# client1 - dizustu
PublicKey = CLIENT1_GENEL_ANAHTARI
AllowedIPs = 10.8.0.2/32
SUNUCU_OZEL_ANAHTARI yerine cat server.key, CLIENT1_GENEL_ANAHTARI yerine cat client1.pub çıktısını yapıştırın. 10.8.0.0/24, VPN içindeki özel ağdır: sunucu 10.8.0.1, ilk istemci 10.8.0.2 adresini alır.
5. IP yönlendirmesini açın
Sunucunun istemciden gelen trafiği internete aktarabilmesi için IPv4 yönlendirmesi açık olmalıdır:
echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/99-wireguard.conf
sysctl --system
Ayarın uygulandığını sysctl net.ipv4.ip_forward komutuyla kontrol edebilirsiniz; sonuç = 1 olmalı.
6. Güvenlik duvarı (UFW)
UFW kullanıyorsanız hem WireGuard portuna hem de tünelden internete yönlendirmeye izin vermeniz gerekir. SSH kuralını eklemeden UFW'yi açmayın, aksi hâlde bağlantınız kopar:
ufw allow OpenSSH
ufw allow 51820/udp
ufw route allow in on wg0 out on eth0
ufw enable
ufw status verbose
ufw route allow satırı, UFW'nin varsayılan olarak engellediği yönlendirilmiş trafiğe yalnızca wg0'dan dış arayüze doğru izin verir. Alternatif olarak /etc/default/ufw dosyasında DEFAULT_FORWARD_POLICY="ACCEPT" yapabilirsiniz, ancak bu tüm yönlendirmeyi açtığı için daha geniş bir izindir; route kuralı daha temizdir.
7. WireGuard'ı başlatın
systemctl enable --now wg-quick@wg0
wg show
wg show çıktısında interface: wg0, dinlenen port ve tanımlı peer görünmelidir. enable sayesinde sunucu yeniden başladığında tünel otomatik açılır.
8. İstemci yapılandırması
İstemci dosyasını sunucuda hazırlayıp cihaza aktarmak en pratik yoldur:
nano /etc/wireguard/client1.conf
[Interface]
PrivateKey = CLIENT1_OZEL_ANAHTARI
Address = 10.8.0.2/32
DNS = 1.1.1.1
[Peer]
PublicKey = SUNUCU_GENEL_ANAHTARI
Endpoint = SUNUCU_IP:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
AllowedIPs = 0.0.0.0/0: Tüm IPv4 trafiği tünelden geçer. Yalnızca VPN içindeki ağa erişmek istiyorsanız bunu10.8.0.0/24yapın.- IPv6 notu: Sunucuda IPv6 tüneli yapılandırmadıysanız IPv6 trafiği tünel dışından gidebilir.
AllowedIPssatırına, ::/0eklerseniz IPv6 trafiği tünele yönlenir; sunucuda IPv6 ayarı yoksa bu trafik çalışmaz ama dışarı da sızmaz. PersistentKeepalive = 25: NAT arkasındaki cihazlarda (mobil hat, ev modemi) bağlantının düşmemesine yardımcı olur.
Bilgisayar için: WireGuard'ın resmî istemcisini (Windows, macOS, Linux) kurun ve client1.conf dosyasını içe aktarın. Dosyayı sunucudan güvenli şekilde almak için scp kullanabilirsiniz.
Telefon için: WireGuard uygulamasında "QR koddan oluştur" seçeneğini kullanın. Sunucuda şu komut terminalde bir QR kod çizer:
qrencode -t ansiutf8 < /etc/wireguard/client1.conf
Bağlandıktan sonra istemcide herhangi bir "IP adresim nedir" sayfasını açtığınızda VPS'inizin IP adresini görmelisiniz.
9. Yeni cihaz eklemek
Her cihaz için ayrı bir anahtar çifti ve ayrı bir VPN IP adresi kullanın. Yeni bir istemci (ör. telefon, 10.8.0.3) için:
cd /etc/wireguard
umask 077
wg genkey | tee client2.key | wg pubkey > client2.pub
Hızlı yol (anlık):
wg set wg0 peer "$(cat client2.pub)" allowed-ips 10.8.0.3/32
Bu komut peer'i hemen ekler ama yeniden başlatmada kaybolur. Kalıcı olması için wg0.conf dosyasına yeni bir [Peer] bloğu ekleyin ve bağlantıları koparmadan yeniden yükleyin:
wg syncconf wg0 <(wg-quick strip wg0)
Bir cihazı kaybederseniz ilgili [Peer] bloğunu silip aynı komutla yapılandırmayı yeniden yüklemeniz yeterlidir; o anahtar artık bağlanamaz.
Sorun giderme
- Bağlanıyor ama internet yok:
sysctl net.ipv4.ip_forwarddeğerini,PostUpsatırındaki arayüz adını veufw routekuralını kontrol edin. - Hiç el sıkışma (handshake) yok:
wg showçıktısında "latest handshake" görünmüyorsa UDP 51820 portu engelleniyor olabilir veya anahtarlar yanlış eşleşmiştir. SunucudakiPublicKeyistemcinin genel anahtarı, istemcidekiPublicKeysunucunun genel anahtarı olmalıdır. - Günlükler:
journalctl -u wg-quick@wg0komutu başlatma hatalarını gösterir.
Sık Sorulan Sorular
WireGuard mı OpenVPN mi?
WireGuard daha yeni, daha hızlı ve yapılandırması daha basittir; çoğu kişisel kullanım için iyi bir varsayılandır. OpenVPN ise TCP üzerinden çalışabilmesi ve uzun süredir yaygın olması nedeniyle bazı kurumsal ortamlarda hâlâ tercih edilir.
Kendi VPN sunucum için ne kadar kaynak gerekir?
WireGuard çok hafiftir. Birkaç kişisel cihaz için 1 vCPU ve 512 MB RAM genellikle yeterlidir. Asıl belirleyici olan işlemci değil, sunucunun kendine ait genel bir IP adresinin olması ve ağ bağlantısının kalitesidir.
Kurulumla uğraşmak istemiyorum, hazır seçenek var mı?
Var. TürkiyeVPS'in VPN sunucu paketlerinde WireGuard veya OpenVPN sunucusu ödeme sonrası otomatik kurulur, size özel bir IP adresi verilir ve bağlantı dosyanızı müşteri panelinden indirirsiniz.
Kendi VPN'iniz İstanbul'da
Kurulumu kendiniz yapmak isterseniz size özel 1 IPv4 adresiyle gelen VDS Enterprise paketlerimize göz atın; root erişimi ve limitsiz trafik içerir. Hazır, size özel IP'li bir WireGuard sunucusu tercih ederseniz aylık $1.79'dan başlayan VPN sunucu paketlerimize bakın; sunucu ödeme sonrası otomatik kurulur. Sorularınız için sitedeki canlı destekten veya müşteri panelindeki destek talebinden bize ulaşabilirsiniz.
Bunları da okuyun
Size özel bir Türkiye IPv4 adresiyle çalışan WireGuard veya OpenVPN sunucusu nasıl çalışır, ödemeden sonra ne...
Sunucunuz internete açıldığı andan itibaren otomatik botlar tarafından taranmaya başlar. Yeni bir Linux VPS'i...
Adres çubuğundaki kilit simgesi, sitenizle ziyaretçi arasındaki bağlantının şifrelendiğini gösterir. SSL/TLS'n...