Ubuntu Linux'ta OpenVPN sunucusu nasıl kurulur ve yapılandırılır

İçindekiler

OpenVPN İnternet üzerinden bir ağa güvenli bir bağlantı kurmamızın en iyi yolu şüphesiz budur.

OpenVPN bir VPN kaynağıdır Açık kaynak Bu, ağdaki bilgi hırsızlığının kurbanı olmaktan kaçınmak için kullanıcılar olarak göz atmamızı maskelememize olanak tanır. Bunlar, güvenlik düzeyinde dikkate almamız gereken çok önemli hususlardır ve bu sefer bir Ubuntu 16.04 ortamında OpenVPN yapılandırma sürecini analiz edeceğiz.

OpenVPN kullanırOpenVPN sayesinde aşağıdaki gibi görevleri gerçekleştirebiliriz:

  • Trafiği koruyun Web tarama işlemi sırasında.
  • kullanarak herhangi bir IP adresi üzerinden bir tünel olarak çalışır. tek bir TCP veya UDP bağlantı noktası.
  • Kurmak çoklu sunucular Ölçeklenebilir VPN.
  • Kullanmak şifreleme işlevleri ve trafiği korumak için kimlik doğrulama.
  • Değişimi dinamik tuşlar.
  • Köprüler oluşturun Güvenli Ethernet.
  • VPN yönetimi Windows ve Mac OS ortamlarından bir grafik arabirim kullanarak.

OpenVPN gereksinimleriKurulum işlemine başlamadan önce belirli gereksinimlerin karşılanması önemlidir, bunlar şunlardır:

  • Kök kullanıcı
  • Damlacık Ubuntu 16.04

1. Ubuntu 16.04'te Güncelleme ve OpenVPN nasıl kurulur

Aşama 1
Öncelikle aşağıdaki komutu kullanarak Ubuntu 16.04'ü güncelleyeceğiz:

 sudo apt-get güncellemesi 
Adım 2
Sistem güncellendikten sonra aşağıdaki komutu kullanarak OpenVPN kurulumuna geçiyoruz. OpenVPN paketlerinin indirilmesini ve ilgili kurulumunu kabul ediyoruz.
 sudo apt-get install openvpn kolay-rsa 

BÜYÜT

Böylece OpenVPN'i Ubuntu 16'ya kurduk ve şimdi yapılandırma işlemini gerçekleştirmek gerekli olacaktır.

2. Ubuntu 16.04'te CA dizini nasıl ayarlanır


NS CA dizini (Sertifika Yetkilisi - Yetki Belgesi), OpenVPN, aşağıdakileri kullanan bir VPN olduğundan, güvenilir sertifikalar verebilmemizin yoludur. TLS / SSL protokolleri.

Aşama 1
Bunun için şablonları easy-rsa'dan kopyalayacağız komutunu kullanarak ana dizinimizde make-cadir, Ubuntu 16.04 terminaline aşağıdakileri gireceğiz:

 make-cadir ~ / openvpn-ca 
Adım 2
Şimdi daha önce oluşturulan rotaya erişeceğiz:
 cd ~ / openvpn-ca 

BÜYÜT

3. Ubuntu 16.04'te yetki sertifikalarının değişkenlerini yapılandır


Yetki veya CA sertifikalarının kullanacağı değerleri yapılandırmamız ve bunun için dosyayı düzenlememiz gerekiyor. vars dizin içinde.

Aşama 1
Bu dosyayı tercih edilen düzenleyiciyi kullanarak açabiliriz, bu durumda nano olacaktır:

 sudo nano değişkenleri 

BÜYÜT

Adım 2
Bu dosyada yetki sertifikalarının nasıl oluşturulacağını belirlemek için ayarlayabileceğimiz ve yapılandırabileceğimiz değişkenleri buluyoruz. Bu değişkenleri bulana kadar dosyanın en altına ineceğiz:

 dışa aktar KEY_COUNTRY = "ABD" dışa aktar KEY_PROVINCE = "CA" dışa aktar KEY_CITY = "SanFrancisco" dışa aktar KEY_ORG = "Fort-Funston" dışa aktar KEY_EMAIL = "[email protected]" dışa aktar KEY_OU = "MyOrganizationalUnit"

