Встановлення OpenVPN в Ubuntu

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

Встановлення OpenVPN на Linux

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

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

Крок 1: Встановлення OpenVPN

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

  1. Відкрийте меню та запустіть консоль. Зробити це можна також шляхом натискання комбінації клавіш Ctrl + Alt + T .
  2. Переход к работе в терминале операционной системы Ubuntu
  3. Пропишіть команду sudo apt install openvpn easy-rsa для встановлення всіх потрібних репозиторіїв. Після введення натисніть на Enter .
  4. Команда для установки OpenVPN в операционной системе Ubuntu
  5. Вкажіть пароль від облікового запису суперкористувача. Символи при наборі не відображаються в полі.
  6. Ввод пароля для подтверждения установки в Ubuntu
  7. Підтвердьте додавання нових файлів, вибравши відповідний варіант.
  8. Подтверждение добавления новых файлов OpenVPN в Ubuntu

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

Крок 2: Створення та налаштування центру підтвердження

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

  1. Першочергово створюється папка для зберігання всіх ключів. Ви можете розташувати її де завгодно, але краще підібрати надійне місце. Використовуйте для цього команду sudo mkdir /etc/openvpn/easy-rsa , де /etc/openvpn/easy-rsa &8212; місце для створення директорії.
  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 &8212; адреса обладнання, з якого проводиться скачування.
  4. Скачивание файла спецификации с серверного ПК в Ubuntu
  5. Залишилося тільки створити Особистий секретний ключ, щоб в подальшому через нього здійснювалося з'єднання. Зробіть це, перейшовши до папки зберігання сценаріїв cd /etc/openvpn/easy-rsa/ .
  6. Перемещение в папку с ключами на клиентском компьютере Ubuntu
  7. Для створення файлу використовуйте команду:

    Sudo -i
    source ./vars
    build-req Lumpics

    Создание закрытого ключа на клиентском компьютере Ubuntu

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

  8. Залишилося тільки відправити готовий ключ доступу на серверний пристрій, щоб підтвердити справжність свого з'єднання. Робиться це за допомогою тієї ж команди, через яку проводилося скачування. Вам потрібно ввести scp /etc/openvpn/easy-rsa/keys/Lumpics.csr username@host:~/ , де username@host &8212; ім'я комп'ютера для відправки, а Lumpics.csr &8212; назва файлу з ключем.
  9. Передать секретный ключ на серверн
  10. На серверному ПК підтвердьте ключ через ./sign-req ~/Lumpics , де Lumpics &8212; назва файлу. Після цього поверніть документ назад через sudo scp username@host:/home/Lumpics.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 . При конфігурації клієнтських пристроїв цей файл також доведеться створювати окремо.
  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
    .

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

більше статей на цю тему: