Как да инсталирате и конфигурирате OpenVPN сървър на Ubuntu Linux

Съдържание

OpenVPN Това без съмнение е най -добрият начин как да установим сигурна връзка с мрежа чрез интернет.

OpenVPN е VPN ресурс на Отворен код Това ни позволява като потребители да маскираме сърфирането си, за да избегнем жертви на кражба на информация в мрежата. Това са много важни аспекти на ниво сигурност, които трябва да вземем предвид и този път ще анализираме процеса на конфигуриране на OpenVPN в среда на Ubuntu 16.04.

OpenVPN използваБлагодарение на OpenVPN можем да изпълняваме задачи като:

  • Защитете трафика по време на процеса на сърфиране в мрежата.
  • Работи като тунел над всеки IP адрес, който използва един TCP или UDP порт.
  • Настройвам множество сървъри Мащабируема VPN.
  • Използвайте функции за криптиране и удостоверяване за защита на трафика.
  • Размяна на динамични клавиши.
  • Създайте мостове от Защитен Ethernet.
  • Управление на VPN използване на графичен интерфейс от Windows и Mac OS среди.

Изисквания за OpenVPNПреди да започнете инсталационния процес е важно да отговорите на определени изисквания, това са:

  • Основен потребител
  • Капка Ubuntu 16.04

1. Как да инсталирате Update и да инсталирате OpenVPN на Ubuntu 16.04

Етап 1
На първо място, ще актуализираме Ubuntu 16.04, като използваме следната команда:

 sudo apt-get update 
Стъпка 2
След като системата се актуализира, пристъпваме към инсталиране на OpenVPN с помощта на следната команда. Приемаме изтеглянето и съответната инсталация на пакетите OpenVPN.
 sudo apt-get install openvpn easy-rsa 

Увеличете

По този начин инсталирахме OpenVPN на Ubuntu 16 и сега ще е необходимо да се извърши процесът на конфигуриране.

2. Как да настроите CA директория в Ubuntu 16.04


The CA директория (Certificate Authority- Certificate of Authority) е начинът, по който можем да издаваме доверени сертификати, тъй като OpenVPN е VPN, който използва TLS / SSL протоколи.

Етап 1
За това ще копираме шаблоните от easy-rsa в нашата домашна директория с помощта на командата make-cadir, ще въведем следното в терминала на Ubuntu 16.04:

 make-cadir ~ / openvpn-ca 
Стъпка 2
Сега ще имаме достъп до създадения по -рано маршрут:
 cd ~ / openvpn-ca 

Увеличете

3. конфигуриране на променливи на сертификати за пълномощия в Ubuntu 16.04


Необходимо е да конфигурираме стойностите, които ще се използват от органа или CA сертификатите и за това трябва да редактираме файла vars в директорията.

Етап 1
Можем да отворим този файл с предпочитания редактор, в този случай той ще бъде nano:

 sudo nano vars 

Увеличете

Стъпка 2
В този файл намираме променливите, които можем да коригираме и конфигурираме, за да определим начина, по който ще бъдат създадени сертификатите за пълномощия. Ще превъртаме до дъното на файла, докато намерим тези променливи:

 export KEY_COUNTRY = "САЩ" експорт KEY_PROVINCE = "CA" износ KEY_CITY = "SanFrancisco" износ KEY_ORG = "Форт-Фунстън" износ KEY_EMAIL = "[email protected]" експортиране KEY_OU = "MyOrganizationalUnit"

Увеличете

Стъпка 3
Ние редактираме тези стойности въз основа на необходимите параметри. По същия начин ще редактираме реда експортиране на KEY_NAME присвоихме подходящо име, в този случай го нарекохме сървър.

Увеличете

Стъпка 4
Ние пазим промени с помощта на комбинацията:

Ctrl + O

Y излязохме от редактора, използващ

Ctrl + X

4. Как да създадете сертификат за пълномощия в Ubuntu 16.04


С тези дефинирани стойности пристъпваме към създаването на сертификата за правомощия.

