WireGuard mı OpenVPN mi? Hangisi self-hosting için?
Tek VPS kullanıcısı için WireGuard hız, yaklaşık 10 satırlık yapılandırma ve daha küçük denetim yüzeyiyle öne çıkar. OpenVPN’in kazandığı 4 durumu öğrenin.
Kısa yanıt
Kendi VPS sunucusunda VPN sunan tek kişi için WireGuard ile OpenVPN arasında gerçek bir rekabet yoktur: WireGuard seçilmelidir. Daha küçüktür, Linux çekirdeği içinde çalışır, saniyenin çok küçük bir bölümünde bağlantı kurar ve çalışan bir istemci yapılandırması yaklaşık on satırdır. OpenVPN'in dört gerçek kullanım alanı vardır. Bunların hiçbiri sizin durumunuz için geçerli değilse OpenVPN'e ihtiyacınız yoktur.
Bu dört kullanım alanı şunlardır: yalnızca TCP port 443'e izin veren bir ağdan çıkmak, mevcut bir sertifika yetkilisine bağlanmak, adlandırılmış kullanıcıların parolayla veya ikinci faktörle kimlik doğrulamasını yapmak ve Layer 2 düzeyinde köprüleme gerçekleştirmek. Aşağıdaki bölümlerde bu önerinin dayanakları ve her istisnanın sizin için geçerli olmaya başladığı nokta açıklanmaktadır.
WireGuard’ın self-hosting kullanıcıları tarafından tercih edilmesinin nedenleri
Kod tabanı okunabilecek kadar küçüktür. WireGuard projesinin protokol uygulaması yaklaşık 4,000 satır koddan oluşur. Her kriptografik işlem için kullandığı OpenSSL kütüphanesi de hesaba katıldığında OpenVPN’in kodu altı haneli satır sayısına ulaşır. Boyut önemlidir. Her satır saldırı yüzeyinin bir parçasıdır. Ne sizin ne de incelemeyi yapan kişinin 100,000 satırı okuyabilmesi beklenir. 4,000 satır okunabilir.
Çekirdekte çalışır. WireGuard, 5.6 sürümünden beri ana Linux çekirdeğinde yer alır. Bu nedenle Ubuntu 24.04 ve Debian 13, derleme gerektirmeden WireGuard’ı sunar. Paketler, zaten bulundukları yerde, çekirdek alanında şifrelenir. Kullanıcı alanındaki bir sürece kopyalanıp geri gönderilmeleri gerekmez. Önce şu komutla kontrol edilmelidir:
sudo modprobe wireguard && echo okKVM VPS üzerinde bu komut ok çıktısını verir. OpenVZ veya LXC gibi ana makinenin çekirdeğini paylaşan konteyner sanallaştırmalarında ise Operation not supported hatasıyla başarısız olur. Bunun nedeni, size ait olmayan bir çekirdeğe modül yüklenememesidir.
Pazarlık yapılacak bir ayar yoktur. WireGuard tek bir sabit şifre takımı kullanır: veri için ChaCha20-Poly1305 ve Curve25519 anahtarları. Düşürülebilecek bir sürüm veya yanlış yapılandırılabilecek bir seçenek yoktur. OpenVPN, şifreyi ve TLS (transport layer security) sürümünü her istemciyle ayrı ayrı müzakere eder. Bu esneklik sağlar, ancak yanlış yapılandırmalar da burada ortaya çıkar. data-ciphers AES-256-GCM:AES-128-CBC ile bırakılan bir sunucu, daha iyi bir seçenek sunmayan istemci için CBC şifresine sorunsuzca geri döner. Günlükte de bunu sorun olarak belirten bir kayıt bulunmaz.
Bağlantı noktası yanıt vermez. Mesaj kimlik doğrulama denetimini geçemeyen bir WireGuard paketi hiç yanıt gönderilmeden atılır. Bu nedenle nmap -sU -p 51820, bir şeyin dinleyip dinlemediğinden bağımsız olarak open|filtered döndürür. TCP modundaki bir OpenVPN sunucusu, istemcinin kabul edilmediğine karar vermeden önce TCP el sıkışmasını tamamlar. Bu, tarayıcıya orada bir hizmet bulunduğunu kanıtlamak için yeterlidir. tls-crypt ile UDP üzerinden çalışan OpenVPN neredeyse aynı ölçüde sessizdir. Bu nedenle söz konusu nokta OpenVPN’in kendisine değil, OpenVPN’in TCP üzerinde çalıştırılmasına karşı bir gerekçedir.
Dolaşım ücretsizdir. WireGuard eşleri adresleriyle değil, genel anahtarlarıyla tanımlanır. Dizüstü bilgisayarınız ev ağından bir mobil erişim noktasına geçer, yeni adresten bir el sıkışma gönderir ve sunucu yanıt vereceği uç noktayı günceller. Yeniden bağlanma gerçekleşmez, çünkü bağlantı hiçbir zaman kurulmuş değildir. OpenVPN, float ile benzer bir işlem yapabilir. Ancak istemci genellikle tam bir TLS oturumunu sonlandırıp yeniden oluşturur. Bu nedenle kapağın açılmasından sonra oluşan bekleme OpenVPN’de fark edilirken WireGuard’da fark edilmez.
2026'da hız: fark daraldı
Yıllar boyunca hız açısından yapılan temel karşılaştırma şuydu: OpenVPN her paketi userspace'e kopyalar, orada şifreler ve tekrar geri kopyalarken WireGuard kernel'den hiç çıkmıyordu. Artık durum bundan ibaret değildir. Bunu dikkate almayan bir karşılaştırma güncelliğini yitirmiştir.
OpenVPN 2.7, Şubat 2026'da Linux 6.16'ya dahil edilen upstream ovpn kernel modülü desteğiyle yayımlandı. Bu özellik DCO'dur (data channel offload). Control channel userspace'te kalır, toplu veri yolu kernel'e taşınır. WireGuard'ın her zaman yaptığı işlem kabaca budur. Bu özelliği kullanabilecek kadar güncel bir kernel ve OpenVPN sürümünde throughput farklı bir sınıfta değil, aynı sınıftadır. Sistemde gerçekten hangi sürümlerin bulunduğunu kontrol edin:
uname -r
openvpn --version | head -n 1
modinfo ovpn 2>/dev/null | head -n 3Temmuz 2026 itibarıyla standart Ubuntu 24.04 LTS, OpenVPN 2.7 yerine OpenVPN 2.6'yı sunar. Ayrıca ovpn modülü için 2.7 gerekir. Bu sürümde offload yalnızca daha eski openvpn-dco-dkms paketiyle kullanılabilir. Bu paket, çalışan kernel için out-of-tree bir modül derler ve bu nedenle her kernel yükseltmesinde yeniden derlenir. WireGuard'da bulunmayan ek bir değişken budur.
DCO'yu sistemde kalma nedeni olarak değerlendirmeden önce ayrıntıları inceleyin. Yalnızca Layer 3 tünellerini destekler. Yalnızca AEAD cipher'larını kabul eder (associated data ile kimlik doğrulamalı şifreleme: AES-GCM veya ChaCha20-Poly1305). Compression desteklemez. Server üzerinde yalnızca topology subnet ile çalışır. Bu kısıtlamaların her biri, OpenVPN'ın başlangıçtaki temel gerekçelerinden biri olan esnekliğin bir bölümünü ortadan kaldırır. Hızlı OpenVPN, WireGuard'a benzeyecek şekilde yapılandırılmış OpenVPN'dır.
Bu sayfadaki sayılar dahil olmak üzere, yayımlanmış hiçbir throughput değerine güvenmeyin. VPS üzerindeki üst sınır genellikle protokolden çok CPU veya network tahsisidir. Tünel üzerinden çalışan iperf3 ile kendi ölçümünüzü yapın. Ardından aynı ölçümü tünel dışında tekrarlayın ve iki sonucu karşılaştırın.
OpenVPN'in hâlâ tercih edildiği durumlar
TCP port 443 üzerinden çıkmanız gerekir. WireGuard yalnızca UDP kullanır; bu tasarım gereğidir ve TCP modu sunulmayacaktır. Yalnızca TCP 443'e izin veren bir otel ağı veya kurumsal proxy, proto tcp-server ve port 443 ile yapılandırılmış OpenVPN trafiğine izin verir; çünkü bu trafik sıradan bir TLS oturumu gibi görünür. WireGuard'ın aynı ağdan geçmesi için wstunnel veya udp2raw gibi bir sarmalayıcı gerekir. Bu da çalıştırılması ve güncel tutulması gereken ek bir işlem demektir. Çakışmaya dikkat edilmelidir: Bu IP adresinde bir web sunucusu TCP 443'ü zaten kullanıyorsa, iki hizmetten birinin taşınması gerekir.
Zaten bir sertifika yetkilisi çalıştırıyorsunuz. OpenVPN, X.509 sertifikalarıyla kimlik doğrulaması yapar. Bu nedenle zaten işlettiğiniz PKI'ya (açık anahtar altyapısı) doğrudan entegre olur. Sertifikaların süresi kendiliğinden dolar. Bir sertifikayı iptal etmek için sertifika iptal listesine eklemek yeterlidir; sunucu bu listeyi crl-verify üzerinden okur. WireGuard'da sertifika, süre sonu veya sertifika iptal listesi yoktur. Bir peer'ı kaldırmak için sunucu yapılandırmasının düzenlenmesi ve yeniden yüklenmesi gerekir. On peer için bu sorun değildir. Denetim gereksinimi olan dört yüz peer'da sertifika modeli önemli bir işlev sağlar.
Yalnızca anahtarlara değil, adlandırılmış kullanıcılara ihtiyacınız vardır. OpenVPN, kimlik doğrulamasını auth-user-pass-verify gibi harici bir sisteme veya openvpn-plugin-auth-pam.so gibi bir eklentiye devredebilir. LDAP ya da tek kullanımlık parola ile ikinci bir kimlik doğrulama faktörü bu şekilde eklenir. WireGuard'da kullanıcı kavramı yoktur. Bir anahtar ya yapılandırmadadır ya da değildir. Gereksiniminiz "Sara telefonundan aldığı kodu girmelidir" şeklindeyse WireGuard bunu tek başına sağlayamaz.
Layer 2'ye veya eski bir istemciye ihtiyacınız vardır. dev tap ile OpenVPN Ethernet çerçevelerini köprüler. Bu özellik, yayın protokolleri ve eski LAN oyunları için önemlidir. WireGuard yalnızca Layer 3'tür ve her zaman öyle kalacaktır. OpenVPN ayrıca WireGuard uygulamasını hiçbir zaman çalıştıramayacak donanım ve işletim sistemlerinde istemcilere sahiptir. Her iki gerekçenin de önemi giderek azalmaktadır. Ayrıca dev tap DCO ile uyumlu değildir. Bu nedenle köprü kullandığınızda daha yavaş yolu seçmiş olursunuz.
İki kurulumun size gerçekte maliyeti
Bir WireGuard kimliği tek bir komutla oluşturulur. Parantezler önemlidir; anahtar oluşturulmadan önce dosya modunu ayarlar:
(umask 077; wg genkey > private.key)
wg pubkey < private.key > public.keyOpenVPN karşılığı, VPN çalıştığı sürece yönetiminizde olacak bir sertifika yetkilisidir:
sudo apt install -y easy-rsa
make-cadir ~/openvpn-ca
cd ~/openvpn-ca
./easyrsa init-pki
./easyrsa build-ca
./easyrsa gen-req server nopass
./easyrsa sign-req server serverHer iki liste de gerçeği eksik yansıtmaz. CA, sona erme ve iptal özelliklerini sağlar. Bunun karşılığında yıllarca korumanız gereken bir özel anahtarınız, hatırlamanız gereken bir yenileme işleminiz ve anahtarı kaybederseniz yeniden oluşturmanız gereken bir yapı olur. Sağladığı özellikleri kullanmıyorsanız bunun için karşılıksız ödeme yaparsınız. Yönlendirme, NAT (network address translation) ve bir öğleden sonranızı harcatan el sıkışma hataları dahil olmak üzere WireGuard'ı VPS üzerinde kendi kendinize barındırma sürecinin tamamı VPS üzerinde WireGuard VPN'i kendi kendinize barındırma kılavuzunda açıklanmıştır.
Her birinin güvenlik duvarınızdan talepleri
WireGuard, ListenPort içindeki bağlantı noktası üzerinden UDP için tam olarak bir gelen bağlantı kuralına ihtiyaç duyar:
sudo ufw allow 51820/udp
sudo ufw status verboseOpenVPN, varsayılan olarak UDP 1194'e veya bu yolu seçtiyseniz TCP 443'e ihtiyaç duyar. Ardından her ikisi için de IP yönlendirmesi etkinleştirilmeli ve bir kaynak NAT kuralı eklenmelidir; çünkü Linux, kendisine yöneltilmemiş paketleri düşürür. Her iki protokol için bu bölüm aynıdır ve "tünel bağlanıyor ancak internet yok" bildirimlerinin çoğunun kaynağı burasıdır. ufw sizin için yeniyse VPS üzerinde ufw güvenlik duvarının temelleri ile başlayın ve çoğu sağlayıcının kontrol panelinde ikinci bir ağ güvenlik duvarı çalıştırdığını unutmayın: sunucuya eklenen bir kural, paket sunucuya hiç ulaşmıyorsa hiçbir işe yaramaz. bağlantı noktasının ne olduğunu ve Linux'un bu bağlantı noktasında nasıl dinleme yaptığını anlamak, bu kontrollerin ikisini de hızlandırır.
Tek paragrafta nasıl seçim yapılır
WireGuard’ı, sizin için yapamadığı belirli bir şeyi söyleyebildiğiniz durumlar dışında kullanın. Kısıtlayıcı bir ağdan çıkmak için TCP 443 kullanmanız gerekiyorsa OpenVPN’i bu amaçla çalıştırın ve ikisini birlikte kullanmayı değerlendirin: farklı portlar kullanırlar ve tek bir sunucuda çakışmadan birlikte çalışırlar. Kullanıcı başına hesaplara veya ikinci bir faktöre ihtiyacınız varsa bu özellikler için WireGuard’ı zorlamayın. Bunun yerine üzerine bir kimlik katmanı ekleyin. Kendi barındırdığınız Headscale denetim sunucusu arka planda WireGuard kullanır ve düz WireGuard’ın size bıraktığı hesap modelini, anahtar dağıtımını ve cihaz onayını ekler.
OpenVPN'den kesinti olmadan geçiş
Dönüştürme işlemi yoktur. OpenVPN PKI'si WireGuard anahtarlarına dönüşmez; çünkü WireGuard'ın dönüştürülecek sertifikaları yoktur. Her istemci, sunucunun anahtar çiftiyle aynı yöntem kullanılarak yeni bir anahtar çifti alır.
Geçiş yapmak yerine iki sistemi paralel çalıştırın. UDP 51820 üzerinden WireGuard ve 1194 üzerinden OpenVPN aynı makinede aynı anda çalışabilir. Bu nedenle wg0 komutunu başlatın, kısa süre önce oluşturulmuş bir latest handshake girdisini sudo wg show ile listeleyerek doğrulayın, ardından istemcileri tek tek taşıyın. OpenVPN eş listesi değişmeyi bıraktığında, hizmeti sudo systemctl disable --now openvpn-server@server ile durdurun. Emin olana kadar CA dosyalarını saklayın; çünkü sildiğiniz bir CA üzerinde iptal edilmiş bir istemciyi yeniden oluşturmak mümkün değildir.
Gerçekten taşınmayan bir unsur vardır: kullanıcı adı ve parola hesaplarınız ile bunlarla ilişkili iptal kayıtları. Eski sunucuyu kapatmadan önce bunların nerede tutulacağına karar verin; kapattıktan sonra değil.
FAQ
WireGuard, OpenVPN'den daha hızlı mıdır?
Standart bir Ubuntu 24.04 sunucusunda evet ve fark oldukça büyüktür; çünkü WireGuard şifrelemeyi kernel içinde gerçekleştirirken OpenVPN 2.6 her paketi bir userspace işleminden geçirir. Linux 6.16 ile birlikte OpenVPN 2.7 ve ovpn kernel modülü kullanıldığında veri yolu da kernel içinde çalışır ve ikisi aynı sınıfa girer. Bir blogdaki sayıya güvenmek yerine tünel üzerinden iperf3 kullanarak kendi ölçümünüzü yapın; VPS üzerinde sınırı genellikle CPU veya bant genişliği kotası belirler.
WireGuard, TCP 443 portu üzerinden çalışabilir mi?
Tek başına çalışamaz. WireGuard tasarımı gereği yalnızca UDP kullanır ve TCP modu planlanmamaktadır. Yalnızca TCP 443'e izin veren bir ağdan geçmek için WireGuard'ı wstunnel veya udp2raw gibi bir tünelin içine almanız gerekir; bu, her iki uçta çalıştırılması ve güncel tutulması gereken ek bir işlem ekler. Bu kısıtlama normal çalışma ortamınızsa proto tcp-server ve port 443 ile OpenVPN daha basit çözümdür.
OpenVPN artık güvenli değil mi?
Hayır. AES-256-GCM gibi bir AEAD şifresi kullanan ve tls-crypt etkinleştirilmiş güncel bir OpenVPN güvenilir bir VPN'dir. WireGuard lehine olan gerekçe başkadır: OpenVPN çok daha fazla kod ve seçenek içerir. Bu nedenle yorgun bir yöneticiye yapılandırmayı hatalı yapması için çok daha fazla fırsat sunar. Daha az seçenek, daha az hata anlamına gelir.
VPS üzerinde kişisel VPN için hangisini seçmeliyim?
WireGuard. Her cihaz için bir anahtar çifti, yaklaşık on satırlık tek bir yapılandırma dosyası, açık tek bir UDP portu ve başladığını fark etmeden önce tamamlanan bir el sıkışma sunar. Yalnızca UDP'yi engelleyen ağlardan düzenli olarak bağlanıyorsanız veya mevcut bir sertifika yetkilisine ya da kullanıcı dizinine uyum sağlamanız gerekiyorsa OpenVPN'i seçin.