• FAQ

      Важлива інформація

      • Панель керування: панель керування доступна за адресою: zzz.com.ua/panel/.
      • Пошта: пошта доступна за адресою: zzz.com.ua/mail/.
      • FTP: простий доступ до FTP забезпечує менеджер пакетів за адресою: zzz.com.ua/uk/ftplogin.
      • Форум: якщо вам потрібна допомога, ви можете знайти її на нашому форумі за адресою: zzz.com.ua/forum/.

      Основна інформація

      • Правила користування послугами хостингу ви знайдете за адресою: zzz.com.ua/uk/pravyla/.
      • Щоб зайти у панель керування, введіть імʼя користувача, /адресу свого сайту/ або адресу електронної пошти, а також пароль, який ви вказали при створенні акаунту.
      • Щоб користуватись поштою, ви повинні спочатку створити поштовий акаунт у панелі керування.
      • Наприклад, якщо у вас є акаунт "happy" для сайту "happy.zzz.com.ua" і після входу у панель керування ви створите поштовий акаунт “user”, то логіном до вашої пошти й адресою електронної пошти буде: "user@happy.zzz.com.ua".

        Електронні листи можна надсилати та отримувати за допомогою зовнішніх програм на зразок Microsoft Outlook, Mozilla Thunderbird та ін. Логін і пароль такі ж, як для поштового інтерфейсу в браузері.

      • Поштовий сервер — mail.zzz.com.ua.
      • Сервер FTP — це адреса вашого сайту (наприклад, happyuser.zzz.com.ua)
      • Якщо у вас є власний домен, то при створенні акаунту з власним доменом вся інформація, потрібна для вказання на наші сервери DNS, буде автоматично додана. Після створення такого акаунту вам залишиться тільки вказати в панели реєстратора вашого домену на наші сервери DNS:
        • ns1.zzz.com.ua
        • ns2.zzz.com.ua
      • Необхідність вказувати сервери DNS не торкається доменів, куплених у нас — вони автоматично налаштовані і прикреплені до вибраного акаунту.

      • Всі правила, які стосуються акаунтів з нашими доменами, стосуються також акаунтів з власними доменами.
      • Наприклад, логін FTP може виглядати: "happy@happyuser.zzz.com.ua", якщо ви створите акаунт FTP “happy” і ви є власником домену happyuser.zzz.com.ua. Головний домен (звʼязаний, наприклад, з логінами FTP) — це завжди перший домен даного хостингового акаунту, тобто той, на який був створений цей хостинговий акаунт. Для поштових акаунтів даного хостингового акаунту частина після символу "@" може бути вибрана довільно з-поміж доменів, прикріплених до цього хостингового акаунту.

      • Якщо виникнуть трудощі, заходьте на наш форум.

      Часті запитання

      • Чи є користування послугами пакету FREE безкоштовне?

        Так, ви зовсім НІЧОГО не повинні платити за користавання цими послугами. Але на сайті буде відображатись посилання на наш хостинг, розміщення якого змінювати не можна (завжди внизу).

      • Мені не подобається посилання на безкоштовний хостинг внизу, чи можу я якось змінити його розташування або взагалі забрати?

        Змінювати розташування посилання не можна. Завдяки цьому посиланню ви маєте можливість користуватись нашими послугами безкоштовно.
        Посилання можна забрати з сайтулише купивши пакет послуг PRO або VIP. На час дії пакету посилання не відображається на сайті користувача.

      • Скільки акаунтів можна мати на ZZZ.com.ua?

        На одну адресу електронної пошти можна створити один хостинговий акаунт (профіль) в панелі керування ZZZ.com.ua.
        Один профіль в панели керування ZZZ.com.ua може містити довільну кількість хостингових акаунтів — кожен акаунт є незалежним веб-сайтом з незалежними доменами, акаунтами MySQL, FTP, поштою і т.д.

      • Якщо я придбаю платний пакет послуг PRO або VIP, він діятиме на всіх моїх акаунтах в панели керування ZZZ.com.ua?

        Ні. Кожен акаунт — це окремий сайт, що функціонує незалежно від інших. Їхні пакети послуг і куплені доповнення функціонують незалежно. Така система створена для користувачів, які хотіли б розміщувати у нас різні сайти. Вона дозволяє їм повністю пристосувати параметри хостингу для кожного окремого сайту. При цьому на кожному хостинговому акаунті може бути багато незалежних доменів (сайтів), для кожного з них є окремий каталог на FTP і окремий акаунт FTP.

      • Чи ви виставляєт рахунки з урахуванням податку на додану вартість і рахунки про форма? Чи виставляєте ви рахунки на фірму?

        На жаль, ми не виставляємо рахунки з урахуванням податку на додану вартість, ми виставляємо лише рахунки без урахування цього податку. Ми можемо виставити рахунок як на фізичну особу, так і на фірму. Після оплати рахунок доступний для скачування у закладці "Платежі" в панелі керування. Якщо вам потрібен рахунок про форма, напишіть нам: {supportMail}, ми виставимо рахунок до оплати на 7 або 14 днів.

      • Я не можу ввійти в хостинговий акаунт/акаунт FTP/базу даних/поштовий акаунт, що робити?

        Якщо ви забули пароль для входу в хостинговий акаунт, скористайтесь функцією відновлення паролю. Якщо у вас немає доступу до поштового акаунту, на який повинен прийти лист для відновлення паролю - напишіть нам: {supportMail}.

        Якщо ви забули для входу в акаунт FTP, ви можете встановити новий в закладці "Акаунти FTP" в панелі керування.

        Якщо ви забули для входу в базу даних, ви можете встановити новий в закладці "Бази даних" у панелі керування. Але після цього зʼявиться помилка на сайті, яка говорить про проблему при підключенні до бази даних. Потрібно змінити пароль також у файлах сайту (або в налаштуваннях CMS).

        Якщо ви забули пароль для входу в поштовий акаунт, ви можете встановити новий в закладці "Пошта" в панелі керування.

      • Я б хотів звʼязатись з адміністрацією хостингу, як це зробити?

        З адміністрацією можна звʼязатись кількома способами:

        • Через форум, де кілька користувачів мають безпосередній звʼязок з адміністрацією і при необхідності повідомлять їй;
        • За допомогою електронної пошти за адресою: {supportMail}, де ви отримаєте допомогу від нашої служби підтримки;
        • Через індивідуальну систему тем з високим пріоритетом (закладка "Підтримка" в панелі ZZZ.com.ua);
        • На нашій сторінці в Facebook: www.facebook.com/zzz.com.ua.

      • Я знайшов помилку у роботі акаунту або іншої функції, що робити?

        Повідомте нам про це одним із вищенаведених способів.

      • Я отримав електронний лист з проханням надати логін і пароль до мого акаунту/бази даних від адміністрації ZZZ.com.ua, що робити?

        Адміністрація ZZZ.com.ua не розсилає електронних листів своїм користувачам, тим більше з проханням надати логін і пароль. Це лист від шахрая, який намагається заволодіти вашими даними для доступу.

      • Я отримав електронний лист від адміністрації ZZZ.com.ua з проханням надіслати скан мого паспорту після того, як я зареєстрував домен в зоні .uk (або іншій), що робити?

        Адміністрація ZZZ.com.ua зобов'язана перевіряти, чи правильні дані власників доменів, і найпростіший спосіб це зробити - це перевірити ваші документи. Так роблять всі хостинги, тому не потрібно боятися: зіскануйте свій паспорт і пришліть скан на нашу пошту: {supportMail}. Якщо ви цього не зробите протягом 30 днів після реєстрації, домен буде заблоковано.

      • Я знайшов сайт, який порушує правила ZZZ.com.ua! / Я знайшов сайт, який є плагіатом мого сайту!

        Повідомте про це в цій темі на форумі.

      • Як створити базу даних? Які дані для доступу до MySQL? Скільки може бути користувачів бази даних?

        Базу даних можна створити в панелі керування ZZZ.com.ua в закладці "Бази даних". Потрібно тільки клікнути "+ Додати" і встановити імʼя користувача (логін) і пароль. Імʼя бази даних буде створено автоматично на основі адреси вашого сайту (спеціальні символи будуть замінені на символ "_"). Наприклад, для сайту happyuser.zzz.com.ua база даних матиме такі параметри:

        • Сервер MySQL: mysql.zzz.com.ua
        • Сервер MySQL для підключення ззовні: Ваш домен (наприклад, happyuser.zzz.com.ua). Увага: підключення ззовні доступні тільки для платних акаунтів.
        • Порт: 3306 (phpBB By Przemo: 80)
        • Логін, пароль: такі, які були встановлені при створенні бази
        • Назва бази даних: буде створена автоматично на основі адреси сайту, наприклад, happyuser_zzz_com_ua

      • Як створити акаунт FTP? Які дані для доступу до FTP? Які діють обмеження?

        Після створення акаунту автоматично створюється один акаунт FTP, його назва має формат: admin@adresa (наприклад, admin@happyuser.zzz.com.ua). Це водночас логін до акаунту FTP. Пароль до цього акаунту за замовчуванням такий же, як пароль до панелі керування ZZZ.com.ua.
        В профільному акаунті FTP є глобальний доступ до всіх каталогів зі всіх хостингових акаунтів у вашому профілі. Акаунтами FTP можна керувати в панелі керування ZZZ.com.ua в закладці "Акаунти FTP". Там є можливість їх додавати, видаляти і змінювати паролі до них.
        На сервер FTP можна потрапити за допомогою нашого файлового менеджера або за допомогою зовнішньої програми, наприклад, FileZilla.

        Ви також можете додати акаунт FTP з доступом виключно у межах конкретного каталогу домену — в закладці "Акаунти FTP" у процесі додавання нового акаунту можна вибрати зі списку домен, для котрого створюється акаунт зі вказаним логіном. Логін до акаунту FTP тоді матиме такий вигляд: login@adresastorinky.zzz.com.ua.
        Дані для доступу до FTP:

        • Сервер FTP: адреса вашого сайту (наприклад, happyuser.zzz.com.ua)
        • Логін: за замовчуванням admin@adresa (наприклад, admin@happyuser.zzz.com.ua)
        • Пароль: за замовчуванням такий же, як до панелі керування ZZZ.com.ua (якщо ви його не змінювали)
        • Порт: 21 або 210
        • Режим: пасивний

        Обмеження одночасних підключень для одного акаунту FTP — це чотири підключення водночас. У випадку перевищення цього ліміту сервер заблокує сесію на кілька секунд — потрібно почекати і спробувати знову з меншою кількістю підключень (зазвичай цю кількість можна встановити в налаштуваннях клієнта FTP).
        Максимальний розмір файлу, який можна завантажити на FTP, становить:

        • Для акаунтів FREE: 10 MБ
        • Для акаунтів PRO і VIP: 1 ГБ
      • Які домени обслуговує ZZZ.com.ua?

        ZZZ.com.ua обслуговує домени .com, .biz, .net, .org, .info, .de, .uk, .co.uk, .tv i .xyz.

      • Я зареєстрував домен і хочу його прикріпити до акаунту на ZZZ.com.ua / хочу купити домен і створити на нього акаунт або прикріпити його до акаунту на ZZZ.com.ua, як це зробити?

        При створенні акаунту впишіть повністю ваш домен (перед цим ви повинні зареєструвати його у іншого реєстратора доменних імен).
        Вкажіть у панелі свого реєстратора на наші сервери DNS:

        • ns1.zzz.com.ua
        • ns2.zzz.com.ua

        Після оновлення інформації про змінені DNS у мережі (це може тривати до 48 годин) домен буде прикріплений до вашого акаунту.

        Якщо ви купуєте домен у нас (або створюєте акаунт і водночас купуєте для нього домен), всі налаштування будуть автоматично встановлені одразу після оплати.

        Як після покупки, так і після прикріплення домену є 48-годинний період, під час якого домен не працюватиме правильно. Цей період називається часом розповсюдження DNS у мережі і є обовʼязковим — за цей час інформація про існування нового домену розходиться мережею. Зазвичай він триває менше, ніж 48 годин — до кількох годин.

      • Я зареєстрував у вас домен. Як мені змінити його DNS и MХ-записи?

        В панелі керування в закладці "Домени" клікніть "Редагувати" навпроти домена. В вікні в полі "Прикріпити до хостинового аккаунту" виберіть "Немає хостингу". Внизу зʼявляться поля, в яких можна змінити потрібні дані.

      • Як зареєструвати сертифікат SSL? Чи можна використовувати цей сертифікат для доменів, які не вказують на сервери ZZZ.com.ua?

        Щоб купити сертифікат SSL, у закладці "Домени" в панелі керування клікніть "SSL" навпроти відповідного домену. На нашому хостингу не можна використовувати сертифікати SSL, які були куплені не у нас. Сертифікати SSL активуються тільки для доменів, які вказують на наші сервери. Даний сертифікат можна купити на 1 рік і довше.

        Якщо у вас є безкоштовний домен (наприклад, happyuser.ZZZ.COM.UA) і субдомен/и (наприклад, very.happyuser.ZZZ.COM.UA), і ви купите сертифікат SSL для цього домену, він буде автоматично активований для субдоменів. Але якщо ви спочатку купили сертифікат для домену, а потім додали субдомени, сертифікат для субдоменів не буде активовано. Якщо вам потрібен сертифікат SSL для щойно доданого субдомену - натисніть "SSL" навпроти потрібного субдомену в закладці "Домени" в панелі керування і дійте згідно з інструкціями.

      • Як передати права на домен іншій особі?

        Щоб передати зареєстрований у нас домен іншій особі, заповніть цю форму: "Передача доменного імені", підпишіть, зіскануйте і надішліть нам: {supportMail}. Після цього дані на WHOIS будуть змінені і домен буде переданий новому власникові.

      • Я вводжу адресу сайту у браузері, але мій сайт не відображається!

        Видаліть index.html, який було створено разом з акаунтом. Переконайтеся, що ви завантажили у головний каталог файл index.html (може бути у форматі .php або .htm). Те саме може стосуватись будь-якої підсторінки — якщо, наприклад, ви створите посилання на storinka.html, але забудете завантажити цей файл, то вас буде скеровано на сторінку 404.

      • Мої статистики не відображаються — чому?

        Швидше за все, ви перевіряєте статистику у той же день, коли створили акаунт — а статистики оновлюються кожної доби о 3 годині. Почекайте до наступного дня і статистики зʼявляться.

      • У мене акаунт FREE, я намагаюсь завантажити файл розміром 15 MБ і не можу, чому?

        Максимальний розмір файлу, який можна завантажити на акаунт FREE — це 10 МБ. У акаунтів PRO і VIP цей ліміт збільшено до 1 ГБ.

      • Чому на інших сайтах замість моїх картинок відображається лого ZZZ.com.ua?

        Тому що це хотлінк, а це порушує правила ZZZ.com.ua. Хотлінки дозволені тільки акаунтам PRO і VIP.

      • Мій акаунт Pro змінився на Free до закінчення терміну дії пакету послуг, чому?

        Якщо на акаунті Pro був перевищений ліміт передачі даних, він автоматично змінюється на Free. Вам потрібно заплатити за додаткову передачу даних, щоб повернутись на Pro.

      • Після завантаження файлів сайту (або зміни налаштувань захищених розділів) зʼявляється вікно, де потрібно написати логін і пароль, а потім: "Authorization Required".

        Швидше за все, разом з файлами ви завантажили який-небудь файл .htaccess і не знаєте до нього правильного логіна і пароля. Ввійдіть на FTP за допомогою клієнта, який дозволяє відображати приховані файли і перейменуйте або видаліть усі файли .htaccess.

      • У мене проблема з роботою пошти, що робити?

        Тут немає єдиного методу вирішення проблеми. Скопіюйте, будь ласка, повідомлення помилки і створіть тему на форумі у розділі "Підтримка клієнтів ZZZ.com.ua", або опишіть свою проблему у вже відкритій темі. Ви також можете створити нову тему в закладці "Підтримка" в панелі керування ZZZ.com.ua або написати нам електронний лист: {supportMail}

      • Як налаштувати поштовий клієнт, щоб я міг отримувати листи з адрес *@*zzz.com.ua / *@*kl.com.ua / *@*adr.com.ua?

        Сервер вхідної пошти: mail.zzz.com.ua
        Сервер вихідної пошти: mail.zzz.com.ua
        SMTP - порт 587 - STARTTLS
        IMAP - порт 993 - SSL/TLS
        POP3 - порт 995 - SSL/TLS
        Авторизація: пароль (PLAIN/LOGIN)
        Логін: ваша адреса електронної пошти.

      • У мене акаунт Free і я використовую функцію PHP mail() для надсилання листів, але вони не доходят адресатам, в чому може бути причина?

        Щоб користуватись функцією PHP mail() на безплатних акаунтах, вам потрібно створити поштову скриньку в панелі керування в закладці "Пошта" і вписати цю адресу поштової скриньки як адресу відправника в заголовку From.
        Приклад:

        • $to = 'nobody@example.com';
        • $subject = 'the subject';
        • $message = 'hello';
        • $headers = 'From: webmaster@happyuser.zzz.com.ua';
        • mail($to, $subject, $message, $headers);

        Увага: не використовуйте поштові ящики на Yandex у якості адресата в функції PHP mail(), оскільки в зв'язку з їхніми високоми вимогами щодо розсилки листи не будуть доставлені.

  • Загальне
    Сервери VPS
  • CMS
  • Рішення проблем