ЗабележкаНе забравяйте, че трябва да сме в директорията ~ / openvpn-ca.

Етап 1
След като сме в директорията, ще изпълним следната команда:

 източник vars 

Увеличете

Стъпка 2
Продължаваме да изпълняваме посочената команда, за да имаме чиста среда:

 ./clean-all 
Стъпка 3
Сега ще създадем основния CA сертификат като използвате следната команда:
 ./build-ca 
Стъпка 4
Можем да видим поредица от въпроси, които вече сме конфигурирали във файла vars, за които трябва само да натиснем Въведете да се завърши автоматично. По този начин създадохме сертификата което ще бъде полезно за останалата част от процеса.

Увеличете

5. Как да създадете сървърни сертификати, ключ и криптирани файлове в Ubuntu 16.04


На този етап ще създадем сървърния сертификат и съответните му ключове.

Етап 1
За целта ще изпълним следната команда:

 ./ build-key-server сървър 
Трябва да заменим името на сървъра с това, определено в реда експортиране на KEY_NAME от vars файла). Стойностите, които вече са дефинирани във файла vars, ще бъдат излъчени автоматично, за което натискаме Enter.

Стъпка 2
Можем да видим, че сертификатът е създаден правилно.

Увеличете

Стъпка 3
След това ще създадем други параметри, като например Шифроване на Дифи-Хелман който може да се използва по време на размяната на ключове, за това ще използваме следния ред.

 ./build-dh 

Увеличете

Стъпка 4
Този процес отнема няколко минути, за да завърши. Можем също така да генерираме HMAC подпис, който ни позволява да подобрим нивата на цялостност на TLS на сървъра, за това въвеждаме следното.

 openvpn --genkey --secret keys / ta.key 

6. Как да създадете сертификат за сървър, ключ и криптирани файлове в Ubuntu 16.04


Този процес може да се извърши на клиентската машина и по -късно да бъде подписан с помощта на CA сървъра, но този път ще го изпълним директно, за да спестим време. Достъпваме отново до директорията, ако вече не сме там. ~ / openvpn-ca и там ще изпълним командата source vars.

Етап 1
Сега ще въведем следния ред, където дефинираме името на клиента:

 ./build-key solutiontic1 
Трябва да натиснем Въведете в съответните въпроси, вече конфигурирани по -горе

Увеличете

Стъпка 2
Тази команда създава идентификационни данни, без да изисква парола, ако от съображения за сигурност искаме да установим идентификационни данни с парола, трябва да изпълним следния ред:

 ./build-key-pass (име на клиента) 

7. Как да конфигурирате услугата OpenVPN в Ubuntu 16.04


Следващата стъпка е да конфигурирате услугата OpenVPN, така че всичко да работи както искате. Първо ще копираме файловете, които сме създали по пътя ~ / openvpn-ca към пътя / etc / openvpn, не забравяйте, че CA сертификатите, ключовете, файлът Diffie-Hellman и HMAC файла.

Етап 1
За целта ще имаме достъп до следната директория:

 cd ~ / openvpn-ca / ключове 
Стъпка 2
След като там ще изпълним следния ред за процеса на копиране:
 sudo cp ca.crt ca.key server.crt server.key ta.key dh2048.pem / etc / openvpn 
Стъпка 3
Сега трябва да копираме и разархивираме a OpenVPN конфигурационен файл в тази директория да се използва като база. За целта ще въведем следното:
 gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf 

Увеличете

8. Как да коригирате настройките на OpenVPN в Ubuntu 16.04

Етап 1
След като имаме тези файлове в необходимия път, продължаваме да коригираме конфигурацията на OpenVPN чрез достъп до файла server.conf:

 sudo nano /etc/openvpn/server.conf 

Увеличете

Стъпка 2
Там ще направим следните корекции. Отиваме на линията tls-auth ta.key 0 # Този файл е таен и под него ще добавим следното.

 посока на ключа 0 
Стъпка 3
На линията шифър AES-128-CBC премахваме символа; разположен в началото на него и под този ред ще въведем следното.
 auth SHA256 
