İçeriğe geç
ipkontrol.net

VPN

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?

BeklentiKendi sunucunuzla
Halka açık Wi-Fi'de trafiği şifrelemekEvet — tam olarak bunun için iyi
Operatörün hangi siteye gittiğinizi görmemesiEvet — operatör yalnızca sunucuya giden şifreli trafiği görüyor
Anonim olmakHayır — sunucu adınıza kayıtlı ve adresi yalnızca siz kullanıyorsunuz
Kayıt tutulmadığından emin olmakKı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şmakEvet — 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ı

  1. Sunucuya SSH ile bağlanın. Parola yerine anahtar kullanın; nedenini SSH portu yazısında anlattık.
  2. Sistemi güncelleyin: sudo apt update && sudo apt upgrade
  3. WireGuard'ı kurun: sudo apt install wireguard
  4. Anahtar dosyalarını yalnızca sizin okuyabileceğiniz biçimde üretin: önce umask 077, sonra wg genkey | tee sunucu.key | wg pubkey > sunucu.pub ve aynısını istemci.key / istemci.pub için.
  5. Yönlendirmeyi açın: /etc/sysctl.conf dosyasına net.ipv4.ip_forward=1 satırını ekleyip sudo sysctl -p çalıştırın.
  6. Sunucunun internete çıkan arayüzünün adını öğrenin: ip route show default — çıktıdaki dev kelimesinden sonraki ad. Çoğu sunucuda eth0, bazılarında ens3 gibi.

Şimdi /etc/wireguard/wg0.conf dosyasını oluşturun. Satırlar ve anlamları:

SatırAnlamı
[Interface]Sunucunun kendi ayarları
Address = 10.8.0.1/24Tünelin içindeki sunucu adresi
ListenPort = 51820Dinlenen UDP portu
PrivateKey = ...sunucu.key dosyasının içeriği
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADETünelden gelen trafiği sunucunun adresiyle dışarı çıkarır
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADETü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/32Bu 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:

  1. 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.
  2. sudo ufw allow 51820/udp
  3. sudo ufw route allow in on wg0 out on eth0
  4. sudo 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ırAnlamı
[Interface]Cihazın kendi ayarları
PrivateKey = ...istemci.key dosyasının içeriği
Address = 10.8.0.2/32Sunucudaki AllowedIPs ile aynı
DNS = 1.1.1.1Tünel açıkken kullanılacak DNS
[Peer]Sunucu
PublicKey = ...sunucu.pub dosyasının içeriği
Endpoint = SUNUCU_IP:51820Sunucunun genel adresi ve portu
AllowedIPs = 0.0.0.0/0, ::/0Bütün trafik tünelden gitsin
PersistentKeepalive = 25Modemin 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

  1. Tüneli açın ve sorgulama aracına bakın: sunucunun adresi ve ülkesi görünmeli.
  2. IP sızıntısı testini yapın; IPv6 ve WebRTC satırlarında gerçek adresiniz çıkmamalı.
  3. 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-upgrades paketi otomatik güvenlik güncellemesi için var.
  • UDP engelli ağlar. Bazı otel ve kurum ağları 51820 gibi portları kapatıyor. ListenPort değ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.