BÜYÜT

Aşama 3
Bu değerleri gerekli olan parametrelere göre düzenleriz. Aynı şekilde satırı düzenleyeceğiz KEY_NAME dışa aktar uygun adı atadık, bu durumda ona sunucu adını verdik.

BÜYÜT

4. Adım
tutuyoruz kombinasyonu kullanarak değişiklikler:

Ctrl + O

Y dışarı çıktık kullanarak editörden

Ctrl + X

4. Ubuntu 16.04'te yetki sertifikası nasıl oluşturulur


Tanımlanan bu değerler ile yetki belgesinin oluşturulmasına geçiyoruz.

NotBunu hatırla ~ / openvpn-ca dizininde olmalıyız.

Aşama 1
Dizine girdikten sonra aşağıdaki komutu uygulayacağız:

 kaynak değişir 

BÜYÜT

Adım 2
Temiz bir ortama sahip olmak için belirtilen komutu yürütmeye devam ediyoruz:

 ./hepsini temizle 
Aşama 3
Şimdi kök CA sertifikasını oluşturacağız aşağıdaki komutu kullanarak:
 ./build-ca 
4. Adım
Vars dosyasında zaten yapılandırdığımız bir dizi soruyu görebiliriz, bunun için sadece basmamız gerekir. Girmek otomatik olarak tamamlanacak. Böylece sertifikayı oluşturduk hangi sürecin geri kalanı için yararlı olacaktır.

BÜYÜT

5. Ubuntu 16.04'te sunucu sertifikası, anahtar ve şifreli dosyalar nasıl oluşturulur


Bu noktada sunucu sertifikasını ve ilgili anahtarlarını oluşturacağız.

Aşama 1
Bunun için aşağıdaki komutu uygulayacağız:

 ./build-key-server sunucusu 
Sunucu adını satırda atanan adla değiştirmeliyiz KEY_NAME dışa aktar vars dosyasından). Vars dosyasında önceden tanımlanmış değerler, Enter tuşuna bastığımız için otomatik olarak yayılacaktır.

Adım 2
Sertifikanın doğru şekilde oluşturulduğunu görebiliriz.

BÜYÜT

Aşama 3
Daha sonra, aşağıdaki gibi diğer parametreleri oluşturacağız. Diffie-Hellman şifrelemesi Anahtar değişimi sırasında kullanılabilecek olan, bunun için aşağıdaki satırı kullanacağız.

 ./build-dh 

BÜYÜT

4. Adım
Bu işlemin tamamlanması birkaç dakika sürer. Sunucunun TLS bütünlük seviyelerini iyileştirmemize izin veren bir HMAC imzası da oluşturabiliriz, bunun için aşağıdakileri giriyoruz.

 openvpn --genkey --gizli anahtarlar / ta.key 

6. Ubuntu 16.04'te sunucu sertifikası, anahtar ve şifreli dosyalar nasıl oluşturulur


Bu işlem istemci makinede gerçekleştirilebilir ve daha sonra CA sunucusu kullanılarak imzalanabilir ancak bu sefer zaman kazanmak için doğrudan çalıştıracağız.Daha önce orada değilsek dizine tekrar erişiyoruz. ~ / openvpn-ca ve orada source vars komutunu çalıştıracağız.

Aşama 1
Şimdi müşterinin adını tanımladığımız aşağıdaki satırı gireceğiz:

 ./build-key çözücü1 
basmalıyız Girmek yukarıda yapılandırılmış ilgili sorularda

BÜYÜT

Adım 2
Bu komut, parola gerektirmeden kimlik bilgileri oluşturur, güvenlik nedeniyle parolalı bir kimlik bilgisi oluşturmak istiyorsak aşağıdaki satırı uygulamamız gerekir:

 ./build-key-pass (istemci adı) 

7. Ubuntu 16.04'te OpenVPN hizmeti nasıl yapılandırılır


Bir sonraki adım, OpenVPN hizmetini her şeyin istediğiniz gibi çalışması için yapılandırmaktır. Öncelikle ~ / openvpn-ca yolunda oluşturduğumuz dosyaları yola kopyalayacağız. / vb / openvpn, CA sertifikalarının, anahtarların, dosyanın Diffie-Hellman ve HMAC dosyası.

Aşama 1
Bunun için aşağıdaki dizine erişeceğiz:

 cd ~ / openvpn-ca / tuşlar 
Adım 2
Bir kez orada kopyalama işlemi için aşağıdaki satırı uygulayacağız:
 sudo cp ca.crt ca.key server.crt server.key ta.key dh2048.pem / etc / openvpn 
Aşama 3
Şimdi bir dosyayı kopyalayıp açmalıyız. OpenVPN yapılandırma dosyası bu dizinde bir üs olarak kullanmak için. Bunun için aşağıdakileri gireceğiz:
 gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf 

BÜYÜT

8. Ubuntu'da OpenVPN Ayarları Nasıl Ayarlanır 16.04

Aşama 1
Bu dosyalar gerekli yola girdikten sonra, dosyaya erişerek OpenVPN yapılandırmasını ayarlamaya devam ediyoruz. sunucu.conf:

 sudo nano /etc/openvpn/server.conf 

BÜYÜT

Adım 2
Orada aşağıdaki ayarlamaları yapacağız. çizgiye gidiyoruz tls-auth ta.key 0 # Bu dosya gizlidir ve altına aşağıdakileri ekleyeceğiz.

 tuş yönü 0 
Aşama 3
Çizgide şifre AES-128-CBC sembolü kaldırıyoruz; başında bulunur ve bu satırın altına aşağıdakileri gireceğiz.
 yetki SHA256 
4. Adım
Bu, bir kimlik doğrulama satırı oluşturmak içindir. mesaj algoritmasını seçin. satırlarda kullanıcı Y grup sembolünü kaldırıyoruz; başında yer alır.

BÜYÜT

İsteğe bağlı alternatifler olarak aşağıdakileri ekleyebiliriz.

VPN üzerinden DNS trafiğini zorlamakBu seçenek, tüm trafiği yalnızca VPN üzerinden yönlendirmek istediğimizde pratiktir.

 Bunun için önceki dosyada şu değişiklikleri yapacağız: Satırları yorumsuz bırakıyoruz: "yönlendirme-ağ geçidi def1 bypass-dhcp"'ye basın "dhcp-option DNS 208.67.222.222"'ye basın "dhcp-option DNS 208.67.220.220"'ye basın

OpenVPN'de bağlantı noktasını değiştirinVarsayılan olarak OpenVPN, istemci bağlantıları için 1194 numaralı bağlantı noktasını ve UDP ağ protokolünü kullanır. Bu portu değiştirmek istersek, satıra gideriz Liman ve mevcut ihtiyaca göre yeni portu atadık.

BÜYÜT

Aynı şekilde hattaki protokolü de ayarlayabiliriz. proto.

Ağ Ayarlarını Düzenleme - IP YönlendirmeBu nokta, tüm OpenVPN trafiğinin doğru şekilde yönlendirilmesine izin verdiği için önemlidir.

İlk önce etkinleştireceğiz IP adresi yönlendirme, yani sunucu trafiği iletir, bunun için dosyayı düzenlemeliyiz /etc/sysctl.conf:

 sudo nano /etc/sysctl.conf 
Dosyanın içine satırı yerleştireceğiz net.ipv4.ip_forward = 1 ve başında bulunan # sembolünü kaldırarak yorumunu kaldırıyoruz.

BÜYÜT

tutuyoruz değişiklikleri yapıyoruz ve dosyadan çıkıyoruz. Mevcut oturumda uygulanacak tüm değişiklikler için aşağıdaki komutu uygulayacağız.

 sudo sysctl -p

Ubuntu 16.04 güvenlik duvarında kuralları ayarlamaBizi sisteme gelen bağlantılardan koruduğu için güvenlik duvarı kullanımı önemlidir, bu noktada yapmamız gereken kurallar dosyasını düzenle maskelenmiş trafiği yapılandırmak için. Her şeyden önce, sunucunun genel ağ arayüzünü bilmeliyiz, bunun için aşağıdaki komutu yürütüyoruz:

 ip yolu | grep varsayılanı 

BÜYÜT

Bu örnekte genel ağ arayüzü enp0s3'tür. Şimdi erişeceğiz kurallar yapılandırma dosyasına ayarlamanız için aşağıdakileri giriyoruz:

 sudo nano /etc/ufw/before.rules 
Aşağıdaki pencere görüntülenecektir.

BÜYÜT

Bu dosya, tipik UFW kuralları yürütülmeden önce yapılması gereken yapılandırmayı yönetir. En üstte, POSTROUTING konfigürasyonunu oluşturacak aşağıdaki satırları gireceğiz:

 # OPENVPN KURALLARINI BAŞLAT # NAT tablo kuralları * nat: POSTROUTING ACCEPT [0: 0] # OpenVPN istemcisinden (arayüz) -A POSTROUTING -s 10.8.0.0/8 -o (arayüz) -j MASQUERADE COMMIT # END OPENVPN'e trafiğe izin ver TÜZÜK

BÜYÜT

Önemli olan enp0s3 alanı kullanılacak arayüzün doğru adını belirleyelim. tutuyoruz kombinasyonu kullanarak değişiklikler:

Ctrl + O

Y dışarı çıktık kullanarak editörden:

Ctrl + X

şimdi izin vermeliyiz UFW paketleri kabul et varsayılan, bunun için aşağıdaki komutu uygulayacağız:

 sudo nano / etc / varsayılan / ufw 
Çizgide DEFAULT_FORWARD_POLICY DROP terimini KABUL ile değiştiriyoruz.

BÜYÜT

tutuyoruz değişiklikler.

VPN bağlantı noktalarını açma ve değişiklikleri etkinleştirmeBir sonraki adım güvenlik duvarı ayarlarını yap OpenVPN'e giden tüm trafiğe izin vermek için. Bunun için yürütürüz aşağıdaki komut.

 sudo ufw 1194 / udp'ye izin veriyor 
NotPort ve protokolü düzenlediysek bu komutta değiştirmemiz gerekiyor, bunlar OpenVPN'in varsayılan değerleridir.

biz de ekliyoruz SSH bağlantı noktası:

 sudo ufw OpenSSH'ye izin veriyor 

BÜYÜT

NS değişiklikleri yükle aşağıdaki komutları kullanacağız.

 sudo ufw devre dışı bırak sudo ufw etkinleştir
Komutu kullanarak kuralların eklendiğini kontrol edebiliriz. sudo ufw durumu:

BÜYÜT

9. Ubuntu 16.04'te OpenVPN hizmeti nasıl başlatılır ve etkinleştirilir


Bunlarla önceden tanımlanmış değerler OpenVPN hizmetini Ubuntu'da başlatabiliyoruz ve bunun için atadığımız adı belirtmemiz gerekecek.

Aşama 1
Bunun için aşağıdaki satırı uygulayacağız:

 sudo systemctl openvpn @ sunucusunu başlat 
Adım 2
daha sonra OpenVPN'in durumunu doğrularız satırı kullanarak:
 sudo systemctl durumu openvpn @ sunucu 

BÜYÜT

Aşama 3
Durumunun doğru olduğunu ve başarıyla başladığını görebiliriz. Komut satırına dönmek için q harfine basıyoruz. Aynı şekilde, aşağıdakileri girerek OpenVPN tun0 arayüzünü doğrulayabiliriz:

 ip adresi tun0 göster 

BÜYÜT

4. Adım
OpenVPN hizmetinin her oturum açmada otomatik olarak çalışması için aşağıdaki parametreyi girmeliyiz:

 sudo systemctl openvpn @ sunucusunu etkinleştir 

BÜYÜT

10. Ubuntu 16.04'te OpenVPN istemci yapısı nasıl oluşturulur

Aşama 1
Bir sonraki adım, istemci yapılandırma dosyalarını oluşturmaktır, bunun için aşağıdakileri yürüterek kişisel dizinde bu yapıyı oluşturacağız:

 mkdir -p ~ / istemci yapılandırmaları / dosyalar 
Adım 2
Oluşturulan anahtarlar orada bulunduğundan, o rotadaki izinleri engelleyeceğiz, aşağıdaki satırı kullanacağız:
 chmod 700 ~ / istemci yapılandırmaları / dosyalar 

11. Ubuntu 16.04'te bir OpenVPN yapılandırma tabanı nasıl oluşturulur

Aşama 1
Bu noktada, bir istemci yapılandırma tabanını bir taban olarak almak için dizine kopyalayacağız, aşağıdakileri yürütüyoruz:

 cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~ / client-configs / base.conf 
Adım 2
Bu dosyayı tercih ettiğimiz düzenleyici ile açıyoruz:
 sudo nano ~ / client-configs / base.conf 

BÜYÜT

Aşama 3
Orada çizgiyi buluyoruz uzak ve ardından UDP bağlantı noktası 1194 tarafından takip edilen sunucunun IP adresini gireceğiz:

BÜYÜT

4. Adım
Aynı dosyada aşağıdaki değişiklikleri yapacağız:

  • Çizgileri yorumluyoruz kullanıcı Y grup işaretin kaldırılması;
  • Satırlara # sembolünü ekleyerek yorum yapıyoruz AC, sertifika Y anahtar
  • satırları ekliyoruz şifre AES-128-CBC Y yetki SHA256
  • Bir önceki satırın altına yazdığımız tuş yönü 1
  • Dosyanın sonuna aşağıdaki satırları ekliyoruz:
 script-security 2 / # up / etc / openvpn / update-resolv-conf / # down / etc / openvpn / update-resolv-conf

Sizin için işe yaramazsa, bu diğer komut dosyası güvenliği komutunu deneyin:

 script-security 2 / up / etc / openvpn / update-resolv-conf / down / etc / openvpn / update-resolv-conf

BÜYÜT

Adım 5
tutuyoruz kombinasyonu kullanarak değişiklikler:

Ctrl + O

Y dışarı çıktık kullanarak editörden:

Ctrl + X

12. Ubuntu 16.04'te OpenVPN yapılandırması için bir komut dosyası nasıl oluşturulur

Aşama 1
Bu komut dosyası, yoldaki sertifika, anahtar ve şifreleme dosyalarının en önemli olaylarını derlemekle ilgilenecektir. ~ / istemci yapılandırmaları / dosyalar. adında bir dosya oluşturacağız. make_config.sh aşağıdaki sözdizimini kullanarak:

 sudo nano ~ / client-configs / make_config.sh
Adım 2
Aşağıdaki satırları ekleyeceğimiz boş bir dosya açılacaktır:
 #! / bin / bash # İlk argüman: İstemci tanımlayıcısı KEY_DIR = ~ / openvpn-ca / anahtarlar OUTPUT_DIR = ~ / client-configs / files BASE_CONFIG = ~ / client-configs / base.conf cat $ {BASE_CONFIG} \ <(echo -e '') \ $ {KEY_DIR} /ca.crt \ <(echo -e '\ n') \ $ {KEY_DIR} / $ {1} .crt \ <(echo -e '\ n') \ $ {KEY_DIR} / $ {1} .key \ <(echo -e '\ n') \ $ {KEY_DIR} /ta.key \ <(echo -e '') \> $ {OUTPUT_DIR} / $ {1} .ovpn

BÜYÜT

Aşama 3
tutuyoruz değişiklikler ve dışarı çıktık editörden. Aşağıdakileri girerek bu dosyayı çalıştırılabilir hale getireceğiz:

 sudo chmod 700 ~ / client-configs / make_config.sh 

13. Ubuntu 16.04'te OpenVPN istemci dosyaları nasıl yapılandırılır


Bir sonraki adım olarak oluşturduğumuz istemci için yapılandırma dosyalarını oluşturmaktır. Solvetik1.

Aşama 1
Bunun için aşağıdaki satırları gireceğiz:

 cd ~ / client-configs ./make_config.sh client1 [düz] Adım 2 [/ düz] Bu klasörün içeriğini ls komutunu kullanarak görebiliriz: ls ~ / client-configs / files

BÜYÜT

Solvetic1 istemcisinin doğru oluşturulmuş olduğunu görüyoruz.

14. OpenVPN ayarları Ubuntu 16.04'te OpenVPN istemci makinelerine nasıl aktarılır


Ubuntu 16'da tüm yapılandırma işlemlerini yaptıktan sonra, Solvetic1.ovpn dosyası bilgisayarlar veya mobil cihazlar gibi ilgili cihazlara.