Стъпка 4
Това е с цел създаване на линия за удостоверяване за изберете алгоритъма на съобщението. По линиите потребител Y група премахваме символа на; разположен в началото.

Увеличете

Като незадължителни алтернативи можем да добавим следното.

Натискане на DNS трафик през VPNТази опция е практична, когато искаме да насочим целия трафик изключително през VPN.

 За това ще направим следните промени в предишния файл: Ние декомментираме редовете: натиснете "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 208.67.222.222" push "dhcp-option DNS 208.67.220.220"

Променете порта в OpenVPNПо подразбиране OpenVPN използва порт 1194 и мрежовия протокол на UDP за клиентски връзки. Ако искаме да променим този порт, отиваме на линията пристанище и ние присвояваме новия порт според текущите нужди.

Увеличете

По същия начин можем да регулираме протокола на линията прото.

Регулиране на мрежовите настройки - IP препращанеТази точка е важна, тъй като позволява целия трафик на OpenVPN да бъде насочен правилно.

Първо ще активираме Препращане на IP адрес, тоест, че сървърът препраща трафика, за това трябва да редактираме файла /etc/sysctl.conf:

 sudo nano /etc/sysctl.conf 
Вътре във файла ще поставим реда net.ipv4.ip_forward = 1 и ние го декомментираме, като премахнем символа #, разположен в началото на него.

Увеличете

Ние пазим промените и излизаме от файла. За всички промени, които ще бъдат приложени в текущата сесия, ще изпълним следната команда.

 sudo sysctl -p

Задаване на правилата в защитната стена на Ubuntu 16.04Използването на защитната стена е от съществено значение, тъй като тя ни предпазва от входящи връзки към системата, на този етап ние трябва редактирайте файла с правила за конфигуриране на маскиран трафик. На първо място, трябва да знаем публичния мрежов интерфейс на сървъра, за това изпълняваме следната команда:

 ip маршрут | grep по подразбиране 

Увеличете

В този пример публичният мрежов интерфейс е enp0s3. Сега ще имаме достъп към конфигурационния файл на правилата за вашата корекция въвеждаме следното:

 sudo nano /etc/ufw/before.rules 
Ще се покаже следният прозорец.

Увеличете

Този файл управлява конфигурацията, която трябва да бъде предшествана преди изпълнението на типичните UFW правила. Най -отгоре ще въведем следните редове, които ще установят конфигурацията POSTROUTING:

 # START OPENVPN RULES # NAT таблични правила * nat: POSTROUTING ACCEPT [0: 0] # Разрешаване на трафик от OpenVPN клиент към (интерфейс) -A POSTROUTING -s 10.8.0.0/8 -o (интерфейс) -j MASQUERADE COMMIT # END OPENVPN ПРАВИЛА

Увеличете

Важно е, че в поле enp0s3 нека зададем правилното име на интерфейса, който да използваме. Ние пазим промени с помощта на комбинацията:

Ctrl + O

Y излязохме от редактора, използвайки:

Ctrl + X

Сега трябва да позволим UFW приемайте пакети между другото по подразбиране, за това ще изпълним следната команда:

 sudo nano / etc / default / ufw 
На линията DEFAULT_FORWARD_POLICY ние променяме термина DROP чрез ACCEPT.

Увеличете

Ние пазим промените.

Отваряне на VPN портовете и активиране на променитеСледващата стъпка е да коригирайте настройките на защитната стена за да разрешите целия трафик към OpenVPN. За това изпълняваме следната команда.

 sudo ufw позволяват 1194 / udp 
ЗабележкаАко сме редактирали порта и протокола, трябва да го променим в тази команда, това са стойностите по подразбиране на OpenVPN.

Добавяме и SSH порт:

 sudo ufw позволяват OpenSSH 

Увеличете

Да се качване на промени ще използваме следните команди.

 sudo ufw деактивирайте sudo ufw enable
Можем да проверим дали правилата са добавени с помощта на командата sudo ufw статус:

