VPN важливий для надійного підключення ресурсів сервера через загальнодоступний Інтернет до його приватної мережі або мережі за брандмауером та зв’язку декількох приватних мереж у філіях компанії.


У цьому підручнику ми встановили OpenVPN в Centos 7 і налаштуємо VPN-з’єднання з клієнтом Windows.

Особлива примітка: відгуки про хостинг HostAdvice дозволяють вам проконсультуватися з тисячами користувачів перед придбанням хостинг-плану. Якщо ви хочете придбати план VPS CentOS 7, зверніться до оглядів хостингу VPS або оглядів хостингу Linux.

Установка пакетів:

OpenVPN: рішення з відкритим кодом SSL VPN

EPEL Repo: OpenVPN доступний у Epel Repo та недоступний у сховищі Centos за замовчуванням

Easy-RSA: використовується для створення та генерації ключів та сертифікатів у підключенні vpn.

$ sudo yum встановити openvpn epel-release easy-rsa

Скріншот встановлення пакетів

Підготуйте Easy-RSA для створення ключів та сертифікатів

Створіть каталог для збереження ключів та сертифікатів

$ sudo mkdir -p / etc / openvpn / easy-rsa / keys

Скопіюйте сценарії easy-rsa в каталог openvpn easy-rsa

$ sudo cp -rf /usr/share/easy-rsa/3.0.3/* / тощо / openvpn / easy-rsa /

Особлива примітка: У цьому випадку ми використовуємо easy-rsa v3, яка є останньою версією на момент створення цього підручника

Змініть право власності на easy-rsa на некорінного користувача.

$ sudo chown -R linuxuser / тощо / openvpn / easy-rsa /

Налаштуйте новий PKI, запустивши сценарій init-pki

$ cd / etc / openvpn / easy-rsa
$ ./easyrsa init-pki

Налаштуйте новий PKI, запустивши скріншот сценарію init-pki

Особлива примітка: pki dir зараз / etc / opnevpn / easy-rsa / pki

Створення сертифікаційного органу

$. / easyrsa build-ca nopass

Варіант nopass полягає в тому, щоб включити підписання сертифікатів без введення пароля. Для критичних програм, які потребують високого рівня безпеки, рекомендується видалити параметр nopass.

Орган побудови сертифікатів (nopass) - скріншот

Особлива примітка: файл сертифіката зараз знаходиться за адресою /etc/openvpn/easy-rsa/pki/ca.crt

Створіть серверні ключі та сертифікати та підпишіть їх запити

$ ./easyrsa gen-req centos7-hostadvice nopass

Структура командування

./ easyrsa gen-req UNIQUE_SERVER_SHORT_NAME nopass

Примітка. Зазвичай серверні ключі розшифровуються за допомогою "обхід" аргумент. Це виключно тому, що сервери зазвичай завантажуються без введення пароля. Це породжує незашифрований ключ, тому обережно захищайте його права доступу та файлів.

./easyrsa gen-req UNIQUE_SERVER_SHORT_NAME

Спеціальна примітка: Файли зберігання ключів і запитів на сертифікат зараз о
req: /etc/openvpn/easy-rsa/pki/reqs/centos7-hostadvice.req
ключ: /etc/openvpn/easy-rsa/pki/private/centos7-hostadvice.key

Імпортуйте запит на сертифікат сервера в CA

У ЦП імпортуйте файл запиту сутності за допомогою "коротке ім’я", в цьому випадку “c7ha”. Це просто копіює файл запиту у reqs / під редакцією PKI, щоб підготувати його до огляду та підписання.

$ ./easyrsa import-req pki / reqs / centos7-hostadvice.req c7ha

Структура командування

$ ./easyrsa import-req /path/to/received.req UNIQUE_SHORT_FILE_NAME

Імпортуйте запит на сертифікат сервера на скріншот CA

Перегляньте і підпишіть запит сервера

Перегляньте запит на підпис, щоб підтвердити дані, як ви ввели

$ ./easyrsa show-req c7ha

Структура команд:

$ ./easyrsa show-req UNIQUE_SHORT_FILE_NAME

Перегляньте і підпишіть скріншот серверного запиту

Підпишіть заявку:

$ ./easyrsa sign-req сервер c7ha

Структура командування

$ ./easyrsa сервер для входу UNIQUE_SHORT_FILE_NAME
Спеціальна примітка: Підписаний запит на сертифікат зараз знаходиться за адресою /etc/openvpn/easy-rsa/pki/issued/c7ha.crt

Створіть клієнтські ключі та сертифікати та підпишіть їх запити

$ ./easyrsa gen-req win-client0

Структура командування

./ easyrsa gen-req UNIQUE_CLIENT_SHORT_NAME

Рекомендується створити зашифровані приватні ключі, залишивши додатковий параметр nopass після імені. Параметр nopass повинен включатися лише в тому випадку, якщо потрібен автоматичний запуск VPN. Нешифровані приватні ключі може використовувати кожен, хто отримує копію файлу. Зашифровані ключі пропонують більш високий захист, однак для початкового використання вони потребуватимуть парольну фразу.

Створіть клієнтські ключі та сертифікати та підпишіть скріншот їх запитів

Спеціальна примітка: Файли зберігання ключів і запитів на сертифікат зараз о
req: /etc/openvpn/easy-rsa/pki/reqs/win-client0.req
ключ: /etc/openvpn/easy-rsa/pki/private/win-client0.key

Імпортуйте запит на сертифікат сервера в CA

У ЦП імпортуйте файл запиту сутності за допомогою "коротке ім’я", у цьому випадку “w7c”. Це просто копіює файл запиту у reqs / під редакцією PKI, щоб підготувати його до огляду та підписання.

$ ./easyrsa import-req pki / reqs / win-client0.req w7c

Структура командування

$ ./easyrsa import-req /path/to/received.req UNIQUE_SHORT_FILE_NAME

Імпортуйте запит на сертифікат сервера на скріншот CA

Перегляньте та підпишіть запит клієнта

Перегляньте запит на підпис, щоб підтвердити дані, як ви ввели

$ ./easyrsa show-req w7c

Структура команд:

./ easyrsa show-req UNIQUE_SHORT_FILE_NAME

Перегляньте і підпишіть скріншот запиту клієнта

Підпишіть заявку:

./ easyrsa sign-req client w7c

Структура командування

./ easyrsa-підписка-клієнт UNIQUE_SHORT_FILE_NAME

підпишіть запит клієнта - скріншот

Спеціальна примітка: Підписаний запит на сертифікат зараз знаходиться на веб-сайті /etc/openvpn/easy-rsa/pki/issued/w7c.crt

Створити файл обміну ключами Diffie-Hellman (DH)

На сервері OpenVPN PKI потрібні параметри DH під час рукостискання TLS із підключеними клієнтами.

$ ./easyrsa gen-dh

Створіть скріншот файлів обміну ключами Diffie-Hellman (DH) Створіть скріншот файлів обміну ключами Diffie-Hellman (DH) - частина 2

Особлива примітка: файл обміну dh тепер знаходиться за адресою /etc/openvpn/easy-rsa/pki/dh.pem

Скопіюйте конфігураційний файл openssl в файл без імені

$ cp openssl-1.0.cnf openssl.cnf

Причина: щоб запобігти ssl не завантажувати конфігурацію через неможливість виявлення її версії

Створити статичний ключ шифрування для аутентифікації TLS

$ sudo openvpn –genkey –secret /etc/openvpn/hostadvicevpn.tlsauth

Налаштувати openvpn

Скопіюйте файл config.conf – configv openvpn у / etc / openvpn

$ sudo cp /usr/share/doc/openvpn-2.4.5/sample/sample-config-files/server.conf / тощо / openvpn /

Відредагуйте файл server.conf

$ sudo vim /etc/openvpn/server.conf

Потім скаментуйте та відредагуйте наступні рядки

ca easy-rsa / pki / ca.crt
cert easy-rsa / pki / izd / c7ha.crt
key easy-rsa / pki / private / centos7-hostadvice.key # Цей файл слід зберігати в таємниці
dh easy-rsa / pki / dh.pem
підмережа топологія
сервер 10.128.0.0 255.255.255.0 # введіть мережеву адресу приватної мережі вашого сервера
поштовх "dhcp-варіант DNS 8.8.8.8"
поштовх "dhcp-варіант DNS 8.8.4.4"
tls-crypt hostadvicevpn.tlsauth
Користувач ніхто
групувати ніхто
log-append openvpn.log

Налаштування Firewalld та Routing

Перевірте зони активного брандмауера на вашому сервері за допомогою команди:

$ sudo firewall-cmd –get-active-зони

Додати openpvn, порт 1194 (для підключення клієнта) до firewalld

$ sudo firewall-cmd – постійний –zone = довірений –add-service = openvpn
$ sudo firewall-cmd – постійний –zone = довірений –add-port = 1194 / udp

Додайте маскарад, щоб включити маршрутизацію переадресації в підмережу openvpn

$ sudo firewall-cmd – постійний –zone = довірений –add-маскарад
$ PORTIN = $ (ip маршрут отримати 8.8.8.8 | awk ‘NR == 1 {print $ (NF-2)}’)
$ firewall-cmd – постійний –напрям – проходить через ipv4 -t nat -A РОЗМІСТАННЯ -s 10.128.0.0/24 -o $ PORTIN -j МАСКВЕРДА

Перезапустіть firewalld, щоб здійснити зміни

$ sudo firewall-cmd – перезавантажити

Увімкніть ip переадресацію, щоб дозволити весь трафік від клієнта до ip-адреси сервера, оскільки ip-адреса клієнта залишається прихованою.

$ sudo vim /etc/sysctl.conf

Додати рядок:

net.ipv4.ip_forward = 1

Потім збережіть файл

Налаштуйте скріншот Firewalld та Routing

Потім перезапустіть послугу мережі

$ sudo systemctl перезапустити мережу

Запустіть і ввімкніть сервіс openvpn

$ sudo systemctl –f включити openvpn @ сервер
$ sudo systemctl запустити openvpn @ сервер

Підтвердження запуску openvpn

$ sudo systemctl статус openvpn @ сервер

Налаштуйте клієнт Windows для підключення vpn

Завантажте клієнт openvpn для Windows з https://openvpn.net/index.php/open-source/downloads.html

Налаштуйте клієнт Windows для підключення vpn

Створіть C: \ Program Files \ OpenVPN \ config \ key.txt, якщо він не існує.

Перейдіть до “Пуск”, потім натисніть правою кнопкою миші “Створити статичний ключ OpenVPN” > Запустити від імені адміністратора

меню запуску - скріншот

Ключі генеруються та зберігаються в C: \ Program Files \ OpenVPN \ config \ key.txt

Ключі генеруються та зберігаються в C: \ Program Files \ OpenVPN \ config \ key.txt (скріншот)

Відкрийте файл, скаментуйте та змініть такі параметри:

віддалений
порт 1194

Створіть C: \ Program Files \ OpenVPN \ log \ client.log, якщо він не існує.

Перейдіть до початку > Усі програми > OpenVPN > Відкрийте графічний інтерфейс OpenVPN, клацніть правою кнопкою миші та виберіть “Запустити як адміністратор”

Скріншот меню початкового меню OpenVPN GUI, Скріншот утиліт

Хочете оновити ваш хостинг-акаунт Linux? Знайдіть найкращі хостингові послуги Linux, а також відгуки користувачів та експертів на HostAdvice.

Ознайомтеся з трьома найкращими хостинговими послугами Linux

FastComet

Стартова ціна:
2,95 дол


Надійність
9.7


Ціноутворення
9.5


Користувач
9.7


Підтримка
9.7


Особливості
9.6

Прочитайте відгуки

Відвідайте FastComet

Хостингер

Стартова ціна:
0,99 дол


Надійність
9.3


Ціноутворення
9.3


Користувач
9.4


Підтримка
9.4


Особливості
9.2

Прочитайте відгуки

Відвідайте хостинг

ChemiCloud

Стартова ціна:
2,76 дол


Надійність
10


Ціноутворення
9.9


Користувач
9.9


Підтримка
10


Особливості
9.9

Прочитайте відгуки

Відвідайте ChemiCloud

Пов’язані статті “Як”

  • Як налаштувати SSH на Ubuntu 16.04 VPS або на виділеному сервері
    проміжний
  • Як встановити та налаштувати Виявлення зловмисного програмного забезпечення Linux на CentOS 7
    експерт
  • Як налаштувати SSH на VOS CentOS 7 від клієнта Windows
    проміжний
  • Як налаштувати SSH для Ubuntu 16.04 VPS від клієнта Linux
    новачок
  • Як налаштувати сервер VSFTPD на CentOS 7 VPS або виділений сервер
    проміжний
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me