Зміст
Деякі користувачі зацікавлені у створенні приватної віртуальної мережі між двома комп'ютерами. Забезпечується поставлене завдання за допомогою технології VPN (Virtual Private Network). Реалізовується з'єднання через відкриті або закриті утиліти і програми. Після успішної установки і настройки всіх компонентів процедуру можна вважати завершеною, а підключення &8212; захищеним. Далі ми б хотіли детально обговорити здійснення розглянутої технології через клієнт OpenVPN в операційній системі на базі ядра Linux.
Встановлення OpenVPN на Linux
Оскільки більшість користувачів використовують дистрибутиви, засновані Ubuntu, сьогодні інструкції будуть базуватися саме на цих версіях. В інших же випадках кардинальної різниці в інсталяції та конфігурації OpenVPN ви не помітите, хіба що доведеться дотримуватися синтаксис дистрибутива, про що ви можете прочитати в офіційній документації своєї системи. Пропонуємо ознайомитися з усім процесом покроково, щоб детально розібратися в кожній дії.
Обов'язково слід враховувати, що функціонування OpenVPN відбувається через два вузли (комп'ютер або сервер), а значить це те, що установка і настройка стосується всіх учасників підключення. Наше наступне керівництво буде орієнтоване якраз на роботу з двома джерелами.
Крок 1: Встановлення OpenVPN
Звичайно, почати слід з додавання всіх необхідних бібліотек на комп'ютери. Приготуйтеся до того, що для виконання поставленого завдання використовуватися буде виключно вбудований в ОС &171;Термінал&187; .
- Відкрийте меню та запустіть консоль. Зробити це можна також шляхом натискання комбінації клавіш Ctrl + Alt + T .
- Пропишіть команду
sudo apt install openvpn easy-rsa
для встановлення всіх потрібних репозиторіїв. Після введення натисніть на Enter . - Вкажіть пароль від облікового запису суперкористувача. Символи при наборі не відображаються в полі.
- Підтвердьте додавання нових файлів, вибравши відповідний варіант.
Переходьте до наступного кроку тільки тоді, коли інсталяція буде проведена на обох пристроях.
Крок 2: Створення та налаштування центру підтвердження
Центр специфікації відповідає за перевірку відкритих ключів і забезпечує надійне шифрування. Створюється він на тому пристрої, до якого потім будуть підключатися інші користувачі, тому відкрийте консоль на потрібному ПК і виконайте наступні дії:
- Першочергово створюється папка для зберігання всіх ключів. Ви можете розташувати її де завгодно, але краще підібрати надійне місце. Використовуйте для цього команду
sudo mkdir /etc/openvpn/easy-rsa
, де /etc/openvpn/easy-rsa &8212; місце для створення директорії. - Далі в цю папку потрібно помістити скрипти доповнення easy-rsa, а робиться це через
sudo cp -R /usr/share/easy-rsa /etc/openvpn/
. - У готовій директорії створюється засвідчувальний центр. Спочатку перейдіть до цієї папки
cd /etc/openvpn/easy-rsa/
. - Потім вставте в поле наступну команду:
Sudo -i
source ./vars
./clean-all
./build-ca
Поки серверний комп'ютер можна залишити в спокої і переміститися до клієнтських пристроїв.
Крок 3: Конфігурація сертифікатів клієнта
Інструкцію, з якою ви будете ознайомлені нижче, потрібно провести на кожному клієнтському комп'ютері, щоб організувати коректно функціонує захищене з'єднання.
- Відкрийте консоль і напишіть там команду
sudo cp -R /usr/share/easy-rsa /etc/openvpn/
, щоб скопіювати всі необхідні скрипти інструменту. - Раніше на серверному ПК був створений окремий файл із сертифікатом. Тепер його потрібно скопіювати і помістити в папку з іншими компонентами. Найпростіше це зробити через команду
sudo scp username@host:/etc/openvpn/easy-rsa/keys/ca.crt /etc/openvpn/easy-rsa/keys
, де username@host &8212; адреса обладнання, з якого проводиться скачування. - Залишилося тільки створити Особистий секретний ключ, щоб в подальшому через нього здійснювалося з'єднання. Зробіть це, перейшовши до папки зберігання сценаріїв
cd /etc/openvpn/easy-rsa/
. - Для створення файлу використовуйте команду:
Sudo -i
source ./vars
build-req LumpicsLumpics у цьому випадку &8212; задана назва файлу. Створений ключ в обов'язковому порядку повинен знаходитися в одній і тій же директорії з іншими ключами.
- Залишилося тільки відправити готовий ключ доступу на серверний пристрій, щоб підтвердити справжність свого з'єднання. Робиться це за допомогою тієї ж команди, через яку проводилося скачування. Вам потрібно ввести
scp /etc/openvpn/easy-rsa/keys/Lumpics.csr username@host:~/
, де username@host &8212; ім'я комп'ютера для відправки, а Lumpics.csr &8212; назва файлу з ключем. - На серверному ПК підтвердьте ключ через
./sign-req ~/Lumpics
, де Lumpics &8212; назва файлу. Після цього поверніть документ назад черезsudo scp username@host:/home/Lumpics.crt /etc/openvpn/easy-rsa/keys
.
На цьому всі попередні роботи завершені, залишилося тільки привести сам OpenVPN в нормальний стан і можна починати використовувати ПРИВАТНЕ шифроване з'єднання з одним або декількома клієнтами.
Крок 4: Налаштування OpenVPN
Наступне керівництво буде стосуватися і клієнтської частини, і серверної. Ми все розділимо по діям і попередимо про зміни машин, тому вам залишається тільки виконати наведену інструкцію.
- Спочатку створіть файл конфігурації на серверному ПК за допомогою команди
zcat /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf
. При конфігурації клієнтських пристроїв цей файл також доведеться створювати окремо. - Ознайомтеся зі стандартними значеннями. Як бачите, порт і протокол збігається зі стандартними, проте відсутні додаткові параметри.
- Запустіть створений конфігураційний файл через редактор
sudo nano /etc/openvpn/server.conf
. - Ми не будемо вдаватися в подробиці зміни всіх значень, оскільки в деяких випадках вони індивідуальні, але стандартні рядки в файлі повинні бути присутніми, а виглядає подібна картина так:
Port 1194
proto udp
comp-lzo
dev tun
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/ca.crt
dh /etc/openvpn/easy-rsa/2.0/keys/dh2048.pem
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txtПісля завершення всіх змін збережіть налаштування та закрийте файл.
- Робота з серверною частиною завершена. Запустіть OpenVPN через створений конфігураційний файл
openvpn /etc/openvpn/server.conf
. - Тепер приступимо до клієнтських пристроїв. Як вже було сказано, тут теж створюється файл налаштувань, але на цей раз він не розпаковується, тому команда має наступний вигляд:
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client.conf
. - Запустіть файл таким же чином, як це було показано вище і внесіть туди наступні рядки:
Client
.
dev tun
proto udp
remote 194.67.215.125 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/Sergiy.crt
key /etc/openvpn/easy-rsa/keys/Sergiy.key
tls-auth ta.key 1
comp-lzo
verb 3Після завершення редагування запустіть OpenVPN:
openvpn /etc/openvpn/client.conf
. - Пропишіть команду
ifconfig
, щоб упевнитися в роботі системи. Серед усіх показаних значень обов'язково повинен бути присутнім інтерфейс tun0 .
Для перенаправлення трафіку і відкриття доступу до Інтернету для всіх клієнтів на серверному ПК вам буде потрібно по черзі активувати зазначені нижче команди.
Sysctl -w net.ipv4.ip_forward=1
iptables -A INPUT -p udp --dport 1194 -j ACCEPT
iptables -I FORWARD -i tun0 -o eth0 -j ACCEPT
iptables -I FORWARD -i eth0 -o tun0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
В рамках сьогоднішньої статті ви були ознайомлені з процедурою інсталяції та налаштування OpenVPN на серверній і клієнтській частині. Радимо звертати увагу на повідомлення, показані в &171;терміналі&187; і вивчати коди помилок, якщо такі з'являються. Подібні дії допоможуть уникнути подальших проблем з підключенням, адже оперативне вирішення проблеми запобігає появі інших випливають неполадок.