OpenVPN, VPN protokolünün açık bir yazılım uygulamasıdır. Bu ürünün ayırt edici bir özelliği, şifreli tüneller oluşturma yeteneğidir ve mobil platformlar da dahil olmak üzere çoğu popüler işletim sistemi için uygulamalar vardır.
CentOS deposunun özelliği, OpenVPN'in içinde yer almamasıdır. Ancak bu paket Fedora Projesi tarafından yönetilen EPEL deposu (Enterprise Linux) kullanılarak elde edilebilir. Bu arada bu depodan, standart CentOS deposunda bulunmayan diğer paketleri de edinebilirsiniz. Komut ile yükleyin:
OpenVPN'i yüklemek için devam edin. Paketi yükleyin:
Sunucuyu yapılandırmaya devam edin. server.conf dosyasını kopyalayın:
"*" işaretine dikkat etmek önemlidir. Yalnızca bir yükleme denemesi yapıldıysa, program sürümü bir yıldız sembolü ile değiştirilebilir. Birkaç kurulum denemesi yapıldıysa, dosyanın yolunu tamamen belirtmeniz gerekebilir.
Anahtarları oluşturmadan önce sunucu yapılandırma dosyasında birkaç değişiklik yapın
server.conf dosyasını herhangi bir düzenleyici ile açın.
"Diffie hellman parameters." satırını bulun ve arayın:
Tam olarak belirtilmişse, herhangi bir değişiklik yapılmasına gerek yoktur. Paketin yeni sürümünün nüansı, parametrenin zaten değerlere sahip olmasıdır. Eski sürümlerde sadece "dh" vardır. Biz onu kendi değerimiz gibi gösteriyoruz.
Ardından, "# Certain Windows-specific network settings" satırını bulun. Aşağıdaki parametrelerden birini açın (satırın başındaki “semicolon” (;) sembolünü silin). Şöyle bir şey görünmelidir:
İsterseniz DNS sunucunuzu belirtebilirsiniz. Ayrıca, istemcilere alternatif bir DNS sunucusu iletmek için ikinci satırı da kaldırabilirsiniz.
Sunucu güvenliği için, nobody kullanıcısı ve nogroup grubu ile başlayacağız. Satırlardaki yorumu kaldırın:
Sertifika oluşturmaya başlıyoruz
Önceden yüklenmiş easy-rsa paketini kullanarak sunucu ve istemci anahtarlarını oluşturun.
Anahtarların yer alacağı bir dizin oluşturun:
Yeni oluşturulan easy-rsa dizinine komut dosyalarını kopyalayın:
/etc /openvpn/easy-rsa/3/ dizinine gidin ve bir vars betiği oluşturun
cd /etc/openvpn/easy-rsa/
Önemli! Easy-rsa sürümü farklı olabilir ve bu nedenle yolun ayarlanması gerekecektir.
Aşağıdaki satırları açık dosyaya ekleyin:
Dosya yürütülmesine izin ver:
PKI dizinini başlatıyoruz ve bir CA sertifikası oluşturuyoruz:
Önemli! Bir CA sertifikası oluştururken, komut dosyası en az 4 karakterlik bir parola isteyecektir. Girilen parola hatırlanmalıdır.
Sunucu anahtarını oluşturun.
"nopass" özelliğini belirtmezseniz, anahtar oluşturulurken kod bir parola isteyecektir.
Sunucu sertifikasını imzalıyoruz:
Komut dosyası ilk eylemle güvenimize ilgi gösterecek, "Yes" cevabını verecektir. Ardından CA sertifikası oluşturulurken belirtilen şifreyi soracaktır.
Sertifikanın imzalanıp imzalanmadığını kontrol edin:
Ek bir sunucu anahtarı ta.key oluşturuyoruz:
Kullanıcı sertifikaları
Kullanıcı sertifikası oluşturma işlemi sunucu sertifikası oluşturma işlemiyle aynıdır.
- Şifre koruması olmadan oluşturuyoruz:
./easyrsa gen-req client01 nopass
- Sertifika imzalanıyor:
./easyrsa sign-req client client01
- İmzayı doğrulayın:
openssl verify -CAfile pki/ca.crt pki/issued/client01.crt
Diffie Hellman.
Sertifika oluşturma
Sonuç olarak, dh.pem dosyası oluşturulacak ve dh2048.pem yapılandırmasında olacaktır. Anahtarları kopyalarken daha sonra yeniden adlandırın.
Sertifikaları transfer ediyoruz
Sunucu anahtar dosyalarını kopyalayın. Bunu yapmak için sırayla gerçekleştiriyoruz:
İstemci anahtarlarını kopyala
Difie-Hellman anahtar dosyasını kopyalayın
Önemli! Hedef dosya adı kasıtlı olarak yapılandırmadaki adla değiştirilir.
Yönlendirmeyi yapılandırma
Yapılandırmayı hızlandırmak için, çalışma FirewallD ile değil iptables ile gerçekleştirilecektir. Tutarlı bir şekilde gerçekleştirin:
Daha fazla yapılandırma yapmadan önce, komutu kullanarak arayüzlerin adlarına bakmalısınız:
NAT için bir kural ekleyin:
Bir örnek olarak:
Ağ arayüzleri arasında paket iletimine izin verin. Bunu yapmak için sysctl.conf sistem dosyasını düzenleyin:
Dosyanın başına şu satırı ekleyin:
Dosyayı kaydediyoruz, editörü kapatıyoruz ve ağ hizmetini komutla yeniden başlatıyoruz:
OpenVPN sunucusunu başlatıyoruz
Başlamak için hizmeti otomatik yüklemeye ekleyin:
OpenVPN'i başlatın:
Müşteri ayarı.
Sunucu yapılandırıldı, geriye bağlanabilmesi için istemciyi yapılandırmak kalıyor.
Kullanılan işletim sistemi ne olursa olsun, mobil, sunucu veya ev sürümü, Linux veya Windows, her zaman 4 dosyaya ihtiyacınız olacaktır:
- ca.crt;
- client.crt;
- client.key;
- client.ovpn
İlk 3 dosya /etc/openvpn /client/directory dizininde bulunur ve client.ovpn dosyasının oluşturulması gerekecektir. Bunu yapmak için, tüm istemci anahtarlarının bulunduğu dizine gidin:
Bir dosya oluşturun:
Aşağıdaki içeriği doldurun:
IP_ADDRESS yerine sunucunun IP adresini veya alan adını girin. Dosyayı Ctrl + X ile kaydedin ve düzenleyiciyi kapatın.
Dosyaları istemciye aktarıyoruz. Bunu örneğin SFTP aracılığıyla yapmak veya dizini arşivlemek ve web sunucusu aracılığıyla "vermek" mümkündür.
İstemci bağlantısı
İşletim sistemine bağlı olarak, kurulum dosyasını indiriyoruz veya depodan yüklüyoruz. Ayrıca, OpenVPN resmi web sitesinden edinilebilir.
Windows:
Windows çalıştıran bilgisayarlar için, ürün dağıtım paketini resmi siteden indirmeli, "dört dosyayı" almalı, C: Program FilesOpenVPNconfig klasörüne koymalısınız.
OpenVPN GUI'yi başlattıktan sonra, program simgesi sistem tepsisinde görünecektir. Farenin sağ tuşu ile üzerine tıklıyoruz, Bağlan'ı seçiyoruz.
MacOS
MacOS için OpenVPN biraz daha karmaşıktır. Açık kaynak aracı Tunnelblick'i kullanmalısınız. Anahtarlar ve yapılandırma dosyası ~ /Library/Application Support/Tunnelblick/Configurations içine konulmalıdır. Ya da yapılandırma dosyasına çift tıklayın.
Linuix:
Depodan yüklemelisiniz.
Debian/Ubuntu
CentOS/OpenSUSE/Fedora
Kurulumdan sonra, anahtarları içeren yapılandırma dosyasının bulunduğu klasöre gidin ve komutu çalıştırın:
Sunucunun çalışmasını kontrol etmek için IP adresinizi gösteren sitelerden herhangi birini kullanmalısınız.