• FAQ

      Важная информация

      • Панель управления: панель управления доступна по адресу: zzz.com.ua/panel/.
      • Почта: почта доступна по адресу: zzz.com.ua/mail/.
      • FTP: простой доступ к FTP обеспечивает менеджер пакетов по адресу: zzz.com.ua/ftp/.
      • Форум: если вам нужна помощь, вы можете найти её на нашем форуме по адресу: zzz.com.ua/forum/.

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

      • Правила пользования услугами хостинга вы найдете по адресу: zzz.com.ua/ru/pravila/.
      • Чтобы войти в панель управления, введите имя пользователя, /адрес своего сайта/ или почтовый адрес, а также пароль, который вы указали при создании аккаунта.
      • Чтобы пользоваться почтой, вы должны сначала создать почтовый аккаунт в панели управления.
      • Например, если у вас есть аккаунт "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?

        Нет. Каждый аккаунт — это независимо функционирующий веб-сайт. Их пакеты услуг и купленные дополнения функционируют независимо. Такая система создана для пользователей, которые хотели бы размещать у нас разные сайты. Она позволяет им полностью приспособить параметры хостинга для каждого отдельного сайта.

      • Выставляете ли вы счета с учетом налога на добавленную стоимость и счета про форма? Выставляете ли вы счета на фирму?

        К сожалению, мы не выставляем счета с учетом налога на добавленную стоимость, мы выставляем только счета без учета этого налога. Мы можем выставить счет как на физическое лицо, так и на фирму. После произведения оплаты счет доступен в закладке "Платежи" в панели управления. Если вам нужен счет про форма, напишите нам: {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! / Я нашел сайт, который является плагиатом моего сайта!

        Сообщите об этом в этой теме на форуме.

      • Как создать базу данных? Какие данные для доступа к базе 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@adresstranicy (например, admin@happyuser.zzz.com.ua). Это одновременно является логином к аккаунту FTP. Пароль к этому аккаунту по умолчанию такой же, как пароль к панели управления ZZZ.com.ua.
        Аккаунтами FTP можно управлять в панели управления ZZZ.com.ua в закладке "Аккаунты FTP". Там есть возможность их добавлять, удалять и изменять пароли к ним.
        На сервер FTP можно попасть при помощи нашего файлового менеджера или при помощи внешней программы, например, FileZilla.

        Данные для доступа к FTP:

        • Сервер FTP: адрес вашего сайта (например, happyuser.zzz.com.ua)
        • Логин: по умолчанию admin@adres (например. 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 и .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.{brandingNameLC}) и субдомен/ы (например, very.happyuser.{brandingNameLC}) и вы купите сертификат SSL для этого домена, то он будет активный для всех субдоменов. Но если вы сначала купили сертификат для домена, после этого создали субдомены, сертификат для них не будет активирован. Для таких субдоменов вы можете купить отдельный сертификат SSL - нажмите "SSL" напротив нужного субдомена в закладке "Домены" в панели управления и следуйте инструкциям.

      • Как передать права на владение доменом?

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

      • Я ввожу адрес страницы в браузере, но мой сайт не отображается!

        Удалите index.html, который был создан вместе с аккаунтом. Убедитесь, что вы загрузили в главный каталог файл index.html (может быть в формате .php или .htm). То же может касаться любой подстраницы — если, например, вы создадите ссылку на stranica.html, но забудете загрузить этот файл, вы будете перенаправлены на страницу 404.

      • Мои статистики не отображаются — почему?

        Скорее всего, вы проверяете статистику в тот же день, когда создали аккаунт — а статистики обновляются каждые сутки в 3 часа ночи. Подождите до следующего дня и статистики появятся.

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

        Максимальный размер файла, который можно загрузить на аккаунт FREE — это 10 МБ. У аккаунтов PRO и VIP этот лимит увеличен до 1 ГБ.

      • Почему на других сайтах вместо моих картинок отображается лого ZZZ.com.ua?

        Потому что это хотлинк, а это нарушает правила ZZZ.com.ua. Хотлинки позволены только аккаунтам PRO и VIP.

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

        Если на аккаунте 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 является TLS/SSL-ориентированным VPN. Это значит, он использует сертификаты для шифрования трафика между сервером и клиентом. Чтобы выпустить доверенные сертификаты, нам понадобится установить наш собственный простой удостоверяющий центр (CA). Для начала, скопируем каталог с easy-rsa шаблоном в наш домашний каталог командой make-cadir:

$ make-cadir ~/openvpn-ca

Перейдем в новосозданный каталог, чтобы начать настройку CA:

$ cd ~/openvpn-ca
Сконфигурируем переменные CA. Чтобы сконфигурировать те значения, которые будет использовать наш 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="PL"
export KEY_PROVINCE="Warsaw"
export KEY_CITY="Warsaw"
export KEY_ORG="ABC Hosting"
export KEY_EMAIL="admin@cba.pl"
export KEY_OU="Community"
. . .
Пока мы здесь, отредактируем значение переменной KEY_NAME прямо под этой секцией, которая заполняет поле subject. Чтобы упростить, назовём его "server" в этом руководстве:

export KEY_NAME="server"
Когда закончите, сохраните и закройте файл. Чтобы закрыть и сохранить его в редакторе nano, используйте комбинацию ctrl+o и нажмите enter, чтобы сохранить текущий файл, и ctrl+x, чтобы выйти из редактора.

Сборка CA:

Теперь мы можем использовать установленные нами переменные и утилиты 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
Это запустит процесс создания ключа корневого 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) [PL]:
State or Province Name (full name) [Warsaw]:
Locality Name (eg, city) [Warsaw]:
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 [admin@cba.pl]:
Теперь у нас есть CA, который можно использовать для создания оставшихся нужных нам файлов. Создадим сертификат сервера, ключ и файлы для шифрования Далее мы генерируем пару ключ и сертификат сервера, а также некоторые дополнительные файлы, используемые в процессе шифрования. Запускаем генерирование пары сертификата сервера и ключа. Мы можем сделать это набрав:
$ ./build-key-server server
Note: If you choose a name other than server here, you will have to adjust some of the instructions below. For instance, when copying the generated files to the /etc/openvpn directroy, you will have to substitute the correct names. You will also have to modify the /etc/openvpn/server.conf file later to point to the correct .crt and .key files. Внимание! Если вы выберете здесь имя, отличное от имени сервера, вы должны будете скорректировать некоторые моменты ниже по данной инструкции. Для экземпляра, когда копируются Once again, the prompts will have default values based on the argument we just passed in (server) and the contents of our vars file we sourced. Feel free to accept the default values by pressing ENTER. Do not enter a challenge password for this setup. Towards the end, you will have to enter y to two questions to sign and commit the certificate:
Sample output:
. . .

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
Next, we'll generate a few other items. We can generate a strong Diffie-Hellman keys to use during key exchange by typing:
$ ./build-dh
This might take a few minutes to complete. Afterwards, we can generate an HMAC signature to strengthen the server's TLS integrity verification capabilities:
$ openvpn --genkey --secret keys/ta.key
Generate a Client Certificate and Key Pair Next, we can generate a client certificate and key pair. Although this can be done on the client machine and then signed by the server/CA for security purposes, for this guide we will generate the signed key on the server for the sake of simplicity. We will generate a single client key/certificate for this guide, but if you have more than one client, you can repeat this process as many times as you'd like. Pass in a unique value to the script for each client. Because you may come back to this step at a later time, we'll re-source the vars file. We will use client1 as the value for our first certificate/key pair for this guide. To produce credentials without a password, to aid in automated connections, use the build-key command like this:
$ cd ~/openvpn-ca
$ source vars
$ ./build-key client1
If instead, you wish to create a password-protected set of credentials, use the build-key-pass command:
$ cd ~/openvpn-ca
$ source vars
$ ./build-key-pass client1
Again, the defaults should be populated, so you can just hit ENTER to continue. Leave the challenge password blank and make sure to enter y for the prompts that ask whether to sign and commit the certificate. Configure the OpenVPN Service Next, we can begin configuring the OpenVPN service using the credentials and files we've generated. Copy the Files to the OpenVPN Directory To begin, we need to copy the files we need to the /etc/openvpn configuration directory. We can start with all of the files that we just generated. These were placed within the
~/openvpn-ca/keys
directory as they were created. We need to move our CA cert and key, our server cert and key, the HMAC signature, and the Diffie-Hellman file:
$ cd ~/openvpn-ca/keys
$ sudo cp ca.crt ca.key server.crt server.key ta.key dh2048.pem /etc/openvpn
Next, we need to copy and unzip a sample OpenVPN configuration file into configuration directory so that we can use it as a basis for our setup:
# gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf
Adjust the OpenVPN Configuration Now that our files are in place, we can modify the server configuration file:
$ sudo nano /etc/openvpn/server.conf
Basic Configuration First, find the HMAC section by looking for the tls-auth directive. Remove the ";" to uncomment the tls-auth line. Below this, add the key-direction parameter set to "0":
/etc/openvpn/server.conf:
tls-auth ta.key 0 # This file is secret
key-direction 0
Next, find the section on cryptographic ciphers by looking for the commented out cipher lines. The AES-128-CBC cipher offers a good level of encryption and is well supported. Remove the ";" to uncomment the cipher AES-128-CBC line:
/etc/openvpn/server.conf:
cipher AES-128-CBC
Below this, add an auth line to select the HMAC message digest algorithm. For this, SHA256 is a good choice:
/etc/openvpn/server.conf:
auth SHA256
Finally, find the user and group settings and remove the ";" at the beginning of to uncomment those lines:
/etc/openvpn/server.conf:
user nobody
group nogroup
(Optional) Push DNS Changes to Redirect All Traffic Through the VPN The settings above will create the VPN connection between the two machines, but will not force any connections to use the tunnel. If you wish to use the VPN to route all of your traffic, you will likely want to push the DNS settings to the client computers. You can do this, uncomment a few directives that will configure client machines to redirect all web traffic through the VPN. Find the redirect-gateway section and remove the semicolon ";" from the beginning of the redirect-gateway line to uncomment it:
/etc/openvpn/server.conf:
push "redirect-gateway def1 bypass-dhcp"
Just below this, find the dhcp-option section. Again, remove the ";" from in front of both of the lines to uncomment them:
/etc/openvpn/server.conf:
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
This should assist clients in reconfiguring their DNS settings to use the VPN tunnel for as the default gateway. (Optional) Adjust the Port and Protocol By default, the OpenVPN server uses port 1194 and the UDP protocol to accept client connections. If you need to use a different port because of restrictive network environments that your clients might be in, you can change the port option. If you are not hosting web content your OpenVPN server, port 443 is a popular choice since this is usually allowed through firewall rules.
/etc/openvpn/server.conf:
# Optional!
port 443
Often if the protocol will be restricted to that port as well. If so, change proto from UDP to TCP:
/etc/openvpn/server.conf:
# Optional!
proto tcp
If you have no need to use a different port, it is best to leave these two settings as their default. (Optional) Point to Non-Default Credentials If you selected a different name during the ./build-key-server command earlier, modify the cert and key lines that you see to point to the appropriate .crt and .key files. If you used the default server, this should already be set correctly:
/etc/openvpn/server.conf:
cert server.crt
key server.key
When you are finished, save and close the file. Adjust the Server Networking Configuration Next, we need to adjust some aspects of the server's networking so that OpenVPN can correctly route traffic. Allow IP Forwarding First, we need to allow the server to forward traffic. This is fairly essential to the functionality we want our VPN server to provide. We can adjust this setting by modifying the /etc/sysctl.conf file:
# sudo nano /etc/sysctl.conf
Inside, look for the line that sets net.ipv4.ip_forward. Remove the "#" character from the beginning of the line to uncomment that setting:
/etc/sysctl.conf:
net.ipv4.ip_forward=1
Save and close the file when you are finished. To read the file and adjust the values for the current session, type:
# sudo sysctl -p
Then we need to install iptables and adjust firewall rules:
# apt install iptables
To adjust rules execute following: # 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 Also, please execute this to fix systemd service file for openvpn:
$ sudo sed -i 's/LimitNPROC=10 /#LimitNPROC=10 /' /lib/systemd/system/openvpn@.service
We need to start the OpenVPN server by specifying our configuration file name as an instance variable after the systemd unit file name. Our configuration file for our server is called /etc/openvpn/server.conf, so we will add @server to end of our unit file when calling it:
$ sudo systemctl start openvpn@server
If everything went well, your output should look something that looks like this:
● 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
You can also check that the OpenVPN tun0 interface is available by typing:
$ ip addr show tun0
You should see a configured interface:
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
Create Client Configuration Infrastructure Next, we need to set up a system that will allow us to create client configuration files easily. Creating the Client Config Directory Structure Create a directory structure within your home directory to store the files:
$ mkdir -p ~/client-configs/files
Since our client configuration files will have the client keys embedded, we should lock down permissions on our inner directory:
$ chmod 700 ~/client-configs/files
Creating a Base Configuration Next, let's copy an example client configuration into our directory to use as our base configuration:
$ cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client-configs/base.conf
Open this new file in your text editor:
$ nano ~/client-configs/base.conf
Inside, we need to make a few adjustments. First, locate the remote directive. This points the client to our OpenVPN server address. This should be the public IP address of your OpenVPN server. If you changed the port that the OpenVPN server is listening on, change 1194 to the port you selected:
~/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
. . .
Be sure that the protocol matches the value you are using in the server configuration:
~/client-configs/base.conf:
proto udp
Next, uncomment the user and group directives by removing the ";":
~/client-configs/base.conf:
# Downgrade privileges after initialization (non-Windows only)
user nobody
group nogroup
Find the directives that set the ca, cert, and key. Comment out these directives since we will be adding the certs and keys within the file itself:
~/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
Mirror the cipher and auth settings that we set in the /etc/openvpn/server.conf file:
~/client-configs/base.conf:
cipher AES-128-CBC
auth SHA256
Next, add the key-direction directive somewhere in the file. This must be set to "1" to work with the server:
~/client-configs/base.conf:
key-direction 1
Finally, add a few commented out lines. We want to include these with every config, but should only enable them for Linux clients that ship with a /etc/openvpn/update-resolv-conf file. This script uses the resolvconf utility to update DNS information for Linux clients.
~/client-configs/base.conf:
# script-security 2
# up /etc/openvpn/update-resolv-conf
# down /etc/openvpn/update-resolv-conf
If your client is running Linux and has an /etc/openvpn/update-resolv-conf file, you should uncomment these lines from the generated OpenVPN client configuration file. Save the file when you are finished. Creating a Configuration Generation Script Next, we will create a simple script to compile our base configuration with the relevant certificate, key, and encryption files. This will place the generated configuration in the ~/client-configs/files directory. Create and open a file called make_config.sh within the ~/client-configs directory:
$ nano ~/client-configs/make_config.sh
Inside, paste the following script:
~/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
Save and close the file when you are finished. Mark the file as executable by typing:
$ chmod 700 ~/client-configs/make_config.sh
Step 11: Generate Client Configurations Now, we can easily generate client configuration files. If you followed along with the guide, you created a client certificate and key called client1.crt and client1.key respectively by running the ./build-key client1 command in step 6. We can generate a config for these credentials by moving into our ~/client-configs directory and using the script we made:
$ cd ~/client-configs
$ ./make_config.sh client1
If everything went well, we should have a client1.ovpn file in our ~/client-configs/files directory:
$ ls ~/client-configs/files
Output: client1.ovpn Transferring Configuration to Client Devices We need to transfer the client configuration file to the relevant device. For instance, this could be your local computer or a mobile device. While the exact applications used to accomplish this transfer will depend on your choice and device's operating system, you want the application to use SFTP (SSH file transfer protocol) or SCP (Secure Copy) on the backend. This will transport your client's VPN authentication files over an encrypted connection. Here is an example SFTP command using our client1.ovpn example. This command can be run from your local computer (OS X or Linux). It places the .ovpn file in your home directory:
$ scp sammy@openvpn_server_ip:client-configs/files/client1.ovpn ~/
Here are several tools for securely transferring files from the server to a local computer:
WinSCP
Filezilla
OVPN file can be used if GUI client for OpenVPN on Windows or Mac OS. Linus has Network Manager GUI that can work with .ovpn files.