OpenVPN, VPN bağlantısı için en popüler protokollerden biridir. Sanal bir özel ağ oluşturmak veya yerel ağları birbirine bağlamak için kullanılabilir. OpenVPN açık kaynaklıdır ve GNU GPL lisansı ile ücretsiz olarak dağıtılır. Diğer VPN protokollerinden daha yüksek bağlantı hızları sağlar. Ayrıca, OpenVPN en güvenli protokollerden biri olarak adlandırılabilir. İletilen tüm veriler, yüksek güvenlik ve anonimlik sağlayan OpenSSL şifreleme kitaplığı ve SSLv3 / TLSv1 protokolleri ile güvenli bir şekilde korunur.
Önemli! OpenVPN sunucusunu barındıracak Keenetic yönlendirici, global bir IP adresiyle Internet'e bağlı olmalı ve KeenDNS etki alanı adını kullanırken, Doğrudan erişim modunda yapılandırılmalıdır. Bu koşullardan herhangi biri karşılanmazsa, İnternet'ten böyle bir sunucuya bağlanmak mümkün olmayacaktır.
OpenVPN bağlantısını yapılandırmak için 'OpenVPN istemcisi' sisteminin bir bileşeninin kurulması gerekir. Bu bileşen ile Keenetic'te hem istemci hem de OpenVPN sunucusunu kullanabilirsiniz. ' OpenVPN istemcisi ' makalesinde bulabileceğiniz istemci modunun ayrıntılı açıklaması . Sistem bileşenini, 'Bileşen seçenekleri'ni tıklayarak' Güncellemeler ve bileşenler 'bölümündeki' Genel sistem ayarları 'sayfasına yükleyebilirsiniz.
OpenVPN modu (istemci veya sunucu) temel olarak yapılandırma dosyası tarafından tanımlanır.
Önemli! Keenetic'de kullanım için OpenVPN yapılandırma gereksinimleri:
- Yapılandırma tek bir dosyada olmalıdır.
- Sertifikalar, anahtarlar, vb. Bu dosyaya dahil edilmelidir.
- Yapılandırmada yalnızca belgede listelenen seçenekleri kullanmalısınız: https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage
- Yukarıda açıklanan seçeneklerin bazıları desteklenmeyebilir. Örneğin, OpenVPN uygulamamız IPv6 ile ilgili seçenekleri desteklemez.
- Seçeneklerin sırası ve etkinleştirilmiş sertifikalar ve anahtarlar önemli değildir.
- OpenVPN yapılandırma dosyası başlangıç-yapılandırma yapılandırma dosyasına kaydedilmez. OpenVPN istemci arayüzü ayarlarının yedeğini almak için ayrı olarak kaydetmeniz gerekir.
'Siteden siteye' türündeki OpenVPN'i bağlama örneğini ele alalım.
Keenetic # 2 istemcisini (Ev segmenti 192.168.2.0/24, tünel adresi: 10.1.0.2) Keenetic # 1'deki (Ev segmenti 192.168.1.0/24, tünel adresi: 10.1.0.1) sunucuya bağlayacağız
1. İlk olarak, paylaşılan bir gizli anahtar kullanarak en basit yapılandırmaya bakalım.
1.1 Keenetic # 1 için minimum OpenVPN sunucusunun yapılandırması:
dev tun
ifconfig 10.1.0.1 10.1.0.2
cipher AES-128-CBC
<secret>
<--insert the secret key here
</secret>
verb 3
route 192.168.2.0 255.255.255.0
1.2 Keenetic # 2 için minimum OpenVPN istemcisi yapılandırması:
dev tun
remote KEENETIC-1.mykeenetic.ru <-- server's domain name or IP address
ifconfig 10.1.0.2 10.1.0.1
cipher AES-128-CBC
<secret>
<--insert the secret key here
</secret>
verb 3
route 192.168.1.0 255.255.255.0
or
redirect-gateway def1
or
route 0.0.0.0 0.0.0.0 <-- if it's neccessary to route all the traffic in the tunnel
1.3 Paylaşılan bir gizli anahtar oluşturun. Bunu yapmak için buradan OpenVPN'i indirin ve yükleyin: https://openvpn.net/index.php/download/community-downloads.html
Bu örnekte Windows için 2.4.6-I602 sürümünü kullanacağız.
Yazılımı yükledikten sonra bilgisayarı yeniden başlatın.
Varsayılan olarak, program C: \ Program klasörüne yüklenecektir.
Windows komut satırını yönetici olarak çalıştırın. C: \ Program Files \ OpenVPN \ bin adresine gidin ve şu komutu çalıştırın:
openvpn.exe --genkey --secret static.key
1.4 Oluşturulan static.key dosyasını herhangi bir metin düzenleyicisinde (örn. Not Defteri) paylaşılan gizli anahtarla açın, içeriğini panoya (Ctrl-A, Ctrl-C) kopyalayın ve (Ctrl-V) istemci ve sunucu yapılandırma dosyaları.
Keenetic # 1 için static-server.ovpn yapılandırma dosyalarına ve paylaşılan gizli anahtarlı Keenetic # 2 için static-client.ovpn yapılandırma dosyalarına örnekler bu makalenin sonuna eklenmiştir. Bu dosyalarda, gerekirse daha sonra kullanılabilecek başka yorumlanmış (';' ile başlayan) ayarlar da vardır. Static-client.ovpn içindeki KEENETIC-1.mykeenetic.ru etki alanı adını Keenetic # 1 etki alanı adınızla veya genel IP adresinizle değiştirerek doğrulama için bu yapılandırma dosyalarını kullanabilirsiniz. her iki dosyada da oluşturulur.
1.5 1. Keenetic'in web arayüzündeki 'Diğer bağlantılar' sayfasına gidin ve 'VPN bağlantıları' bölümündeki 'Bağlantı oluştur'u tıklayın. 'VPN bağlantı ayarları' penceresinde, 'Tür (protokol)' alanında 'OpenVPN' seçeneğini seçin.
Ardından 'Bağlantı adı' alanına bağlantının adını girin ve 'OpenVPN yapılandırması' alanına static-server.ovpn yapılandırma dosyasının içeriğini ekleyin. Ayarları kaydedin.
1.6 Aynı şekilde, ikinci Keenetic'in web arabirimine bir static-client.ovpn yapılandırmasıyla bir OpenVPN bağlantısı ekleyin:
1.7 Ayrıca, Keenetic # 1 (sunucu) tarafında, yönlendiricinin komut satırı arabirimi (CLI) üzerinden aşağıdaki komutların yürütülmesi gerekir :
interface OpenVPN0 no ip global
interface OpenVPN0 security-level private
Özel güvenlik düzeyine sahip Home ve OpenVPN0 arabirimleri arasındaki trafiğe izin vermek için şu komutu çalıştırın:
no isolate-private
İstemciyi Internet'e de bağlamak için bu sunucuyu kullanmayı planlıyorsanız, şu komutu çalıştırın:
ip nat 10.1.0.2 255.255.255.255
ve ayarları şu komutla kaydedin:
system configuration save
1.8 Son olarak, OpenVPN bağlantısı için bir port açmak gerekir. Varsayılan bağlantı noktası UDP / 1194'tür. Bunu yapmak için, 'Sağlayıcı' arabirimi veya 'Güvenlik Duvarı' sayfasında Internet'e erişmek için kullanılan arabirim için bir kural oluşturun ('Sağlayıcıya ek olarak, PPPoE, L2TP veya PPTP arabirimleri olabilir).
'Güvenlik duvarı kuralı' penceresinde, 'Eylem' alanında 'İzin Ver'i seçin; 'Protokol' alanında 'UDP' ve 'Hedef port numarası' alanında '1194'e eşit'.
Bu, OpenVPN tünelinin yapılandırmasını tamamlar. Tünelin başarılı bir şekilde kurulduğu Sistem günlüğündeki mesajlarla (' Teşhis ' sayfasındaki) kanıtlanabilir :
Kontrol etmek için tünelin her iki ucuna da ping atmayı deneyin:
ping 10.1.0.1
ping 10.1.0.2
ve sonra uzak alt ağlar:
ping 192.168.1.1
ping 192.168.2.1
2. İki yönlü TLS kimlik doğrulaması kullanarak yapılandırma.
Yukarıda belirtilen kimlik doğrulama yönteminin dezavantajı, paylaşılan bir gizli anahtar yardımıyla, katılan VPN ana bilgisayarlarından birinin çalınması, bu anahtarın tüm katılımcılardan değiştirilmesine gerek olmasıdır. Bu, yeni anahtarın güvenli olmayan bir İnternet kanalı üzerinden nasıl güvenli bir şekilde aktarılacağı sorusunu gündeme getirir. Bu nedenle, birkaç istemcinin sunucuya bağlanması gerekiyorsa, TLS kimlik doğrulaması seçilmelidir.
Bu durumda, her bir tarafın hiçbir yere aktarılmayan kendi özel anahtarı vardır. Yalnızca CA tarafından imzalanan istemcinin ortak anahtar sertifikası iletilir. Bu tür sertifikalar belirli bir süre için uzman kuruluşlar tarafından para karşılığında verilir. Ancak, VPN'yi şirketinizde düzenlemek için, güvenlik için özel bir gereklilik yoksa, kendi sertifika merkezinizi kullanabilirsiniz.
Şimdi iki istemciyi bağlamak için Windows'da anahtarlar ve sertifikalar oluşturmaya bir örnek verelim: Keenetic-2 ve Keenetic-3, Keenetic-1 sunucusuna.
Gerekli tüm anahtarların ve sertifikaların oluşturulması için, Windows'taki OpenVPN 2.4.6-I602 paket sürümünde bulunan ve içinde bulunan openssl yardımcı programını kullanan bir dizi EasyRSA komut dosyasına ihtiyacımız var.
EasyRSA'yı kurmak için OpenVPN'i kurarken 'EasyRSA 2 Sertifika Yönetimi Komut Dosyaları' bileşenini işaretleyin:
2.1 Windows komut satırını yönetici olarak açın.
C: \ Program Files \ OpenVPN \ easy-rsa adresine gidin ve çalıştırın:
init-config.bat
Sonuç olarak, anahtarlarınızı ve sertifikalarınızı oluşturmak için ortamı yapılandıran bir vars.bat dosyası alırız.
Bu dosyayı Windows Not Defteri'nde açın ve varsayılan olarak 'anahtarları' için saklayacak bir klasör belirtin:
set KEY_DIR=keys
sertifika sahibi alanlarınızın varsayılan değerlerinin yanı sıra, örneğin:
set KEY_COUNTRY=GB
set KEY_PROVINCE=YourProvince
set KEY_CITY=YourCity
set KEY_ORG=YourOrganisation
set KEY_EMAIL=mail@example.ru
set KEY_CN=CommonName
set KEY_NAME=KeyName
set KEY_OU=OrganisationUnit
Değiştirilen dosyayı kaydedin.
2.2 Windows komut satırında (bir kez) yürüterek yeni index.txt ve seri yardımcı dosyaları oluşturun:
vars
clean-all
2.3 Aşağıdakileri yaparak sertifika yetkiliniz için özel bir anahtar ve sertifika oluşturun:
vars
build-ca
Sertifika yetkilinizin oluşturulan ca.key ve ca.cert dosyaları C: \ Program Files \ OpenVPN \ easy-rsa \ keys klasöründe görünecektir.
2.4 Trafiğinizin şifresini çözmek için bir Diffy-Helman dosyası oluşturun. TLS sunucusu tarafından kullanılacaktır. Bazı durumlarda prosedür biraz zaman alabilir (örneğin, anahtar boyutu 4096 bit olduğunda, onlarca dakika sürer), ancak yalnızca bir kez yapılması gerekir:
vars
build-dh
C: \ Program Files \ OpenVPN \ easyrsa \ keys klasöründe dh2048.pem (veya 4096 bit anahtar boyutu kullanılırken dh4096.pem) dosyası görünür.
2.5 Aşağıdakileri gerçekleştirerek OpenVPN TLS sunucusu (Keenetic-1) için özel bir anahtar ve sertifika oluşturun:
vars
build-key-server Keenetic-1
Komut dosyası Ortak Ad (CN) istediğinde sunucu adını girin, örneğimiz Keenetic-1'e. Sonunda sertifikayı imzaladığınızı iki kez onaylayın (y).
2.5 İlk OpenVPN TLS istemcisi (Keenetic-2) için özel anahtarı, PEM isteğini ve sertifikasını yürüterek oluşturun:
vars
build-key Keenetic-2
Komut dosyası Ortak Ad (CN) istediğinde, ilk istemcinin adını girin - Keenetic-2. Sertifikayı imzaladığınızı iki kez (y) onaylayın.
2.6 İkinci istemci (Keenetic-3) için önceki adımı tekrarlayın:
vars
build-key Keenetic-3
Komut dosyası Ortak Ad (CN) istediğinde, ikinci istemcinin adını girin - Keenetic-3. Sertifikayı imzaladığınızı iki kez (y) onaylayın.
Benzer şekilde, istediğiniz sayıda istemci için anahtarlar, sorgular ve sertifikalar oluşturabilirsiniz.
2.7 DoS saldırılarına ve sele karşı ek koruma sağlamak için bir HMAC anahtarı oluşturun:
vars
openvpn.exe --genkey --secret keys\ta.key
Bu noktada, gerekli tüm dosyalar oluşturulur:
OpenVPN sunucusunda ve istemci yapılandırmalarında kullanmak için aşağıdaki dosyalar gereklidir:
ca.crt - dh2048.pem sertifika sertifikası
(veya dh4096.pem) - Diffy-Helman dosyası
Keenetic-1.crt - OpenVPN sunucu sertifikası (Keenetic-1)
Keenetic-1.key - OpenVPN sunucusu özel anahtarı (Keenetic- 1)
Keenetic-2.crt - 1. OpenVPN istemcisinin sertifikası (Keenetic-2)
Keenetic-2.key - 1. OpenVPN istemcisinin özel anahtarı (Keenetic-2)
Keenetic-3.crt - 2. OpenVPN istemcisinin sertifikası ( Keenetic-3)
Keenetic-3.key - 2. OpenVPN istemcisinin özel anahtarı (Keenetic-3)
ta.key - DoS saldırılarına ve sele karşı ek koruma için HMAC anahtarı
Yapılması gereken tek şey, içeriklerini sunucu ve istemci yapılandırma metin dosyalarına eklemektir.
2.8 Bir OpenVPN sunucu yapılandırma dosyası oluşturmak için C: \ Program Files \ OpenVPN \ sample-config \ içinde bulunan örnek server.ovpn'yi kullanın. Anahtarları ve sertifikaları aşağıdaki gibi eklemeniz gerekir:
2.8.1 Hattı değiştirin:
ca ca.crt
bölüm ile:
<ca>
-----BEGIN CERTIFICATE-----
<--Insert the body of the certificate of the certification centre from the file ca.crt here
-----END CERTIFICATE-----
</ca>
2.8.2 Değiştirin:
cert server.crt
bölüm ile:
<cert>
----- SERTİFİKAYI
BAŞLAT ----- <- OpenVPN sunucu sertifikasının gövdesini Keenetic-1.crt dosyasından buraya ekleyin
----- END SERTİFİKASI -----
</ cert >
2.8.3 Hattı değiştirin:
key server.key
bölüm ile:
<key>
-----BEGIN PRIVATE KEY-----
<--Insert the body of the OpenVPN server private key from the Keenetic-1.key file here
-----END PRIVATE KEY-----
</key>
2.8.4 Hattı değiştirin:
dh dh2048.pem
bölüm ile:
<dh>
-----BEGIN DH PARAMETERS-----
<--Insert the contents of the file Diffie-Helman dh4096.pem here
-----END DH PARAMETERS-----
</dh>
2.8.5 Hattı aç:
topology subnet
2.8.6 Çizgiyi yorumlayın :
;ifconfig-pool-persist ipp.txt
2.8.7 Hattı değiştirin:
tls-auth ta.key 0
bölüm ile:
<tls-auth>
-----BEGIN OpenVPN Static key V1-----
<--СInsert the contents of the ta.key file here
-----END OpenVPN Static key V1-----
</tls-auth>
ve satırı ekleyin:
key-direction 0
2.8.8 Çizgiyi yorumlayın :
;status openvpn-status.log
2.9 İlk OpenVPN istemcisi için yapılandırma dosyası oluşturmak için C: \ Program Files \ OpenVPN \ sample-config \ içinde bulunan client.ovpn örneğini kullanın. Anahtarları ve sertifikaları aşağıdaki gibi eklemeniz gerekir:
2.9.1 Hatta:
remote my-server-1 1194
my-server-1'i OpenVPN sunucunuzun (Keenetic-1) alan adı veya genel IP adresiyle değiştirin.
2.9.2 Hattı değiştirin:
ca ca.crt
bölüm ile:
<ca>
-----BEGIN CERTIFICATE-----
<--Insert the body of the certificate of the certification authority from the file ca.crt here
-----END CERTIFICATE-----
</ca>
2.9.3 Hattı değiştirin:
cert client.crt
bölüm ile:
<cert>
-----BEGIN CERTIFICATE-----
<--Сюда вставьте тело сертификата первого клиента OpenVPN из файла Keenetic-2.crt
-----END CERTIFICATE-----
</cert>
2.9.4 Hattı değiştirin:
key client.key
bölüm ile:
<key>
-----BEGIN PRIVATE KEY-----
<--Insert the body of the private key of the first OpenVPN client from the Keenetic-2.key file here
-----END PRIVATE KEY-----
</key>
2.9.5 Hattı değiştirin:
tls-auth ta.key 1
bölüm ile:
<tls-auth>
-----BEGIN OpenVPN Static key V1-----
<--Insert the contents of the ta.key file here
-----END OpenVPN Static key V1-----
</tls-auth>
ve satırı ekleyin:
key-direction 1
2.9.6 Sunucunun yerel ağına giden yolu içeren bir satır ekleyin:
route 192.168.1.0 255.255.255.0
veya:
route 0.0.0.0 0.0.0.0
tüm trafiğin tünele yönlendirilmesi gerekiyorsa.
2.10 Sırasıyla Keenetic-3.crt ve Keenetic-3.key dosyalarından veri alarak ikinci istemci için aynı işlemleri tekrarlayın.
Üç Keenetic istemcisi için bu tür yapılandırma dosyalarına örnekler makalenin sonuna eklenmiştir:
tls-server-keenetic-1.ovpn
tls-client-keenetic-2.ovpn
tls-client-keenetic-3.ovpn
Bunları kullanarak istemciler dosyalarındaki KEENETIC-1.mykeenetic.co.uk istemci adının yerine Keenetic-1 sunucunuzun etki alanı adı veya genel ip adresi ve sizin oluşturduğunuz dosyaların sertifikalarını ve anahtarlarını yazın.
Şimdi tek yapmanız gereken bunları 1.5, 1.6'daki gibi Keenetic yönlendiricilere indirmek ve bu kılavuzun 1.7, 1.8'de açıklanan eylemleri gerçekleştirmek.
Bu kurulumun sonu. Tünellerin kurulup kurulmadığını kontrol edin.
Bunu yapmak için, istemci tarafından sunucunun tünel adresine ping komutunu çalıştırın:
ping 10.1.0.1
ve sunucunun ev ağındaki adresi:
ping 192.168.1.1
İpucu: Örneğin ikinci bölümünde, basitlik açısından, tüm işlemleri tek bir klasörde gerçekleştirdik, ancak güvenlik nedeniyle sertifika yetkilisini Internet'ten ayrı bir bilgisayara yerleştirmek ve yalnızca gizli anahtarı saklamak önerilir. üstünde; ve sertifikayı çıkarılabilir ortamda taşıyın. Benzer şekilde, sunucunun ve OpenVPN istemcilerinin özel anahtarları yalnızca tünelin ilgili taraflarına yerleştirilmelidir. Yalnızca sertifikalar değiştirilebilir.
Not
1. Sunucuya bağlı OpenVPN istemcileri, 'Kayıtlı olmayan cihazlar' listesindeki 'Cihaz listeleri' sayfasında görüntülenecektir. 'Kayıtlı olmayan cihazlar için bağlantı politikası' bölümündeki 'Giriş segmenti' sayfasında 'İnternet erişimi yok' politikasını seçtiyseniz, İnternet erişimi de sağlamanız gerekiyorsa OpenVPN istemcilerini kaydetmeyi unutmayın.
2. OpenVPN arayüzünün yapılandırması startup-config dosyasına kaydedilmez. Yedekleme amacıyla, OpenVPN ayarlarını ayrı bir dosyada yedeklemenizi öneririz.
İpucu: Aşağıdaki bilgileri okumanızı öneririz:
- OpenVPN 2.4 belgeleri
- https://en.wikipedia.org/wiki/OpenVPN
- https://en.wikipedia.org/wiki/TUN/TAP
- Bir TAP OpenVPN sunucusu oluşturmak mümkün müdür?