Kendi VPN Sunucunuzu Nasıl Kurarsınız?
Bir VPS üzerinde WireGuard ile kendi sunucunuzu kurmanın adımları ve maliyeti.
Kendi VPN sunucunuzu kurmak için kiralık bir sanal sunucu (VPS) ve yarım saat yeterli. WireGuard ile kurulan sunucu hafif, hızlı ve bütün ayarları sizin elinizde. Ama kurmadan önce bunun neyi çözdüğünü ve neyi çözmediğini bilmek gerekiyor — ticari bir VPN'in yerini her durumda tutmuyor.
Protokolün kendisini WireGuard nedir yazısında anlattık. Burada adım adım kurulum var; önce karar tablosu.
Ne kazanırsınız, ne kazanmazsınız?
| Beklenti | Kendi sunucunuzla |
|---|---|
| Halka açık Wi-Fi'de trafiği şifrelemek | Evet — tam olarak bunun için iyi |
| Operatörün hangi siteye gittiğinizi görmemesi | Evet — operatör yalnızca sunucuya giden şifreli trafiği görüyor |
| Anonim olmak | Hayır — sunucu adınıza kayıtlı ve adresi yalnızca siz kullanıyorsunuz |
| Kayıt tutulmadığından emin olmak | Kısmen — siz tutmazsınız, sunucu firması ağ trafiğini yine görebilir |
| Yayın sitelerinde bölge değiştirmek | Çoğunlukla hayır — veri merkezi adresleri sık engelleniyor |
| Evdeki cihazlara dışarıdan ulaşmak | Evet — CGNAT arkasında bile |
Üçüncü satır en önemlisi. Ticari VPN'de aynı adresi yüzlerce kişi paylaşıyor; kendi sunucunuzda o adres yalnızca sizin. Sitelerin gözünde her gün aynı adresten gelen tek bir kişisiniz. Güvenmeniz gereken taraf da değişmiyor, yer değiştiriyor: VPN şirketinin yerine sanal sunucu firması. Bu değerlendirmenin nasıl yapılacağını VPN log politikası yazısında anlattık.
Son satır ise ayrı bir kullanım: hattınız operatör NAT'ı arkasındaysa evinizdeki cihaza dışarıdan doğrudan ulaşamazsınız. Evdeki bir cihaz bu sunucuya içeriden bağlanıp tüneli açık tutarsa kapı sunucuda açılıyor. Durumu CGNAT nedir yazısında anlattık.
Ne gerekiyor?
- Sanal sunucu: 1 çekirdek ve 512 MB – 1 GB bellek yeterli; WireGuard işlemciyi neredeyse hiç yormuyor. En küçük plan çoğu zaman yetiyor.
- Trafik kotası: asıl seçim kriteri bu. Aylık kotayı ve aşınca ne olduğunu — hız kısıtı mı, ek ücret mi — okuyun.
- Konum: size yakın bir ülke. Uzak sunucu her isteğe gidiş dönüş süresi ekliyor; VPN hız düşürür mü yazısındaki mesafe kuralı burada da geçerli.
- İşletim sistemi: Ubuntu ya da Debian. Aşağıdaki komutlar bunlar için.
Kurulum: sunucu tarafı
- Sunucuya SSH ile bağlanın. Parola yerine anahtar kullanın; nedenini SSH portu yazısında anlattık.
- Sistemi güncelleyin:
sudo apt update && sudo apt upgrade - WireGuard'ı kurun:
sudo apt install wireguard - Anahtar dosyalarını yalnızca sizin okuyabileceğiniz biçimde üretin: önce
umask 077, sonrawg genkey | tee sunucu.key | wg pubkey > sunucu.pubve aynısınıistemci.key/istemci.pubiçin. - Yönlendirmeyi açın:
/etc/sysctl.confdosyasınanet.ipv4.ip_forward=1satırını ekleyipsudo sysctl -pçalıştırın. - Sunucunun internete çıkan arayüzünün adını öğrenin:
ip route show default— çıktıdakidevkelimesinden sonraki ad. Çoğu sunucudaeth0, bazılarındaens3gibi.
Şimdi /etc/wireguard/wg0.conf dosyasını oluşturun. Satırlar
ve anlamları:
| Satır | Anlamı |
|---|---|
| [Interface] | Sunucunun kendi ayarları |
| Address = 10.8.0.1/24 | Tünelin içindeki sunucu adresi |
| ListenPort = 51820 | Dinlenen UDP portu |
| PrivateKey = ... | sunucu.key dosyasının içeriği |
| PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE | Tünelden gelen trafiği sunucunun adresiyle dışarı çıkarır |
| PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE | Tünel kapanınca kuralı kaldırır |
| [Peer] | Bağlanacak cihaz |
| PublicKey = ... | istemci.pub dosyasının içeriği |
| AllowedIPs = 10.8.0.2/32 | Bu cihazın tünel içindeki adresi |
eth0 yerine altıncı adımda bulduğunuz adı yazın. Her yeni
cihaz için ayrı bir anahtar çifti ve ayrı bir [Peer] bloğu
ekleyin; adresler 10.8.0.3, 10.8.0.4 diye
devam ediyor.
Başlatmak ve açılışta otomatik çalıştırmak için
sudo systemctl enable --now wg-quick@wg0. Durumu
sudo wg show gösteriyor.
Güvenlik duvarı: iki tuzak
Sunucuda ufw kullanıyorsanız sıra önemli:
sudo ufw allow OpenSSH— önce bu. Güvenlik duvarını SSH izni vermeden açarsanız bağlantınız kesiliyor ve sunucuya yalnızca firmanın web konsolundan girebiliyorsunuz.sudo ufw allow 51820/udpsudo ufw route allow in on wg0 out on eth0sudo ufw enable
Üçüncü satır ikinci tuzak. ufw varsayılan olarak
yönlendirilen trafiği reddediyor. Bu satır olmadan tünel kuruluyor,
wg show el sıkışmayı gösteriyor, ama internet açılmıyor.
En sık sorulan "bağlandı ama internet yok" sorusunun cevabı çoğu zaman
bu.
İstemci tarafı
Cihaz için bir istemci.conf dosyası:
| Satır | Anlamı |
|---|---|
| [Interface] | Cihazın kendi ayarları |
| PrivateKey = ... | istemci.key dosyasının içeriği |
| Address = 10.8.0.2/32 | Sunucudaki AllowedIPs ile aynı |
| DNS = 1.1.1.1 | Tünel açıkken kullanılacak DNS |
| [Peer] | Sunucu |
| PublicKey = ... | sunucu.pub dosyasının içeriği |
| Endpoint = SUNUCU_IP:51820 | Sunucunun genel adresi ve portu |
| AllowedIPs = 0.0.0.0/0, ::/0 | Bütün trafik tünelden gitsin |
| PersistentKeepalive = 25 | Modemin NAT tablosunda bağlantıyı canlı tutar |
Telefona aktarmanın en kolay yolu QR kod: sunucuda
sudo apt install qrencode, sonra
qrencode -t ansiutf8 < istemci.conf. Terminalde çıkan
kodu WireGuard uygulamasıyla okutun. Bilgisayarda dosyayı uygulamaya
içe aktarmak yeterli.
::/0 kısmını silmeyin. Sunucunuz IPv6
çıkışı yapmıyorsa bu satır IPv6 trafiğini tünele alıp orada düşürüyor
ve siteler IPv4'e dönüyor — istenen davranış bu. Satırı silerseniz
IPv6 trafiği tünelin dışından, gerçek adresinizle gidiyor.
Doğrulama
- Tüneli açın ve sorgulama aracına bakın: sunucunun adresi ve ülkesi görünmeli.
- IP sızıntısı testini yapın; IPv6 ve WebRTC satırlarında gerçek adresiniz çıkmamalı.
- DNS sızıntısını kontrol edin; sorgular operatörünüzün sunucusundan geçmemeli.
Bakım ve bilinen sorunlar
- Güncellemeler sizde. Güvenlik yamalarını kimse sizin yerinize yapmıyor;
unattended-upgradespaketi otomatik güvenlik güncellemesi için var. - UDP engelli ağlar. Bazı otel ve kurum ağları 51820 gibi portları kapatıyor.
ListenPortdeğerini 443 gibi yaygın bir UDP portuna almak çoğu zaman işe yarıyor. WireGuard yalnızca UDP konuştuğu için UDP'yi tamamen kapatan ağda çalışmıyor; orada başka bir protokol gerekiyor. - Kopma koruması. Windows istemcisinde bütün trafik tünele yönlendirildiğinde tünel dışı trafiği engelleme seçeneği çıkıyor; açık tutun. Mantığı kill switch yazısında.
- Captcha ve engeller. Veri merkezi adresleri bazı sitelerde daha sık doğrulama istiyor. Sunucunun adresinin daha önce kötüye kullanılıp kullanılmadığı sizin elinizde değil.
Sıkça sorulan sorular
Kendi VPN sunucumu kurmak zor mu?
Linux komut satırına biraz alışkınsanız hayır. Kiralık bir sanal sunucuya WireGuard kurmak, anahtar üretmek ve iki yapılandırma dosyası yazmak yarım saat kadar sürer.
Kendi VPN sunucum beni anonim yapar mı?
Hayır. Sunucu adınıza kayıtlıdır ve adresini yalnızca siz kullanırsınız. Halka açık ağda şifreleme ve operatörden gizlenme sağlar ama anonimlik sağlamaz.
Tünel kuruldu ama internet açılmıyor, neden?
En sık sebep sunucudaki güvenlik duvarının yönlendirilen trafiği reddetmesi ya da IP yönlendirmenin açılmamasıdır. ufw route allow kuralını ve net.ipv4.ip_forward ayarını kontrol edin.
VPN sunucusu için ne kadar güçlü bir sunucu gerekir?
WireGuard çok hafiftir; 1 çekirdek ve 512 MB ile 1 GB arası bellek birkaç cihaz için yeterlidir. Asıl seçim kriteri aylık trafik kotası ve sunucunun size olan uzaklığıdır.
Kendi VPN’imle yayın sitelerinde bölge değiştirebilir miyim?
Çoğu zaman hayır. Yayın siteleri veri merkezlerine ait adresleri tanıyıp engelleyebiliyor. Kendi sunucunuz bu iş için değil, şifreleme ve uzaktan erişim için uygundur.