Увеличете

9. Как да стартирате и активирате услугата OpenVPN в Ubuntu 16.04


С тези вече определени стойности Можем да стартираме услугата OpenVPN в Ubuntu и за това ще е необходимо да посочим името, което сме задали.

Етап 1
За целта ще изпълним следния ред:

 sudo systemctl стартира openvpn @ сървър 
Стъпка 2
Впоследствие потвърждаваме състоянието на OpenVPN използвайки реда:
 sudo systemctl статус openvpn @ сървър 

Увеличете

Стъпка 3
Можем да видим, че състоянието му е правилно и стартира успешно. Натискаме буквата q, за да се върнем в командния ред. По същия начин можем да проверим интерфейса на OpenVPN tun0, като въведем следното:

 ip addr show tun0 

Увеличете

Стъпка 4
За да може услугата OpenVPN да се стартира автоматично при всяко влизане, трябва да въведем следния параметър:

 sudo systemctl активира openvpn @ сървър 

Увеличете

10. Как да създадете клиентска структура на OpenVPN на Ubuntu 16.04

Етап 1
Следващата стъпка е да създадете клиентските конфигурационни файлове, за това ще създадем тази структура в личната директория, като изпълним следното:

 mkdir -p ~ / client -configs / files 
Стъпка 2
Ще блокираме разрешенията по този маршрут, тъй като създадените ключове се намират там, ще използваме следния ред:
 chmod 700 ~ / client-configs / files 

11. Как да създадете база за конфигурация на OpenVPN на Ubuntu 16.04

Етап 1
На този етап ще копираме клиентска конфигурационна база в директорията, за да я имаме за база, изпълняваме следното:

 cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client-configs/base.conf 
Стъпка 2
Отваряме този файл с предпочитания от нас редактор:
 sudo nano ~ / client-configs / base.conf 

Увеличете

Стъпка 3
Там намираме линията дистанционно и ще въведем IP адреса на сървъра, следван от UDP порт 1194:

Увеличете

Стъпка 4
В същия файл ще направим следните промени:

  • Коментираме репликите потребител Y група премахване на знака;
  • Коментираме, добавяйки символа # към редовете AC, сертификат Y ключ
  • Добавяме редовете шифър AES-128-CBC Y auth SHA256
  • Под предишния ред пишем посока на ключа 1
  • В края на файла добавяме следните редове:
 script-security 2 / # up / etc / openvpn / update-resolv-conf / # down / etc / openvpn / update-Resolv-conf

Ако не работи при вас, опитайте тази друга форма на команда за защита на скрипта:

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

Увеличете

Стъпка 5
Ние пазим промени с помощта на комбинацията:

Ctrl + O

Y излязохме от редактора, използвайки:

Ctrl + X

12. Как да създадете скрипт за конфигурация на OpenVPN на Ubuntu 16.04

Етап 1
Този скрипт ще се погрижи за компилирането на най -важните събития от сертификата, ключа и файловете за криптиране по пътя ~ / client-configs / files. Ще създадем файл, наречен make_config.sh използвайки следния синтаксис:

 sudo nano ~ / client-configs / make_config.sh
Стъпка 2
Ще се отвори празен файл, където ще добавим следните редове:
 #! / bin / bash # Първи аргумент: Клиентски идентификатор KEY_DIR = ~ / openvpn-ca / keys OUTPUT_DIR = ~ / client-configs / files BASE_CONFIG = ~ / client-configs / base.conf cat $ {BASE_CONFIG} \ <(ехо -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

Увеличете

Стъпка 3
Ние пазим промените и излязохме от редактора. Ще направим този файл изпълним, като въведем следното:

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

13. Как да конфигурирате клиентски файлове на OpenVPN на Ubuntu 16.04


Следващата стъпка е да създадем конфигурационните файлове за клиента, които сме създали като Solvetic1.

Етап 1
За целта ще въведем следните редове:

 cd ~ / client-configs ./make_config.sh client1 [обикновен] Стъпка 2 [ / plain] Можем да видим съдържанието на тази папка с помощта на командата ls: ls ~ / client-configs / files

