Деякі користувачі зацікавлені в створенні приватної віртуальної мережі між двома комп'ютерами. Забезпечується поставлене завдання за допомогою технології VPN (Virtual Private Network). Реалізовується з'єднання через відкриті або закриті утиліти і програми. Після успішної установки і налаштування всіх компонентів процедуру можна вважати завершеною, а підключення - захищеним. Далі ми б хотіли детально обговорити здійснення розглянутої технології через клієнт OpenVPN в операційній системі на базі ядра Linux.
зміст
Оскільки більшість користувачів використовують дистрибутиви, засновані Ubuntu, сьогодні інструкції будуть базуватися саме на цих версіях. В інших же випадках кардинальної різниці в інсталяції і конфігурації OpenVPN ви не помітите, хіба що доведеться дотримуватися синтаксис дистрибутива, про що ви можете прочитати в офіційній документації своєї системи. Пропонуємо ознайомитися з усім процесом покроково, щоб детально розібратися в кожній дії.
Обов'язково слід враховувати, що функціонування OpenVPN відбувається через два вузла (комп'ютер або сервер), а значить це те, що установка і настройка стосується всіх учасників підключення. Наше наступне керівництво буде орієнтоване якраз на роботу з двома джерелами.
Звичайно, почати слід з додавання всіх необхідних бібліотек на комп'ютери. Приготуйтеся до того, що для виконання поставленого завдання використовуватися буде виключно вбудований в ОС «Термінал».
sudo apt install openvpn easy-rsa
для установки всіх потрібних репозиторіїв. Після введення натисніть на Enter. Переходьте до наступного кроку тільки тоді, коли інсталяція буде проведена на обох пристроях.
Центр специфікації відповідає за перевірку відкритих ключів і забезпечує надійне шифрування. Створюється він на тому пристрої, до якого потім будуть підключатися інші користувачі, тому відкрийте консоль на потрібному ПК і виконайте наступні дії:
sudo mkdir /etc/openvpn/easy-rsa
, де / etc / openvpn / easy-rsa - місце для створення директорії. sudo cp -R /usr/share/easy-rsa /etc/openvpn/
. cd /etc/openvpn/easy-rsa/
. sudo -i
# source ./vars
# ./clean-all
# ./build-ca
Поки серверний комп'ютер можна залишити в спокої і переміститися до клієнтських пристроїв.
Інструкцію, з якої ви будете ознайомлені нижче, потрібно провести на кожному клієнтському комп'ютері, щоб організувати коректно функціонує захищене з'єднання.
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 - адреса обладнання, з якого виробляється скачування. cd /etc/openvpn/easy-rsa/
. sudo -i
soringpcrepair.com
# source ./vars
# build-req
soringpcrepair.com в цьому випадку - заданий назва файлу. Створений ключ в обов'язковому порядку повинен знаходитися в одній і тій же директорії з іншими ключами.
scp /etc/openvpn/easy-rsa/keys/ .csr username@host:~/
soringpcrepair.com scp /etc/openvpn/easy-rsa/keys/ .csr username@host:~/
, де username @ host - ім'я комп'ютера для відправки, а soringpcrepair.com .csr - назва файлу з ключем. ./sign-req ~/
soringpcrepair.com , де soringpcrepair.com - назва файлу. Після цього поверніть її назад через sudo scp username@host:/home/ .crt /etc/openvpn/easy-rsa/keys
soringpcrepair.com sudo scp username@host:/home/ .crt /etc/openvpn/easy-rsa/keys
. На цьому все попередні роботи завершені, залишилося тільки привести сам OpenVPN в нормальний стан і можна починати використовувати приватне шифрування з'єднання з одним або декількома клієнтами.
Наступне керівництво буде стосуватися і клієнтської частини, і серверної. Ми всі розділимо по діям і попередимо про зміни машин, тому вам залишається тільки виконати наведену інструкцію.
zcat /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf
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 /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 3client
.
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 на серверної і клієнтської частини. Радимо звертати увагу на повідомлення, показані в «Терміналі» і вивчати коди помилок, якщо такі з'являються. Подібні дії допоможуть уникнути подальших проблем з підключенням, адже оперативне вирішення проблеми запобігає появі інших випливають неполадок.