VPN на VPS

У цій статті ми переважно будемо використовувати Ubuntu 16.04 і команди, що в основному використовуються в дистрибутивах, що базуються на Debian.

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

Виконаємо такі команди, щоб встановити OpenVPN и easy-rsa:
# apt update && apt upgrade 
# apt install easy-rsa openvpn -y

Перша команда оновлює VPS, друга - встановлює VPN сервер.

Встановіть каталог для CA-сертифікатів. OpenVPN – це VPN, який орієнтується на TLS/SSL. Це значить, що він використовує сертифікати для шифрування трафіку між сервером і клієнтом. Щоб випустити довірені сертифікати, нам буде потрібно встановити наш власний простий уентр сертифікації (СА). 1. Спочатку скопіюємо каталог з easy-rsa шаблоном у наш домашній каталог командою make-cadir:

$ make-cadir ~/openvpn-ca

2. Перейдемо у новостворений каталог, що почати налаштування CA:

$ cd ~/openvpn-ca

3. Конфігуруємо змінні CA. Щоб сконігурувати ті значення, які будуть використовуватися нашим цетром сертифікації, необхідно відредагувати файл vars каталозі. Відкриємо цей файл у тектовому редакторі.

$ nano vars
Всередині ви знайдете кілька змінних, які можна регулювати, яким саме чином будуть створені ваші сертифікати. Ми працюємо тільки з деякими. Майже у кінці файлу знайдіть налаштування, які встановлюють для нових сертифікатів значення за замовчуванням. Це може виглядати, наприклад, так:

. . .
export KEY_COUNTRY="US"
export KEY_PROVINCE="CA"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="me@myhost.mydomain"
export KEY_OU="MyOrganizationalUnit"
. . .
Відредагуйте значення за бажанням, але не лишайте їх пустими.

. . .
export KEY_COUNTRY="UA"
export KEY_PROVINCE="Kiyv"
export KEY_CITY="Kiyv"
export KEY_ORG="ABC Hosting"
export KEY_EMAIL="happyuser@zzz.com.ua"
export KEY_OU="Community"
. . .
Доки ми ще тут, потрібно змінити значення змінної KEY_NAME прямо під розділом, який заповнює поле subject. Щоб спростити задачу, у цьому гайді називатимемо його “server”:

export KEY_NAME="server"
Після закінчення збережіть і закрийте файл. Щоб зробити це у редакторі nano, використайте комбінацію ctrl+o і натисніть enter для збереження, а ctrl+x – щоб вийти. 4. Тепер ми можесо використовувати встановлені змінні та утиліти easy-rsa, щоб зібрати власний центр сертифікації. Переконайтеся, що ви знаходитеся у своєму CA-каталозі, та виконайте команду source vars (файл, який ви тільки що редагували):

$ cd ~/openvpn-ca
$ source vars
Якщо команда була виконана правильно, ви повинні побачити таке: NOTE: If you run
./clean-all
, I will be doing a
rm -rf on /home/sammy/openvpn-ca/keys
Переконайтеся, що ви працюєте у «чистому» оточені. Для цього наберіть:
$ ./clean-all
Тепер можемо зібрати кореневий CA. Виконаємо:

$ ./build-ca
Ця дія запускає процес створення ключа кореневого центра сертифікації та самого сертифіката. Оскільки раніше ми вже редагували файл vars, то усі значення мають бути проставлені автоматично. Просто натискайте ENTER протягом сеансу, щоб підтвердити необхідні значення.

Приклад результату:
Generating a 2048 bit RSA private key
..........................................................................................+++
...............................+++
writing new private key to 'ca.key'
-----
You are about to be asked to enter information that will be incorporated 
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [UA]:
State or Province Name (full name) [Kyiv]:
Locality Name (eg, city) [Kyiv]:
Organization Name (eg, company) [ABC Hosting]:
Organizational Unit Name (eg, section) [Community]:
Common Name (eg, your name or your server's hostname) [ABC Hosting CA]:
Name [server]:
Email Address [happyuser@zzz.com.ua]:
Тепер ми маємо CA, який можна використовувати для створення інших необхідних нам файлів. 5. Створимо сертифікат сервера, ключ та файли шифрування. Далі ми генеруємо пару ключа та сертифіката сервера, а також деякі додаткові файли, які будуть використовуватися у процесі шифрування. Запускаємо створення пари сертифіката і сервера і ключа. Робимо це такою командою:
$ ./build-key-server server
Увага: якщо ви наберете тут ім’я, яке відрізняється від «server», необхідно буде скоригувати деякі моменти нижче з із використанням даної інструкції. Наприклад, коли ви копіюєте хгенеровані файли в каталог /etc/openvpn, необхідно замінити імена на коректні. Пізніше необхідно буде також змінити файл /etc/openvpn/server.conf, щоб ввказати правильні файли .crt та .key. Тож, змінні будуть мати значення за замовчуванням, яке буде засноване на аргументах, які ми тільки що передали (server), і змісту отриманого нами файлу vars. Натискайте ENTER та приймайте значення за замовчуванням. Для цього не потрібно вводити пароль. Під кінець встановлення буде необхідно відповісти `y` на два питання, щоб підписати і підтвердити сертифікат.
Приблизний результат:
. . .

Certificate is to be certified until May  1 17:51:16 2026 GMT (3650 days)
Sign the certificate? [y/n]:y


1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
Далі ми згенеруємо кілька додаткових елементів. Ми можемо створити стійкі ключі Діффі-Хеллмана, щоб використовувати їх під час обміну ключами. Для цього наберемо:
$ ./build-dh
Це може забрати кілька хвилин. Після згенеруємо підпис HMAC, щоб посилити можливості перевірки цілісності TLS сервера:
$ openvpn --genkey --secret keys/ta.key
6. Генерація пари клієнтського сертифікату і ключа: Далі ми можемо згенерувати пару клієнтського сертифіката і ключа. Хоча це можна зробити на машині-клієнті і після цього підписати сервером/CA з міркувань безпеки, але у цій інструкції ми створимо його на сервері для простоти. Ми згенеруємо одиничний клієнтський ключ/сертифікат, але якщо ви маєте більше одного клієнта, цю процедуруможна повторити стільки разів, скільки потрібно. Надайте скрипту унікальне значення для кожного кдієнта. Оскільки ви можете повернутися до цього кроку пізніше, ми перевипустимо файл var. У цій інструкції будемо використовувати client1 як значення для нашої першої пари сертифікат/ключ. Для створення повноважеь без пароля для автоматичних з’єднань використовуйте команду зборки ключа:
$ cd ~/openvpn-ca
$ source vars
$ ./build-key client1
І навпаки, якщо хочете створювати захищені паролеми дані доступа, використовуйте команду build-key-pass:
$ cd ~/openvpn-ca
$ source vars
$ ./build-key-pass client1
Налаштування за замовчуванням знову повинні бути встановлені, тому ви можете просто натиснути ENTER для продовження. Залиште запит на пароль пустим і натисніть ENTER на підказку `y`, коли з’явиться запит на підпис і запам’ятовування сертифікату. 7. Налаштування сервісу OpenVPN Далі ми можемо почати налаштування сервісу OpenVPN з використанням даних доступу і згенерованих нами файлів. Для початку ми повинні скопіювати файли, які нам потрібні, у каталог налаштування /etc/oopenvpn. Ми можемо почати з тих файлів, які ми тільки що згенерували. При створенні вони були поміщені у каталозі
~/openvpn-ca/keys
. Нам потрібно перемістити наш CA, сертифікат і ключ, сертифікат серверу і ключа, підпис HMAC і файл Діффі-Хеллмана:
$ cd ~/openvpn-ca/keys
$ sudo cp ca.crt ca.key server.crt server.key ta.key dh2048.pem /etc/openvpn
Далі нам необхідно скопіювати і розархівувати приблизний файл конфігурації OpenVPN в каталог налаштування, якийм ми можемо використовувати як основу для нашого встановлення:
# gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf
Перейдемо до налаштування конфігурації OpenVPN. Наші файли готові, і ми можемо змінювати файл конфігурації серверу:
$ sudo nano /etc/openvpn/server.conf
По-перше, знайдемо секцію HMAC за допомогою пошуку директиви tls-auth. Видалимо ";" щоб розкоментувати рядок tls-auth. Під ним додамо параметр key-direction і встановимо його значенняи на "0":
/etc/openvpn/server.conf:
tls-auth ta.key 0 # This file is secret
key-direction 0
Далі знайдіть секцію криптографічного шифру за допомогою пошуку закоментованого рядку шифру. AES-128-CBC це високий рівень шифрування, він добре підтримується. Видаліть ";", щоб розкоментувати рядок шифру AES-128-CBC:
/etc/openvpn/server.conf:
cipher AES-128-CBC
Нижче додайте аутентифікаційний рядок для вибору алгоритму повідомлень HMAC. SHA256 – хороший вибір для цього.
/etc/openvpn/server.conf:
auth SHA256
І нарешті знайдіть налаштування користувача і групи і видаліть ";" на посатку, щоб розкоментувати ці рядки.
/etc/openvpn/server.conf:
user nobody
group nogroup
(Факультативно) Можливим є передавання налаштувань DNS, щоб перенаправити увесь трафік через VPN. Вищевказані налаштування створюють з’єднання VPN між двома машинами, але не перенаправлять усі з’єднання в тунелі. Якщо ж ви хочете використовувати VPN для маршрутизації усього вашого трафіку, ви, вірогідно, схочете передати налаштування DNS клієнтському комп’ютеру. Це можна зробити, розкоментувавши деякі директиви, які сконфігурують клієнтську машину, щоб перенаправити увесь веб-трафік через VPN. Знайдіть розділ redirect-gateway і видаліть точку з компою на початку рядка, щоб розкоментувати:
/etc/openvpn/server.conf:
push "redirect-gateway def1 bypass-dhcp"
Просто під ним знайдіть секцію dhcp-option. Знову видаліть ";" на почтаку обидвох рядків, щоб розкоментувати їх:
/etc/openvpn/server.conf:
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
Це має допомогти клієнтам переналаштувати їхні установки DNS, щоб використовувати VPN-тунель як шлюз за замовчуванням. (Факультативно) Додатково можна налаштувати порт і протокол. За замовчуванням сервер OpenVPN використовує порт 1194 і протокол UDP для приймання клієнтських з’єднань. Якщо вам потрібно використовувати інший порт через обмеження мережі, в яких можуть знаходитися ваші клієнти, ви можете змінити опцію port. Якщо ви не розміщуєте веб-контент на вашому OpenVPN-сервері, порт 443 – це популярне рішення, оскільки зазвичай є дозволеним для доступу через файєрвол.
/etc/openvpn/server.conf:
# Optional!
port 443
Частіше за все, доступ до цього порту за протоколом заборонений. Якщо це так, змініть протокол з UDP на TCP:
/etc/openvpn/server.conf:
# Optional!
proto tcp
Якщо вам не потрібно використовувати інший порт, краще залишити ці дві установки за замовчуванням. (Факультативно) Встановлення даних не за замовчуванням. Якщо ви раніше обрали інше ім’я піл час виконання команди ./build-key-server, змініть рядки cert і key, щоб вказати підходящі файли .crt і .key. Якщо ви використовували сервер за замовчуванням, це значення вже ма бути встановлене правильно:
/etc/openvpn/server.conf:
cert server.crt
key server.key
Після закінчення збережіть і закрийте файл. 8. Налаштування мережевої конфігурації сервера Далі нам необхідно налаштувати деякі аспекти мережевої конфігурації сервера, щоб OpenVPN міг правильно маршрутизувати трафік. Дозволимо IP Forwarding (передача пакетів між інтерфейсами передача). По-перше, нам необхідно дозволити серверу пересилання трафіку між інтерфейсами. Це доволі суттєво для бажаної функціональності нашого VPN сервера. Ми можемо це налаштувати, змінивши файл /etc/sysctl.conf
# sudo nano /etc/sysctl.conf
Там знайдемо рядок, який встановлює net.ipv4.ip_forward. Видалимо символ "#" на початку рядка , щоб розкоментувати цю установку:
/etc/sysctl.conf:
net.ipv4.ip_forward=1
Коли закінчите, збережіть і закрийте файл. Щоб відкрити його і застосувати значення у поточному сеансі, наберіть:
# sudo sysctl -p
Тепер потрібно встановити iptables і налаштувати правила файєрвола:
# apt install iptables
Для налаштування правил виконайте наступне:
# iptables -A INPUT -i eth0 -m state --state NEW -p udp --dport 1194 -j ACCEPT
# iptables -A INPUT -i tun+ -j ACCEPT
# iptables -A FORWARD -i tun+ -j ACCEPT
# iptables -A FORWARD -i tun+ -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
# iptables -A FORWARD -i eth0 -o tun+ -m state --state RELATED,ESTABLISHED -j ACCEPT
# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
# iptables -A OUTPUT -o tun+ -j ACCEPT
Також, будь ласка, виконайте цю дію, щоб виправити файл служби systemd для openvpn:
$ sudo sed -i 's/LimitNPROC=10 /#LimitNPROC=10 /' /lib/systemd/system/openvpn@.service
9. Нам потрібно запустити сервер OpenVPN вказанням імені нашого файла конфігурації як змінної екземпляру після імені файлу systemd. Наш файл конфігурації для сервера називається /etc/openvpn/server.conf, тому ми додамо @server в кінець unit файлу під час його виклику:
$ sudo systemctl start openvpn@server
Якщо все пройшло правильно, ваш вивід повинен виглядати приблизно так:
openvpn@server.service - OpenVPN connection to server
   Loaded: loaded (/lib/systemd/system/openvpn@.service; disabled; vendor preset: enabled)
   Active: active (running) since Tue 2016-05-03 15:30:05 EDT; 47s ago
     Docs: man:openvpn(8)
           https://community.openvpn.net/openvpn/wiki/Openvpn23ManPage
           https://community.openvpn.net/openvpn/wiki/HOWTO
  Process: 5852 ExecStart=/usr/sbin/openvpn --daemon ovpn-%i --status /run/openvpn/%i.status 10 --cd /etc/openvpn --script-security 2 --config /etc/openvpn/%i.conf --writepid /run/openvpn/%i.pid (code=exited, sta
 Main PID: 5856 (openvpn)
    Tasks: 1 (limit: 512)
   CGroup: /system.slice/system-openvpn.slice/openvpn@server.service
           └─5856 /usr/sbin/openvpn --daemon ovpn-server --status /run/openvpn/server.status 10 --cd /etc/openvpn --script-security 2 --config /etc/openvpn/server.conf --writepid /run/openvpn/server.pid

May 03 15:30:05 openvpn2 ovpn-server[5856]: /sbin/ip addr add dev tun0 local 10.8.0.1 peer 10.8.0.2
May 03 15:30:05 openvpn2 ovpn-server[5856]: /sbin/ip route add 10.8.0.0/24 via 10.8.0.2
May 03 15:30:05 openvpn2 ovpn-server[5856]: GID set to nogroup
May 03 15:30:05 openvpn2 ovpn-server[5856]: UID set to nobody
May 03 15:30:05 openvpn2 ovpn-server[5856]: UDPv4 link local (bound): [undef]
May 03 15:30:05 openvpn2 ovpn-server[5856]: UDPv4 link remote: [undef]
May 03 15:30:05 openvpn2 ovpn-server[5856]: MULTI: multi_init called, r=256 v=256
May 03 15:30:05 openvpn2 ovpn-server[5856]: IFCONFIG POOL: base=10.8.0.4 size=62, ipv6=0
May 03 15:30:05 openvpn2 ovpn-server[5856]: IFCONFIG POOL LIST
May 03 15:30:05 openvpn2 ovpn-server[5856]: Initialization Sequence Completed
Також ви можете перевірити, чи є доступним інтерфейс OpenVPN tun0 за допомогою команди:
$ ip addr show tun0
Ви повинні побачити налаштований інтерфейс:
4: tun0: POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP mtu 1500 qdisc noqueue state UNKNOWN group default qlen 100
    link/none 
    inet 10.8.0.1 peer 10.8.0.2/32 scope global tun0
       valid_lft forever preferred_lft forever
10. Створення інфраструктури клієнтської конфігурації. Далі нам необхідно встановити систему контролю, яка дозволитьнам ленгко створювати файли клієнтської конфігурації. Створіть структуру каталогів у вашому домашньому каталозі, щоб зберегти файли:
$ mkdir -p ~/client-configs/files
Як тільки клієнстські ключі будуть вбудовані у наші файли конфігурації клієнта, необхідно заблокувати доступ у внутрішньому каталозі:
$ chmod 700 ~/client-configs/files
Для створення базової конфігурації скопіюємо приклад клієнтської конфігурації в наша каталог, щоб використовувати його як базовий:
$ cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client-configs/base.conf
Відкрийте цей новий файл у текстовому редакторі:
$ nano ~/client-configs/base.conf
Всередині нам потрібно зробити кілька правок. По-перше, знайдемо директиву remote. Вона направляє клієнта на адресу OpenVPN сервера. Это дожен быть публичный IP-адрес нашего сервера OpenVPN. Если вы изменили порт, который прослушивает OpenVPN сервер, измените 1194 на выбранный:
~/client-configs/base.conf:
. . .
# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.
remote server_IP_address 1194
. . .
Переконайтеся, що протокол співпадає зі значенням. яке використовується у серверній конфігурації:
~/client-configs/base.conf:
proto udp
Далі видаляємо ";". Розкоментуйте директиви user та group:
~/client-configs/base.conf:
# Downgrade privileges after initialization (non-Windows only)
user nobody
group nogroup
Знайдіть директиви, які встановлюють центр сертифікації, сертифікат і ключ. Розкоментуйте ці директиви, оскільки ми будемо додавати сертифікати та ключі у сам файл:
~/client-configs/base.conf:
# SSL/TLS parms.
# See the server config file for more
# description.  It's best to use
# a separate .crt/.key file pair
# for each client.  A single ca
# file can be used for all clients.
#ca ca.crt
#cert client.crt
#key client.key
Змініть налаштування cipher та auth, які ми встановили у файлі /etc/openvpn/server.conf:
~/client-configs/base.conf:
cipher AES-128-CBC
auth SHA256
Далі додайте директиву key-direction десь у файлі. Вона повинна бути виставлена у значенні "1" для роботи із сервером:
~/client-configs/base.conf:
key-direction 1
І нарешті, додайте кілька розкоментованих рядків. Ми використовуємо їх у кожному конфігу, але включати їх потрібно тільки для Linux-клієнтів з файлом /etc/openvpn/update-resolv-conf:
~/client-configs/base.conf:
# script-security 2
# up /etc/openvpn/update-resolv-conf
# down /etc/openvpn/update-resolv-conf
Якщо ваш клієнт запущено в Linux, і він використовує файл /etc/openvpn/update-resolv-conf, то ви повинні розкоментувати ці рядки зі згенерованого клієнтського файла конфігурації OpenVPN. Збережіть файл, коли закінчите. Далі ми створимо простий скрипт для компіляції нашої базової конфігурації із відповідними файлами сертифікату, ключа та шифрування. Він помістить згенеровану конфігурацію у каталог ~/client-configs/files. Створіть і відкрийте файл, який має назву make_config.sh в каталоге ~/client-configs:
$ nano ~/client-configs/make_config.sh
Всередину вставте відповідний скрипт:
~/client-configs/make_config.sh:
#!/bin/bash
# First argument: Client identifier
KEY_DIR=~/openvpn-ca/keys
OUTPUT_DIR=~/client-configs/files
BASE_CONFIG=~/client-configs/base.conf

cat ${BASE_CONFIG} \
    <(echo -e '') \
    ${KEY_DIR}/ca.crt \
    <(echo -e '\n') \
    ${KEY_DIR}/${1}.crt \
    <(echo -e '\n') \
    ${KEY_DIR}/${1}.key \
    <(echo -e '\n') \
    ${KEY_DIR}/ta.key \
    <(echo -e '') \
    > ${OUTPUT_DIR}/${1}.ovpn
Збережіть та закрийте файл, коли закінчите. Відмітьте його як такий, що виконується, такою командою:
$ chmod 700 ~/client-configs/make_config.sh
Створення клієнтських налагтувань виконуєтьс таким чином. Якщо ви слідували цій інструкції, ви створили сертифікат і ключ клієнта, які називаються client1.crt та client1.key запуском команди ./build-key client1. Ми можемо згенерувати конфіг для цих облікових даних, перемістивши їх у наш каталог ~/client-configs і використавши створений скрипт:
$ cd ~/client-configs
$ ./make_config.sh client1
Якщо дії було виконано правильно, то у каталозі ~/client-configs/files должен з’явиться файл client1.ovpn:
$ ls ~/client-configs/files
Результат:
client1.ovpn
Також вам потрібно передати файл клієнтської конфігурації на відповідний пристрій. Наприклад, це може бути ваш локальний комп’ютер чи мобільний пристрій. Хоча вибір конкретного додатку, який буде використовуватися для передачі, буде залежати від вашого вибору і операційної системи пристрою, бажано, щоб цей додаток використовував протокол SFTP (SSH FTP) або SCP (Secure Copy). Це передасть файли вашої клієнтської VPN аутентифікації через зашифроване. Ось приклад використання команди SFTP з використанням файлу client1.ovpn. Ця команда може бути виконана з вашого локального комп’ютера (на OS X або Linux). Вона переміщує файл .ovpn у домашній каталог:
$ scp sammy@openvpn_server_ip:client-configs/files/client1.ovpn ~/
Для безпечного передавання файлів з серверу на локальний комп’ютер можна використвувати, наприклад. WinSCP, Filezilla. Файл OVPN може використовуватися OpenVPN клієнтом на Windows чи Mac OS. У Linux наявна графічна система Network Manager, яка оже працювати з файлами .ovpn.