Увеличете

Виждаме, че има клиент Solvetic1, създаден правилно.

14. Как да прехвърля настройките на OpenVPN към клиентски машини на OpenVPN на Ubuntu 16.04


След като приключим с целия процес на конфигуриране в Ubuntu 16, е време да го прехвърлим Solvetic1.ovpn файл към съответните устройства, като компютри или мобилни устройства.

Етап 1
Можем да използваме клиента за прехвърляне, който искаме въз основа на системата, която използваме, пример за прехвърляне може да бъде следният в среда на Fedora 25:

 sftp [email protected]: client-configs / files / Solvetic1.ovpn ~ / 
Стъпка 2
В този пример ще използваме Windows и клиента Filezilla:

Увеличете

15. Как да инсталирате и стартирате OpenVPN на Ubuntu 16.04


Етап 1
OpenVPN е наличен за Windows, Linux, Mac OS, Android, FreeBSD и др. На следната връзка можем да изтеглим подходящата версия на OpenVPN:

Стъпка 2
След това ще видим как да стартираме OpenVPN на различните операционни системи.

Стартирайте OpenVPN в WindowsВ Windows, което е примерната система, трябва копирайте .ovpn файла по маршрута:

 C: \ Program Files \ OpenVPN \ config 
Стъпка 3
Оттам можем да кликнете с десния бутон върху файла и да изберете опцията Стартирайте OpenVPN в този конфигурационен файл

Увеличете

По този начин ще се свържем със сървъра на OpenVPN.

ЗабележкаOpenVPN трябва да се изпълнява с административни привилегии.

Стартирайте OpenVPN на LinuxПроцесът в Linux системите трябва да бъде както следва:

Първо актуализираме системата и инсталираме OpenVPN с помощта на следните команди:

 sudo apt-get update 
 sudo apt-get install openvpn 
Ако използваме CentOS ще използваме следните команди:
 sudo yum инсталирайте epel-release sudo yum инсталирайте openvpn
Веднъж инсталиран OpenVPN ще изпълним следната команда:
 ls / etc / openvpn 
Следващата стъпка е да редактирайте .ovpn файла прехвърлени с желания редактор.
 sudo nano файл.ovpn 
В отворения файл трябва коментирайте следните редове:
 script-security 2 up / etc / openvpn / update-Resolv-conf
 надолу / etc / openvpn / update-resolv-con 
Сега можем да се свържем с VPN, като използваме следния синтаксис:
 sudo openvpn --config File.ovpn

Стартирайте OpenVPN на Mac OSАко използваме Mac OS, това се отнася за macOS Sierra, можем да използваме помощната програма тунелно щракване които можем да изтеглим безплатно на следния линк:

При изпълнение на приложението в заглавната лента ще видим съответната икона, щракнете там и изберете Свържете се и ние избираме клиента, който сме конфигурирали, например, Solvetic1.

Стартирайте OpenVPN на AndroidЗа потребителите на Android, които искат да се свържат с Linux чрез VPN, можем да изтеглим приложението OpenVPN Connect на следната връзка:

Файлът .ovpn трябва да го прехвърлим през USB към телефона за използване.
При изпълнение на приложението отиваме в менюто и избираме мястото, където имаме .ovpn файла и от там го импортираме. За да се свържете, кликваме върху бутона Свържете се.

По всеки от посочените начини целта е да получите достъп до Ubuntu 16.04 чрез VPN, наслаждавайки се на предимствата, предлагани от OpenVPN.

Увеличете

Както можете да видите, конфигурирането на OpenVPN сървър в Ubuntu е донякъде сложно, но с това пълно ръководство имате стъпка по стъпка всичко, което трябва да направите, за да го поставите в тази система. Ако в допълнение към Ubuntu използвате и други дистрибуции, тук ви оставяме как да конфигурирате и инсталирате OpenVPN сървър на Debian.

OpenVPN Debian сървър

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave