установка OpenVPN Client в Ubuntu

Деякі користувачі зацікавлені в створенні приватної віртуальної мережі між двома комп'ютерами. Забезпечується поставлене завдання за допомогою технології VPN (Virtual Private Network). Реалізовується з'єднання через відкриті або закриті утиліти і програми. Після успішної установки і налаштування всіх компонентів процедуру можна вважати завершеною, а підключення - захищеним. Далі ми б хотіли детально обговорити здійснення розглянутої технології через клієнт OpenVPN в операційній системі на базі ядра Linux.

Встановлюємо OpenVPN в Linux

Оскільки більшість користувачів використовують дистрибутиви, засновані Ubuntu, сьогодні інструкції будуть базуватися саме на цих версіях. В інших же випадках кардинальної різниці в інсталяції і конфігурації OpenVPN ви не помітите, хіба що доведеться дотримуватися синтаксис дистрибутива, про що ви можете прочитати в офіційній документації своєї системи. Пропонуємо ознайомитися з усім процесом покроково, щоб детально розібратися в кожній дії.

Обов'язково слід враховувати, що функціонування OpenVPN відбувається через два вузла (комп'ютер або сервер), а значить це те, що установка і настройка стосується всіх учасників підключення. Наше наступне керівництво буде орієнтоване якраз на роботу з двома джерелами.

Крок 1: Установка OpenVPN

Звичайно, почати слід з додавання всіх необхідних бібліотек на комп'ютери. Приготуйтеся до того, що для виконання поставленого завдання використовуватися буде виключно вбудований в ОС «Термінал».

  1. Відкрийте меню і запустіть консоль. Зробити це можна також шляхом натискання комбінації клавіш Ctrl + Alt + T.
  2. Перехід до роботи в терміналі операційної системи Ubuntu

  3. Пропишіть команду sudo apt install openvpn easy-rsa для установки всіх потрібних репозиторіїв. Після введення натисніть на Enter.
  4. Команда для установки OpenVPN в операційній системі Ubuntu

  5. Вкажіть пароль від облікового запису користувача root. Символи при наборі не відображаються в поле.
  6. Введення пароля для підтвердження установки в Ubuntu

  7. Підтвердіть додавання нових файлів, вибравши відповідний варіант.
  8. Підтвердження додавання нових файлів OpenVPN в Ubuntu

Переходьте до наступного кроку тільки тоді, коли інсталяція буде проведена на обох пристроях.

Крок 2: Створення та налагодження засвідчує,

Центр специфікації відповідає за перевірку відкритих ключів і забезпечує надійне шифрування. Створюється він на тому пристрої, до якого потім будуть підключатися інші користувачі, тому відкрийте консоль на потрібному ПК і виконайте наступні дії:

  1. Першочергово створюється папка для зберігання всіх ключів. Ви можете розташувати її де завгодно, але краще підібрати надійне місце. Використовуйте для цього команду sudo mkdir /etc/openvpn/easy-rsa , де / etc / openvpn / easy-rsa - місце для створення директорії.
  2. Створення нової папки для зберігання скриптів OpenVPN в Ubuntu

  3. Далі в цю папку потрібно помістити скрипти доповнення easy-rsa, а робиться це через sudo cp -R /usr/share/easy-rsa /etc/openvpn/ .
  4. Копіювання скриптів для OpenVPN в Ubuntu

  5. У готової директорії створюється засвідчує центр. Спочатку перейдіть в цю папку cd /etc/openvpn/easy-rsa/ .
  6. Перехід в створену папку для скриптів OpenVPN в Ubuntu

  7. Потім вставте в поле наступну команду:

    sudo -i
    # source ./vars
    # ./clean-all
    # ./build-ca

  8. Створення засвідчувального центру у серверній частині Ubuntu

Поки серверний комп'ютер можна залишити в спокої і переміститися до клієнтських пристроїв.

Крок 3: Конфігурація клієнтських сертифікатів

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

  1. Відкрийте консоль і напишіть там команду sudo cp -R /usr/share/easy-rsa /etc/openvpn/ , щоб скопіювати всі необхідні скрипти інструменту.
  2. Копіювання скриптів на клієнтської частини OpenVPN в Ubuntu

  3. Раніше на серверному ПК був створений окремий файл з сертифікатом. Тепер його потрібно скопіювати і помістити в папку з іншими компонентами. Найпростіше це зробити через команду sudo scp username@host:/etc/openvpn/easy-rsa/keys/ca.crt /etc/openvpn/easy-rsa/keys , де username @ host - адреса обладнання, з якого виробляється скачування.
  4. Завантаження файлу специфікації з серверного ПК в Ubuntu

  5. Залишилося тільки створити особистий секретний ключ, щоб в подальшому через нього здійснювався з'єднання. Зробіть це, перейшовши в папку зберігання скриптів cd /etc/openvpn/easy-rsa/ .
  6. Переміщення в папку з ключами на клієнтському комп'ютері Ubuntu

  7. Для створення файлу використовуйте команду:

    sudo -i
    # source ./vars
    # build-req
    soringpcrepair.com

    Створення закритого ключа на клієнтському комп'ютері Ubuntu

    soringpcrepair.com в цьому випадку - заданий назва файлу. Створений ключ в обов'язковому порядку повинен знаходитися в одній і тій же директорії з іншими ключами.

  8. Залишилося тільки відправити готовий ключ доступу на серверне пристрій, щоб підтвердити справжність свого з'єднання. Робиться це за допомогою тієї ж команди, через яку вироблялося скачування. Вам потрібно ввести 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 - назва файлу з ключем.
  9. Передати секретний ключ на серверних

  10. На серверному ПК підтвердіть ключ через ./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 .
  11. Зареєструвати ключ від клієнтського комп'ютера в Ubuntu

На цьому все попередні роботи завершені, залишилося тільки привести сам OpenVPN в нормальний стан і можна починати використовувати приватне шифрування з'єднання з одним або декількома клієнтами.

Крок 4: Налаштування OpenVPN

Наступне керівництво буде стосуватися і клієнтської частини, і серверної. Ми всі розділимо по діям і попередимо про зміни машин, тому вам залишається тільки виконати наведену інструкцію.

  1. Спочатку створіть файл конфігурації на серверному ПК за допомогою команди 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 . При конфігурації клієнтських пристроїв цей файл також доведеться створювати окремо.
  2. Створити конфігураційний файл для OpenVPN в Ubuntu

  3. Ознайомтеся зі стандартними значеннями. Як бачите, порт і протокол збігається зі стандартними, проте відсутні додаткові параметри.
  4. Перевірити конфігураційний файл для OpenVPN в Ubuntu

  5. Запустіть створений конфігураційний файл через редактор sudo nano /etc/openvpn/server.conf .
  6. Приступити до редагування конфігураційного файлу в Ubuntu

  7. Ми не будемо вдаватися в подробиці зміни всіх значень, оскільки в деяких випадках вони індивідуальні, але стандартні рядки в файлі повинні бути присутніми, а виглядає подібна картина так:

    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

    Після завершення всіх змін збережіть налаштування і закрийте файл.

  8. Завершити редагування конфігураційного файлу в Ubuntu

  9. Робота з серверної частиною завершена. Запустіть OpenVPN через створений конфігураційний файл openvpn /etc/openvpn/server.conf .
  10. Запустити OpenVPN на серверному комп'ютері Ubuntu

  11. Тепер приступимо до клієнтських пристроїв. Як вже було сказано, тут теж створюється файл настройок, але на цей раз він не розпаковується, тому команда має наступний вигляд: sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client.conf .
  12. Створення конфігураційного файлу на клієнтському комп'ютері Ubuntu

  13. Запустіть файл таким же чином, як це було показано вище і внесіть туди наступні рядки:

    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
    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 .

  14. Пропишіть команду ifconfig , щоб упевнитися в роботі системи. Серед всіх показаних значень обов'язково повинен бути присутнім інтерфейс tun0.
  15. Перевірка інтерфейсів для з'єднання

Для перенаправлення трафіку і відкриття доступу до інтернету для всіх клієнтів на серверному ПК вам потрібно по черзі активувати такі команди.

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 на серверної і клієнтської частини. Радимо звертати увагу на повідомлення, показані в «Терміналі» і вивчати коди помилок, якщо такі з'являються. Подібні дії допоможуть уникнути подальших проблем з підключенням, адже оперативне вирішення проблеми запобігає появі інших випливають неполадок.