Ubuntu 18.04 Üzerine OpenVPN Sunucusu Kurulumu: Kapsamlı Bir Rehber
Sanallaşma ve uzaktan çalışma çağında, güvenli ağ bağlantıları her zamankinden daha önemli hale gelmiştir. Sanal Özel Ağlar (VPN’ler), internet üzerinden güvenli ve şifreli bir tünel oluşturarak bu ihtiyacı karşılar. Bu sayede, halka açık Wi-Fi ağlarında bile verilerinizin gizliliğini ve bütünlüğünü koruyabilirsiniz. OpenVPN, açık kaynak kodlu, esnek ve oldukça güvenli bir VPN çözümüdür. Bu makalede, Ubuntu 18.04 işletim sistemi üzerinde kendi OpenVPN sunucunuzu adım adım nasıl kuracağınızı ve yapılandıracağınızı ayrıntılı bir şekilde ele alacağız.
Giriş: OpenVPN ve Güvenli Bağlantının Önemi
Günümüzde internet kullanımı, kişisel verilerden kurumsal bilgilere kadar geniş bir yelpazeyi kapsar. Bu verilerin güvenli bir şekilde aktarılması, siber saldırılara ve veri sızıntılarına karşı korunmak için hayati öneme sahiptir. VPN’ler, internet trafiğinizi şifreleyerek ve verilerinizi anonimleştirerek bu güvenliği sağlar.
OpenVPN, endüstri standardı şifreleme algoritmaları (AES-256 gibi) ve SSL/TLS tabanlı kimlik doğrulama yöntemleri kullanarak yüksek düzeyde güvenlik sunar. Esnekliği sayesinde, farklı ağ topolojilerine ve güvenlik gereksinimlerine uyarlanabilir. Ubuntu 18.04 ise kararlılığı, geniş topluluk desteği ve açık kaynak ekosistemiyle OpenVPN sunucusu kurmak için ideal bir platformdur. Bu rehber, kişisel kullanımınızdan küçük ölçekli işletme ihtiyaçlarınıza kadar çeşitli senaryolar için güvenli bir OpenVPN sunucusu oluşturmanıza yardımcı olacaktır.
Ön Gereksinimler
Kuruluma başlamadan önce aşağıdaki ön gereksinimleri karşıladığınızdan emin olun:
* Ubuntu 18.04 Sunucusu: İnternet erişimi olan ve sudo yetkilerine sahip bir Ubuntu 18.04 sunucusu. Bu bir bulut sunucusu (AWS, DigitalOcean, Linode vb.) veya yerel ağınızdaki bir sanal/fiziksel makine olabilir.
* SSH Erişimi: Sunucunuza SSH ile uzaktan erişim sağlayabilmelisiniz.
* Statik Genel IP Adresi: Sunucunuzun sabit bir genel IP adresine sahip olması, istemcilerin sunucuya her zaman aynı adresten erişmesini sağlar. Dinamik IP kullanıyorsanız, bir DDNS (Dinamik DNS) hizmeti kurmanız gerekebilir.
* Güvenlik Duvarı Bilgisi: Ubuntu’da varsayılan olarak gelen UFW (Uncomplicated Firewall) veya başka bir güvenlik duvarı hakkında temel bilgi.
Adım 1: Sunucuyu Güncelleme ve Gerekli Paketleri Kurma
Herhangi bir kurulum işlemine başlamadan önce, sunucunuzun paket listesini güncellemek ve mevcut paketleri yükseltmek iyi bir uygulamadır. Bu, en son güvenlik yamalarını ve yazılım sürümlerini almanızı sağlar.
Sunucunuza SSH ile bağlanın ve aşağıdaki komutları çalıştırın:
sudo apt update
sudo apt upgrade -y
Ardından, OpenVPN sunucusunu ve sertifika oluşturmak için kullanacağımız easy-rsa paketini kurun:
sudo apt install openvpn easy-rsa -y
easy-rsa, OpenVPN için gerekli olan SSL/TLS sertifikalarını ve anahtarlarını kolayca oluşturmanızı sağlayan bir betik koleksiyonudur.
Adım 2: Kolay RSA (Easy-RSA) Yapılandırması ve Sertifika Otoritesi (CA) Oluşturma
OpenVPN, istemciler ve sunucu arasında güvenli bir bağlantı kurmak için SSL/TLS sertifikalarını kullanır. Bu sertifikalar, bir Sertifika Otoritesi (CA) tarafından imzalanır. easy-rsa aracı, bu CA’yı ve diğer tüm sertifikaları oluşturmak için kullanılır.
İlk olarak, easy-rsa dosyalarını güvenli bir konuma kopyalayalım. Genellikle /etc/openvpn/easy-rsa dizini tercih edilir:
sudo mkdir /etc/openvpn/easy-rsa
sudo cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/
sudo chown -R $USER /etc/openvpn/easy-rsa # Geçici olarak kendi kullanıcınıza yetki verin
Şimdi easy-rsa dizinine geçin:
cd /etc/openvpn/easy-rsa
Bu dizin içinde, CA’nızın ve sertifikalarınızın varsayılan değerlerini içeren bir vars dosyası bulunur. Bu dosyayı düzenleyerek kendi bilgilerinizi girebilirsiniz. Ubuntu 18.04 üzerindeki Easy-RSA 3 için bu dosya genellikle vars.example olarak adlandırılır ve pki/ dizini kullanılmaz. Doğrudan easyrsa komutları ile çalışılır.
Easy-RSA 3’te, vars dosyasını düzenlemek yerine, çoğu ayar komut satırı argümanları ile veya pki/vars dosyası oluşturularak yapılır. Ancak, varsayılan değerleri değiştirmek istiyorsanız, vars dosyasını düzenleyebilirsiniz.
Biz doğrudan komutlarla ilerleyelim. İlk olarak bir PKI (Public Key Infrastructure) başlatın:
./easyrsa init-pki
Şimdi Sertifika Otoritesi (CA) oluşturalım. Bu CA, tüm sunucu ve istemci sertifikalarını imzalayacaktır. CA anahtarınız için bir parola belirlemeniz istenecektir. Bu parolayı güvenli bir yerde saklayın.
./easyrsa build-ca nopass # Eğer parola istemiyorsanız 'nopass' kullanın
nopass kullanmak, CA anahtarının parolasız olacağı anlamına gelir. Bu, otomasyon için uygun olabilir ancak güvenlik açısından bir parola kullanmak daha iyidir. Eğer parola kullanmak isterseniz nopass argümanını kaldırın. Sizden bir “Common Name” (Ortak Ad) girmeniz istenecektir. Varsayılanı (Easy-RSA CA) kabul edebilir veya kendi adınızı girebilirsiniz.
Adım 3: Sunucu Sertifikası ve Anahtarı Oluşturma
CA oluşturulduktan sonra, OpenVPN sunucunuz için bir sertifika ve özel anahtar oluşturmanız gerekir.
Sunucu anahtar çiftini oluşturun. Yine bir parola belirlemeniz istenecektir. nopass kullanarak parolasız bir anahtar oluşturabilirsiniz:
./easyrsa gen-req server nopass
Ortak Ad (Common Name) için server olarak girmeniz önerilir.
Şimdi sunucu sertifikasını CA ile imzalayın. Bu, CA’nızın sunucu sertifikasına güvendiğini gösterir:
./easyrsa sign-req server server
Onaylamak için yes yazın.
Son olarak, Diffie-Hellman (DH) parametrelerini oluşturun. Bu, OpenVPN’in istemcilerle güvenli anahtar değişimi yapmasını sağlar. Bu işlem biraz zaman alabilir (2048 bit için birkaç dakika, 4096 bit için daha uzun sürebilir):
./easyrsa gen-dh
Ek bir güvenlik katmanı olarak TLS kimlik doğrulama anahtarı (ta.key) oluşturun. Bu anahtar, sunucu ve istemci arasında DoS saldırılarını ve UDP port taramalarını önlemeye yardımcı olur:
openvpn --genkey --secret ta.key
Şimdi tüm oluşturulan sertifika ve anahtar dosyalarını OpenVPN’in kullanacağı dizine kopyalamamız gerekiyor. Bu dizin genellikle /etc/openvpn‘dir.
sudo cp pki/ca.crt /etc/openvpn/
sudo cp pki/issued/server.crt /etc/openvpn/
sudo cp pki/private/server.key /etc/openvpn/
sudo cp pki/dh.pem /etc/openvpn/dh.pem
sudo cp ta.key /etc/openvpn/
Yetkileri tekrar root kullanıcısına verelim:
sudo chown -R root:root /etc/openvpn/easy-rsa
Adım 4: OpenVPN Yapılandırma Dosyalarını Oluşturma
Şimdi OpenVPN sunucusunun nasıl çalışacağını belirleyecek olan yapılandırma dosyasını oluşturacağız: /etc/openvpn/server.conf.
Bu dosyayı bir metin düzenleyici ile açın:
sudo nano /etc/openvpn/server.conf
Aşağıdaki yapılandırma içeriğini dosyaya yapıştırın. Her bir satırın ne anlama geldiğini açıklayacağım:
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA256
tls-auth ta.key 0
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
cipher AES-256-CBC
compress lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
explicit-exit-notify 1
Şimdi bu yapılandırma direktiflerini açıklayalım:
* port 1194: OpenVPN’in dinleyeceği port numarası. Varsayılan 1194’tür.
* proto udp: İletişim protokolü. UDP, TCP’ye göre daha hızlıdır ve genellikle VPN için tercih edilir.
* dev tun: Sanal ağ arayüzü tipi. tun IP katmanı (Katman 3) tünellemesi sağlar.
* ca ca.crt: Sertifika Otoritesi (CA) sertifika dosyasının yolu.
* cert server.crt: Sunucu sertifika dosyasının yolu.
* key server.key: Sunucu özel anahtar dosyasının yolu.
* dh dh.pem: Diffie-Hellman parametreleri dosyasının yolu.
* auth SHA256: Veri kanalı için kullanılacak kimlik doğrulama algoritması.
* tls-auth ta.key 0: TLS kimlik doğrulama anahtarını etkinleştirir. 0 sunucu tarafını belirtir.
* topology subnet: İstemcilere IP adreslerinin alt ağ şeklinde atanmasını sağlar. Bu, Windows istemcileri için genellikle daha iyi çalışır.
* server 10.8.0.0 255.255.255.0: OpenVPN sunucusunun kullanacağı VPN alt ağı. İstemciler bu ağdan IP adresi alacaktır. Bu ağın yerel ağınızla çakışmadığından emin olun.
* ifconfig-pool-persist ipp.txt: İstemci IP adreslerinin bir dosyaya kaydedilmesini sağlar, böylece bir istemci yeniden bağlandığında aynı IP adresini alır.
* push "redirect-gateway def1 bypass-dhcp": İstemcilere tüm trafiği VPN üzerinden yönlendirmelerini söyler. def1 varsayılan ağ geçidi tanımını zorlar, bypass-dhcp ise DHCP ile ilgili sorunları önler.
* push "dhcp-option DNS 8.8.8.8": İstemcilere Google’ın DNS sunucularını kullanmalarını söyler. İsterseniz farklı DNS sunucuları (örn. Cloudflare 1.1.1.1, OpenDNS 208.67.222.222) veya kendi DNS sunucunuzu kullanabilirsiniz.
* keepalive 10 120: Bağlantının canlı kalmasını sağlamak için ping aralıklarını belirler. 10 saniyede bir ping gönderilir, 120 saniye içinde yanıt alınmazsa bağlantı kesilir.
* cipher AES-256-CBC: Veri kanalı için kullanılacak şifreleme algoritması. AES-256-CBC güçlü bir seçimdir.
* compress lzo: VPN bağlantısı üzerinden veri sıkıştırmayı etkinleştirir. Performansı artırabilir. (Not: OpenVPN’in daha yeni sürümlerinde compress yerine lz4 veya zstd önerilir, ancak 18.04’te lzo hala yaygın ve desteklenir.)
* user nobody: OpenVPN’in çalışacağı ayrıcalıksız kullanıcı.
* group nogroup: OpenVPN’in çalışacağı ayrıcalıksız grup.
* persist-key: Yeniden başlatmalarda özel anahtarların yeniden yüklenmesini engeller.
* persist-tun: Yeniden başlatmalarda TUN cihazının yeniden başlatılmasını engeller.
* status openvpn-status.log: Bağlantı durumunun yazılacağı log dosyası.
* verb 3: Loglama detay seviyesi. 3, çoğu sorun giderme için yeterlidir.
* explicit-exit-notify 1: İstemcilere sunucu bağlantısının kesildiğini bildirir.
Dosyayı kaydedin ve kapatın (CTRL+O, Enter, CTRL+X).
Adım 5: Ağ Yönlendirmeyi Etkinleştirme
OpenVPN sunucusu, istemcilerden gelen trafiği internete yönlendirebilmek için IP yönlendirmeyi etkinleştirmelidir.
/etc/sysctl.conf dosyasını düzenleyin:
sudo nano /etc/sysctl.conf
Dosyada aşağıdaki satırı bulun ve başındaki # işaretini kaldırarak etkinleştirin (veya yoksa ekleyin):
net.ipv4.ip_forward = 1
Dosyayı kaydedin ve kapatın. Değişiklikleri uygulamak için aşağıdaki komutu çalıştırın:
sudo sysctl -p
Adım 6: Güvenlik Duvarını Yapılandırma (UFW)
OpenVPN sunucusunun çalışabilmesi için güvenlik duvarında gerekli portların açılması ve NAT (Network Address Translation) kurallarının eklenmesi gerekmektedir. Ubuntu’da UFW (Uncomplicated Firewall) kullanacağız.
İlk olarak, UFW’nin varsayılan politikalarını ayarlayalım. Giden bağlantılara izin verip, gelen bağlantıları reddedeceğiz:
sudo ufw default deny incoming
sudo ufw default allow outgoing
Şimdi SSH bağlantılarına izin verin (genellikle 22/TCP):
sudo ufw allow ssh
OpenVPN sunucusunun dinlediği porta (varsayılan 1194/UDP) izin verin:
sudo ufw allow 1194/udp
Şimdi NAT kurallarını yapılandırmamız gerekiyor. UFW, varsayılan olarak NAT kurallarını /etc/ufw/before.rules dosyasına eklememize izin verir.
Bu dosyayı açın:
sudo nano /etc/ufw/before.rules
Dosyanın en başına, # START OPENVPN RULES ve # END OPENVPN RULES yorumları arasına aşağıdaki kuralları ekleyin. YOUR_SERVER_PUBLIC_IP yerine sunucunuzun genel IP adresini yazmayı unutmayın. Eğer dinamik IP kullanıyorsanız bu kuralı dikkatli uygulayın veya bir DDNS servisi kullanın.
# START OPENVPN RULES
Allow traffic from OpenVPN client to tun0
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
Allow traffic from OpenVPN client to eth0 (replace eth0 with your public network interface)
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 10.8.0.0/24 -o eth0 -j ACCEPT
END OPENVPN RULES
Önemli: Yukarıdaki eth0 ifadesini sunucunuzun genel ağ arayüzü adı ile değiştirmelisiniz. Çoğu bulut sağlayıcısında eth0 veya ens3 gibi isimler kullanılır. Ağ arayüzünüzün adını öğrenmek için ip a komutunu kullanabilirsiniz. 10.8.0.0/24 OpenVPN ağınızdır, eğer server.conf dosyasında farklı bir ağ kullandıysanız burayı da güncelleyin.
Dosyayı kaydedin ve kapatın.
Son olarak, UFW’nin DEFAULT_FORWARD_POLICY ayarını değiştirmemiz gerekiyor. /etc/default/ufw dosyasını açın:
sudo nano /etc/default/ufw
Aşağıdaki satırı bulun ve değerini ACCEPT olarak değiştirin:
DEFAULT_FORWARD_POLICY="ACCEPT"
Dosyayı kaydedin ve kapatın.
Şimdi UFW’yi etkinleştirin ve kuralları yeniden yükleyin:
sudo ufw disable
sudo ufw enable
Bir uyarı mesajı alabilirsiniz. y yazarak onaylayın.
UFW durumunu kontrol edin:
sudo ufw status
Çıktıda SSH ve OpenVPN portlarının izinli olduğunu ve NAT kurallarının etkin olduğunu görmelisiniz.
Adım 7: OpenVPN Sunucusunu Başlatma ve Etkinleştirme
Tüm yapılandırmalar tamamlandıktan sonra OpenVPN sunucusunu başlatabiliriz.
sudo systemctl start openvpn@server
Sunucunun sistem başlangıcında otomatik olarak başlamasını sağlamak için etkinleştirin:
sudo systemctl enable openvpn@server
Sunucunun durumunu kontrol ederek düzgün çalışıp çalışmadığını doğrulayabilirsiniz:
sudo systemctl status openvpn@server
Eğer her şey yolundaysa, active (running) durumunu görmelisiniz. Herhangi bir hata durumunda, logları kontrol etmek için aşağıdaki komutu kullanabilirsiniz:
sudo journalctl -u openvpn@server -f
Adım 8: İstemci Yapılandırma Dosyalarını Oluşturma
İstemcilerin OpenVPN sunucusuna bağlanabilmesi için kendi sertifikalarına ve bir yapılandırma dosyasına ihtiyaçları vardır. Her istemci için benzersiz bir sertifika ve anahtar çifti oluşturmak en iyi güvenlik uygulamasıdır.
Önceki Easy-RSA dizinine geri dönün:
cd /etc/openvpn/easy-rsa
Bir istemci anahtar çifti oluşturun. Örneğin client1 adında bir istemci için:
./easyrsa gen-req client1 nopass
Ortak Ad (Common Name) için client1 girin.
Şimdi istemci sertifikasını CA ile imzalayın:
./easyrsa sign-req client client1
Onaylamak için yes yazın.
Artık client1 için gerekli tüm dosyalar oluşturuldu. Şimdi bu dosyaları ve diğer OpenVPN yapılandırma bilgilerini içeren bir istemci yapılandırma dosyası (.ovpn) oluşturacağız.
İlk olarak, istemci yapılandırma dosyalarını depolamak için bir dizin oluşturun:
mkdir -p ~/client-configs/files
Şimdi bir temel istemci yapılandırma dosyası oluşturalım:
nano ~/client-configs/base.conf
Aşağıdaki içeriği yapıştırın:
client
dev tun
proto udp
remote YOUR_SERVER_IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-CBC
auth SHA256
compress lzo
verb 3
Önemli: YOUR_SERVER_IP yerine OpenVPN sunucunuzun genel IP adresini yazın. Eğer bir DDNS kullanıyorsanız, buraya DDNS adınızı yazabilirsiniz.
Dosyayı kaydedin ve kapatın.
Şimdi, bu temel yapılandırma dosyasını kullanarak her istemci için özel bir .ovpn dosyası oluşturacak bir betik hazırlayalım.
nano ~/client-configs/make_config.sh
Aşağıdaki betik içeriğini yapıştırın:
#!/bin/bash
Client adı argüman olarak verilir
CLIENT=$1
if [ -z "$CLIENT" ]; then
echo "Kullanım: $0 "
exit 1
fi
Gerekli dosyaların varlığını kontrol et
if [ ! -f "/etc/openvpn/easy-rsa/pki/issued/${CLIENT}.crt" ] || \
[ ! -f "/etc/openvpn/easy-rsa/pki/private/${CLIENT}.key" ] || \
[ ! -f "/etc/openvpn/ca.crt" ] || \
[ ! -f "/etc/openvpn/ta.key" ]; then
echo "Hata: Gerekli istemci veya CA/TLS dosyaları bulunamadı. İstemci sertifikasını oluşturduğunuzdan emin olun."
exit 1
fi
Çıkış dizini
OUTPUT_DIR=~/client-configs/files
mkdir -p "$OUTPUT_DIR"
.ovpn dosyasını oluştur
cat ~/client-configs/base.conf \
') \
/etc/openvpn/ca.crt \
\n') \
"/etc/openvpn/easy-rsa/pki/issued/${CLIENT}.crt" \
\n') \
"/etc/openvpn/easy-rsa/pki/private/${CLIENT}.key" \
\n') \
/etc/openvpn/ta.key \
') \
> "${OUTPUT_DIR}/${CLIENT}.ovpn"
echo "İstemci yapılandırma dosyası '${OUTPUT_DIR}/${CLIENT}.ovpn' oluşturuldu."
Dosyayı kaydedin ve kapatın. Betiği çalıştırılabilir yapın:
chmod +x ~/client-configs/make_config.sh
Şimdi client1 için .ovpn dosyasını oluşturalım:
~/client-configs/make_config.sh client1
Bu komut, ~/client-configs/files/client1.ovpn adında bir dosya oluşturacaktır. Bu dosya, client1‘in OpenVPN sunucusuna bağlanması için gerekli tüm sertifikaları, anahtarları ve yapılandırma bilgilerini içerir.
Adım 9: İstemci Cihazlarda OpenVPN Kurulumu ve Bağlantı
Oluşturduğunuz .ovpn dosyasını istemci cihazınıza aktarmanız gerekmektedir. Bunu SCP, SFTP gibi güvenli yöntemlerle yapabilirsiniz.
Örneğin, yerel makinenize indirmek için:
scp user@your_server_ip:~/client-configs/files/client1.ovpn .
İstemci tarafında OpenVPN yazılımını kurmanız gerekecektir:
* Windows: OpenVPN GUI uygulamasını resmi web sitesinden indirin ve kurun. .ovpn dosyasını C:\Program Files\OpenVPN\config dizinine kopyalayın.
* macOS: Tunnelblick veya OpenVPN Connect uygulamasını kullanabilirsiniz. .ovpn dosyasını uygulamaya sürükleyip bırakmanız yeterlidir.
* Linux: openvpn paketini kurun (sudo apt install openvpn veya dağıtımınıza uygun komut) ve terminalden sudo openvpn --config client1.ovpn komutunu çalıştırın. Grafik arayüz için NetworkManager entegrasyonlarını kullanabilirsiniz.
* Android/iOS: Resmi OpenVPN Connect uygulamasını uygulama mağazalarından indirin. .ovpn dosyasını e-posta, bulut depolama veya doğrudan aktarım yoluyla cihaza aktarın ve uygulama içinden içe aktarın.
İstemci uygulamasını başlattıktan ve .ovpn dosyasını içe aktardıktan sonra, bağlantıyı başlatabilirsiniz. Bağlantı başarılı olduğunda, istemciniz artık OpenVPN sunucunuz üzerinden internete bağlanacaktır. Bağlantınızın başarılı olup olmadığını kontrol etmek için bir web tarayıcısı üzerinden IP adresinizi sorgulayabilir veya whatismyip.com gibi siteleri ziyaret ederek sunucunuzun IP adresini görüp görmediğinizi kontrol edebilirsiniz.
Sorun Giderme (Troubleshooting)
Kurulum sırasında veya sonrasında sorunlarla karşılaşmanız durumunda aşağıdaki adımları izleyebilirsiniz:
* Sunucu Loglarını Kontrol Edin:
sudo journalctl -u openvpn@server -f
Bu komut, OpenVPN sunucusunun loglarını gerçek zamanlı olarak gösterir ve hataları tespit etmenize yardımcı olur.
* Güvenlik Duvarı (UFW) Ayarlarını Kontrol Edin:
sudo ufw status verbose
OpenVPN portunun (1194/UDP) ve SSH portunun açık olduğundan, ayrıca NAT kurallarının doğru yapılandırıldığından emin olun. sudo nano /etc/ufw/before.rules dosyasını kontrol edin.
* IP Yönlendirme:
cat /proc/sys/net/ipv4/ip_forward
Çıktı 1 olmalıdır. Eğer 0 ise, /etc/sysctl.conf dosyasını kontrol edin ve sudo sysctl -p komutunu tekrar çalıştırın.
* Ağ Arayüzü Adı: /etc/ufw/before.rules dosyasındaki NAT kuralında kullanılan ağ arayüzü adının (örn. eth0) doğru olduğundan emin olun. ip a komutuyla kontrol edebilirsiniz.
* Sertifika ve Anahtar Dosyaları: Tüm sertifika ve anahtar dosyalarının (ca.crt, server.crt, server.key, dh.pem, ta.key) /etc/openvpn/ dizininde olduğundan ve doğru izinlere sahip olduğundan emin olun.
* İstemci Yapılandırma Dosyası: .ovpn dosyasındaki sunucu IP adresinin doğru olduğundan ve tüm sertifika/anahtar bloklarının (, , , ) doğru içeriğe sahip olduğundan emin olun.
* Protokol ve Port: Sunucu ve istemci yapılandırma dosyalarında kullanılan protokol ve portun aynı olduğundan emin olun (örn. her ikisi de udp ve 1194).
* VPN Alt Ağı Çakışması: OpenVPN’in kullandığı 10.8.0.0/24 ağının, istemcinin veya sunucunun yerel ağlarıyla çakışmadığından emin olun.
Sonuç
Bu kapsamlı rehberde, Ubuntu 18.04 sunucusu üzerinde güvenli bir OpenVPN sunucusu kurmak için gerekli tüm adımları ayrıntılı olarak ele aldık. Sunucuyu güncellemekten Easy-RSA ile sertifika otoritesi oluşturmaya, sunucu ve istemci sertifikalarını yapılandırmaktan güvenlik duvarı ayarlarını düzenlemeye kadar her aşamayı tamamladık. Artık kendi güvenli VPN bağlantınızı kurabilir ve verilerinizi internet üzerinde koruyabilirsiniz.
Unutmayın ki siber güvenlik sürekli gelişen bir alandır. Sunucunuzu düzenli olarak güncel tutmak, güvenlik duvarı kurallarınızı gözden geçirmek ve yalnızca güvendiğiniz istemcilere erişim izni vermek, VPN sunucunuzun güvenliğini sağlamak için kritik öneme sahiptir. İhtiyaçlarınıza göre ek güvenlik önlemleri (örneğin, iki faktörlü kimlik doğrulama) eklemeyi düşünebilirsiniz. Bu rehber, kişisel veya küçük ölçekli kullanım için sağlam bir temel sağlamaktadır.