Aşama 1
Kullandığımız sisteme göre istediğimiz transfer istemcisini kullanabiliriz, bir Fedora 25 ortamında transfer örneği aşağıdaki gibi olabilir:

 sftp [email protected]: istemci yapılandırmaları / dosyalar / Solvetic1.ovpn ~ / 
Adım 2
Bu örnekte kullanacağımız pencereler ve müşteri Filezilla:

BÜYÜT

15. Ubuntu 16.04'te OpenVPN nasıl kurulur ve çalıştırılır


Aşama 1
OpenVPN Windows, Linux, Mac OS, Android, FreeBSD vb. için kullanılabilir. Aşağıdaki bağlantıdan uygun OpenVPN sürümünü indirebiliriz:

Adım 2
Ardından, çeşitli işletim sistemlerinde OpenVPN'in nasıl çalıştırılacağını göreceğiz.

OpenVPN'i Windows'ta çalıştırınİçinde pencerelerörnek sistem olan, .ovpn dosyasını kopyalayın rotada:

 C: \ Program Dosyaları \ OpenVPN \ yapılandırma 
Aşama 3
Oradan dosyaya sağ tıklayıp seçeneği seçebiliriz. Bu yapılandırma dosyasında OpenVPN'i başlatın

BÜYÜT

Bu şekilde OpenVPN sunucusuna bağlanacağız.

NotOpenVPN ile çalıştırılmalıdır yönetici ayrıcalıkları.

OpenVPN'i Linux'ta çalıştırınLinux sistemlerinde süreç aşağıdaki gibi olmalıdır:

Önce sistemi güncelliyoruz ve aşağıdaki komutları kullanarak OpenVPN'i kuruyoruz:

 sudo apt-get güncellemesi 
 sudo apt-get install openvpn 
eğer kullanırsak CentOS aşağıdaki komutları kullanacağız:
 sudo yum epel sürümünü yükleyin sudo yum openvpn yükleyin
Kurulduktan sonra OpenVPN aşağıdaki komutu uygulayacağız:
 ls / etc / openvpn 
Bir sonraki adım .ovpn dosyasını düzenleyin istenilen editör ile aktarılır.
 sudo nano dosyası.ovpn 
Açık dosyada yapmamız gereken yorumsuz aşağıdaki satırlar:
 script-security 2 up / etc / openvpn / update-resolv-conf
 aşağı / etc / openvpn / update-resolv-con 
Artık aşağıdaki sözdizimini kullanarak VPN'ye bağlanabiliriz:
 sudo openvpn --config Dosya.ovpn

OpenVPN'i Mac OS'de çalıştırınMac OS kullanırsak, aşağıdakiler için geçerlidir: macOS Sierra, yardımcı programı kullanabiliriz tünelblick aşağıdaki bağlantıdan ücretsiz olarak indirebiliriz:

Uygulamayı başlık çubuğunda çalıştırırken ilgili simgeyi göreceğiz, oraya tıklayın ve seçin Bağlamak ve yapılandırdığımız istemciyi seçiyoruz, örneğin, Solvetik1.

Android'de OpenVPN'i çalıştırınVPN üzerinden Linux'a bağlanmak isteyen Android kullanıcıları için aşağıdaki linkten OpenVPN Connect uygulamasını indirebiliriz:

Dosya .ovpn kullanmak için USB üzerinden telefona aktarmalıyız.
Uygulamayı çalıştırırken menüye gidiyoruz ve .ovpn dosyasının bulunduğu konumu seçiyoruz ve oradan içe aktarıyoruz. Bağlanmak için butona tıklıyoruz Bağlamak.

Belirtilen yollardan herhangi birinde amaç, OpenVPN'in sunduğu avantajlardan yararlanarak VPN üzerinden Ubuntu 16.04'e erişmektir.

BÜYÜT

Gördüğünüz gibi, Ubuntu'da bir OpenVPN sunucusunu yapılandırmak biraz karmaşıktır, ancak bu eksiksiz kılavuzla, onu bu sisteme yerleştirmek için yapmanız gereken her şeye adım adım sahip olacaksınız. Ubuntu'ya ek olarak başka dağıtımlar kullanıyorsanız, sizi burada bırakıyoruz Debian'da bir OpenVPN sunucusu nasıl yapılandırılır ve kurulur.

OpenVPN Debian Sunucusu

wave wave wave wave wave