Ubuntu OpenVPN kurulum sürecinde bu yazı sana ne sunuyor? İstemci ve sunucu rollerinin nasıl ayrıldığını, sertifika düzeninin hangi parçalardan oluştuğunu, örnek yapılandırma dosyalarında nelerin tanımlanması gerektiğini ve bağlantı testinin hangi aşamalara bölündüğünü göreceksin. Yazı, resmî belgelere dayanan bir iş akışı haritası sunar. Önemli sınır: Bu metin gerçek bir sunucuda çalıştırılmış ve test edilmiş bir kurulum anlatımı değildir; yetkili, boş bir test sunucusu olmadan kuruluma başlama.
Resmî OpenVPN Community rehberi, kurulumu tek bir işlem olarak değil; düzen tasarımı, sertifika üretimi, yönlendirme, güvenlik duvarı ve bağlantı testi gibi ayrı aşamalar olarak ele alır. Temel ağ, DNS ve güvenlik duvarı bilgisi varsayar. Ubuntu Server belgesi de kendi sertifika otoritesi ve istemci/sunucu sertifika düzeni için Easy-RSA akışına işaret eder. Bu yazı, o akışın mantığını açıklar ve resmî açıklamaya göre paket, servis ve sertifika üretim adımlarını özetler.
OpenVPN Düzeninde Roller Nasıl Ayrılır?
OpenVPN Community belgesindeki istemci/sunucu düzeni, merkezi bir sunucu ile ona bağlanan bir veya daha fazla istemciden oluşur. Sunucu, hangi istemcilerin bağlanabileceğini sertifikalar üzerinden denetler; istemci de bağlandığı sunucunun kimliğini sertifika üzerinden doğrular. Bu karşılıklı doğrulama, yalnızca parola paylaşılan bir düzenden farklıdır çünkü her tarafa ait ayrı kriptografik kimlik tanımlanır.

Bu düzeni planlarken önce şu soruları netleştir: Sunucu sabit bir adreste erişilebilir olacak mı? Kaç istemci bağlanacak? Her istemci için ayrı sertifika mı üretilecek? VPN üzerinden yalnızca sunucu arkasındaki bir ağa mı erişilecek, istemci internet çıkışının tamamı mı taşınacak? Bu kararlar, yapılandırma dosyalarında hangi bölümlerin doldurulacağını belirler.
| Bileşen | Görevi | Planlama notu |
|---|---|---|
| Sertifika otoritesi | Sunucu ve istemci sertifikalarını imzalar | Özel anahtarı gizli tutulur, istemcilere gönderilmez |
| Sunucu kimliği | İstemcilere kendini kanıtlar | Sunucuya ait ayrı sertifika ve özel anahtar kullanır |
| İstemci kimliği | Sunucuya kendini kanıtlar | Her istemci için ayrı sertifika ve özel anahtar düzenlenir |
| Yapılandırma dosyaları | Adres, protokol ve dosya yollarını tanımlar | Sunucu ve istemci dosyaları farklı içerik taşır |
Sertifika Zinciri Neden Her İstemci İçin Ayrı Kurulur?
Sertifika temelli düzende üç tür malzeme bulunur: sertifika otoritesine ait sertifika ve özel anahtar, sunucuya ait sertifika ve özel anahtar ile her istemciye ait ayrı sertifika ve özel anahtar. Resmî PKI belgesi, istemci ve sunucunun birbirini sertifika üzerinden doğrulamasını esas alır. Otoritenin özel anahtarı yalnızca imzalama tarafında kalır ve istemcilere dağıtılmaz.
Her istemci için ayrı sertifika kullanılmasının nedeni, erişim denetimidir. Bir sertifika ele geçirildiğinde veya bir cihaz artık kullanılmadığında, sertifika iptal listesi aracılığıyla yalnızca o kimliğin erişimi kaldırılabilir. Tek bir istemci sertifikasının tüm cihazlarda paylaşılması, bu ayrımı ortadan kaldırdığı için resmî belgede anlatılan modelle uyuşmaz.

Ubuntu OpenVPN kurulum öncesi hangi önkoşulları hazırlamalı?
Resmî belgeler, kuruluma ağ ve erişim hazırlığıyla başlanmasını gerektirir. Yalnızca yönettiğin ve üzerinde çalışmaya yetkin olduğun bir test sunucusu kullan. Üretim sisteminde yedek, bakım penceresi ve geri dönüş planı olmadan değişiklik yapma. Gerçek özel anahtar, parola veya erişim belirteci gibi gizli bilgileri notlarına, ekran görüntülerine veya paylaştığın dosyalara ekleme.
- Yönetim erişiminin sende olduğu boş bir test sunucusu ve ayrı bir test istemcisi ayır; üretim sisteminde kurulum yapma.
- Yalnızca yetkili test sunucusunda paket kurulumu için: sudo apt install openvpn easy-rsa.
- CA dizini için: sudo make-cadir /etc/openvpn/easy-rsa komutuyla ayrı çalışma dizini oluştur.
- Kullanılacak VPN adres aralığının mevcut ağlarla çakışmadığını kontrol et ve DNS, güvenlik duvarı ve yönlendirme değişikliklerini yalnızca test kapsamıyla sınırla.
- Hizmeti açılışta başlatma, NAT ve yönlendirme ayarları bu rehberin kapsamı dışındadır; Ubuntu belgesine bakın.
Örnek Yapılandırma Dosyalarında Neler Tanımlanır?
Resmî örnek yapılandırma belgeleri, TUN arayüzü, UDP 1194 ve 10.8.0.0/24 gibi örnek değerler kullanır. Bunlar her ortama uygulanacak sabit değerler değil, anlatımı somutlaştıran örneklerdir. Kendi ortamında ağda kullanılmayan özel bir aralık seçilmesi ve sertifika dosyalarının doğru yollarının tanımlanması gerekir.
Sunucu tarafı sırayla ilerler: /etc/openvpn/easy-rsa dizininde ./easyrsa init-pki ve ./easyrsa build-ca, ardından ./easyrsa gen-req myservername nopass, ./easyrsa gen-dh ve ./easyrsa sign-req server myservername. Sonrasında pki/dh.pem, pki/ca.crt, pki/issued/myservername.crt ve pki/private/myservername.key dosyaları /etc/openvpn/ dizinine kopyalanır. server.conf içinde ca ca.crt, cert myservername.crt, key myservername.key, dh dh.pem ve tls-crypt ta.key satırları ayarlanır; ta.key için /etc/openvpn içinde sudo openvpn –genkey secret ta.key çalıştırılır. Dosya yollarındaki küçük bir hata bağlantıyı engellediği için yollar ve dosya izinleri ayrı bir denetim adımı olarak ele alınır.
Eski Komut Örneklerini Neden Doğrudan Uygulamamalısın?
OpenVPN PKI sayfası eski Easy-RSA sürümüne ait komut örnekleri ve eski anahtar uzunluğu örnekleri içerir; bu yazı o sayfayı yalnızca sertifika mimarisini açıkladığı ölçüde kullanır, eski komutları ve anahtar uzunluğunu güncel talimat gibi tekrar etmez. Güncel Easy-RSA 3 akışı için: her makinede istekten önce ./easyrsa init-pki, istemcide ./easyrsa gen-req İSTEMCİ_ADI, CA tarafında ./easyrsa import-req /yol/dosya.req AD ve ./easyrsa sign-req client AD; sunucu için ./easyrsa sign-req server AD kullanılır ve eski 'build-key' tarzı komutlar kullanılmaz. CA özel anahtarı istemcilere dağıtılmaz ve CA ayrı güvenli makinede tutulur.
Bağlantı Testini Üç Ayrı Denetim Olarak Planla
Resmî How-to yaklaşımında bağlantı testi tek bir başarılı bağlanma mesajından ibaret değildir. Tünelin kurulması, internet yönlendirmesinin beklenen biçimde çalışması ve DNS çözümlemesinin beklenen uçtan yapılması ayrı denetimlerdir. Birinin çalışması diğerinin doğru olduğunu göstermez.
- Önce istemcinin sunucuya kimlik doğrulamasıyla bağlanıp sanal adres aldığını doğrula.
- Sonra hedef ağa veya yönlendirme tasarımına göre seçilmiş adreslere erişimi dene.
- Ardından DNS sorgularının hangi sunucu üzerinden çözüldüğünü ve güvenlik duvarı kayıtlarında ne göründüğünü incele.
Test sırasında sertifika doğrulamasını devre dışı bırakan, tüm güvenlik duvarını kapatan veya rastgele bir kurulum betiğini inceleme olmadan çalıştıran yöntemleri kullanma. IP yönlendirme belgeye sadık biçimde açılır: echo "net.ipv4.ip_forward = 1" | sudo tee /etc/sysctl.d/50-enable-ipv4-forwarding.conf ve sudo sysctl -p /etc/sysctl.d/50-enable-ipv4-forwarding.conf. Servis sudo systemctl start openvpn@myserver ile başlatılır; durum systemctl status openvpn@myserver ve günlük journalctl -u openvpn@myserver -xe ile denetlenir. Mevcut ağla çakışan alt ağ seçimi adres çakışmasına yol açabilir; test aralığını üretim ağından ayrı tut. NAT ve güvenlik duvarı kuralları bu rehberin kapsamı dışındadır.

Kaynaklar
Bu yazıdaki mimari ve iş akışı açıklamaları şu resmî belgelere dayanır: OpenVPN Community — How-to, OpenVPN Community — PKI architecture (legacy commands not adopted), OpenVPN Community — Server/client configurations, Ubuntu Server — OpenVPN. Komut düzeyinde kurulum için güncel birincil belgelerle ek doğrulama gerekir.