access_time
hourglass_empty
person_outline

Как Настроить VPN-сервер Linux с OpenVPN – Пошаговое Руководство

Аббревиатура VPN обозначает виртуальную частную сеть. Одной из программ VPN с открытым исходным кодом является OpenVPN. OpenVPN может работать как VPN-сервер Linux. На базовом уровне VPN создаёт защищённое соединение “точка-точка”. Хороший VPN для Linux – один из лучших способов защиты в Интернете или открытой сети. В этом руководстве мы покажем вам, как настроить собственный VPN-сервер Linux с помощью OpenVPN. Сделайте свой VPS безопасным!

Зачем использовать VPN-сервер Linux?

VPN имеет определённые преимущества. Некоторые из них выделены ниже:

  • Безопасность. VPN обеспечивает более надёжную защиту, поскольку все данные зашифрованы. Это обеспечивает дополнительную безопасность по сравнению с брандмауэрами.
  • Удалённый доступ. Чтобы обеспечить высокий уровень безопасности многие организации, правительственные и оборонные учреждения разрешают удалённый доступ только через их VPN.
  • ISP шифрование. ISP означает провайдер услуг Интернета. Если вы используете общедоступное соединение Wi-Fi, интернет-провайдер может прочитать все ваши незашифрованные данные. Используя VPN, вы можете сохранить свои данные в безопасности, зашифровав их.
  • Анонимность. VPN позволяет пользователям сохранять анонимность просмотров в Интернете. IP-адреса не отслеживаются.
  • Изменение IP-адреса. VPN позволяет пользователям изменять свои IP-адреса. В некоторых случаях это используется в регионах с ограничениями на основе местоположения.
  • Разблокировка сайтов. Некоторые сайты могут блокироваться в определённых географических регионах. VPN обеспечивает анонимность, поэтому часто используется для обхода интернет-цензуры и разблокировки веб-сайтов.
  • Регулирование. Определённые интернет-провайдеры регулируют пропускную способность пользователя в зависимости от содержимого. Этого можно избежать с помощью VPN.

На более высоком уровне, с помощью шифрования, VPN делает ваши транзакции безопасными.

Рассказав о преимуществах VPN, мы логически подходим к части, где покажем, как происходит установка и настройка OpenVPN в Linux. Мы расскажем о настройке VPN-сервера Linux через OpenVPN и о том, как подключить его к Windows, Android и другим устройствам. Если же на этом этапе вы хотите узнать больше о протоколе OpenVPN, мы предлагаем вам прочитать обзор OpenVPN.

Предусловия:

  1. У вас должны быть права доступа root или sudo
  2. OpenVPN не должен быть предварительно установлен 
  3. Брандмауэр должен разрешать трафик TCP через порт 943 и трафик UDP через порт 1194. Мы рекомендуем использовать UFW. Ознакомьтесь с нашим руководством по UFW, чтобы узнать всё необходимое

Настройка VPN-сервера Linux с Сервером Доступа OpenVPN

Во-первых, давайте обновим систему. Для CentOS:

yum -y update

Для Ubuntu и Debian обновите индексы, используя:

sudo apt update

Для установки OpenVPN вам потребуется пакет net-tools. Установите его, если он не был предварительно установлен. Пакет net-tools содержит ifcfg, необходимый для установки сервера OpenVPN.

Вы можете установить его для CentOS, используя:

sudo yum install net-tools

Для Ubuntu и Debian используйте следующую команду:

sudo apt install net-tools

Вы можете скачать клиент OpenVPN для вашего дистрибутива с веб-сайта OpenVPN. Получить ссылку можно здесь и использовать её вместе с командой curl. Пример команды curl для Ubuntu показан ниже:

curl -O http://swupdate.openvpn.org/as/openvpn-as-2.5.2-Debian9.amd_64.deb

Команда curl для CentOS:

 curl -O http://swupdate.openvpn.org/as/openvpn-as-2.7.3-CentOS7.x86_64.rpm 

Здесь вы можете добавить URL к вашему дистрибутиву. Убедитесь, что загружена правильная установка, напечатав контрольную сумму файла SHA256. Для этого используйте следующую команду:

sha256sum openvpn-as-*

Эта команда распечатает контрольную сумму:

6354ac41be811829e60b028d3a7a527e839232d7f782c1d29bb4d8bd32bf24d5  openvpn-as-2.7.3-CentOS7.x86_64.rpm

Вы можете сравнить контрольную сумму загруженного бинарного файла с контрольной суммой, представленной на сайте. Если контрольная сумма совпадает, установите ранее загруженный бинарный файл.

Для установки в CentOS используйте:

 sudo rpm --install openvpn-as-*.rpm 

Аналогично, для установки в Ubuntu и Debian введите следующую команду в командной строке:

 sudo dpkg -i openvpn-as-*.deb 

Установка OpenVPN займёт некоторое время. После завершения установки вы увидите интерфейс Администратора и детали интерфейса Клиента. Пользователь openvpn будет создан по умолчанию во время установки. Вы можете задать пароль для этого пользователя, используя:

passwd openvpn

Это действие установит новый пароль. Запомните его, так как он будет использоваться для входа в систему. Используйте URL администратора для входа и завершения процесса установки OpenVPN.  В нашем случае URL администратора – https://31.220.111.160:943/admin. Обычно URL – это просто ваш VPS-адрес, порт: 943 с /admin в конце, как в примере.

Вы увидите следующий экран:

Экран Входа OpenVPN

Имя пользователя, как упоминалось ранее, openvpn, а пароль – тот, который вы только что установили для этого пользователя. Как только вы войдёте в систему, вы увидите страницу с условиями. Прочитайте их и нажмите кнопку Agree (Cогласен), чтобы продолжить. На следующей странице, вы найдёте информацию о настройках и состоянии сервера.

Настройки по умолчанию вполне адекватны и позволяют MacOS, Linux, Windows, Android и iOS подключиться к VPN-серверу Linux. Если вы хотите изменить какие-либо настройки, обязательно нажмите Apply (Применить) и Update Running Server (Обновить запущенный сервер), чтобы активировать изменения.

Это завершает установку по умолчанию. Далее мы настроим туннель OpenVPN.

Настройка VPN-сервера Linux с OpenVPN для Туннелирования

Включите переадресацию IP в вашем ядре с помощью следующей команды:

echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.d/99-sysctl.conf

Это активирует переадресацию трафика через IPv4. Чтобы применить эти изменения, используйте следующую команду:

sudo sysctl -p

OpenVPN не поддерживает одновременные туннели через IPv6 и IPv4, поэтому вы можете отключить IPv6, используя:

sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1

Чтобы отключить IPv6 вручную, добавьте следующие параметры, которые будут установлены при загрузке. Эти параметры должны быть добавлены в файл 99-sysctl.conf, расположенный в /etc/sysctl.d/. Просто используйте команду cd для доступа к папке и предпочитаемый текстовый редактор для редактирования файла. Не забудьте сохранить изменения!

net.ipv6.conf.all.disable_ipv6 = 1

net.ipv6.conf.default.disable_ipv6 = 1

net.ipv6.conf.lo.disable_ipv6 = 1

net.ipv6.conf.eth0.disable_ipv6 = 1

Далее вы можете активировать новые настройки, используя:

sysctl -p

Далее, в файле hosts, расположенном в /etc/ прокомментируйте строку разрешения IPv6, как показано ниже:

::1     localhost ip6-localhost ip6-loopback

Таким образом, мы отключили IPv6. Затем снова войдите в систему по URL сервера Администратора и перейдите в настройки VPN.

Снимок Вкладки Настроек VPN в OpenVPN

В разделе Маршрутизация (Routing), напротив опции “Должны ли VPN-клиенты иметь доступ к частным подсетям (непубличным сетям на стороне сервера)?” должно быть указано “Нет”.

Пример Настроек Маршрутизации в OpenVPN

Напротив опции “Должен ли интернет-трафик клиента маршрутизироваться через VPN?” должно быть указано “Да”.

Пример Настроек Трафика Веб-Клиента в OpenVPN

Чтобы избежать утечки DNS, измените настройки распознавателя DNS. Выберите “Клиенты должны использовать те же DNS-сервера, что и Access Server хост.

Пример Настроек DNS в OpenVPN

Сохраните эти настройки и не забудьте нажать на Update Running Server (Обновить запущенный сервер). Вы можете перезапустить сервер OpenVPN, используя вкладку Status (Состояние) в консоли администратора. Отсюда вы можете остановить сервер, а затем запустить его снова.

Страница Админпанели OpenVPN

На этом наша настройка сервера OpenVPN завершена. Далее мы можем проверить клиентские установки.

Как Подключить VPN-сервер Linux к Другим Устройствам с OpenVPN

Теперь, когда ваш сервер запущен и работает, мы можем подключить к нему несколько устройств! Мы рассмотрим наиболее популярные варианты операционной системы:

Установка и Подключение Клиента OpenVPN на Windows

Откройте URL-адрес клиента OpenVPN, вы сможете показывать ссылки на клиентские загрузки на разных операционных системах.

Выберите версию Windows и запустите установку.

После завершения установки вам будет предложено ввести имя пользователя и пароль OpenVPN. IP-адрес сервера будет заполнен автоматически.

Вы можете использовать значок OpenVPN на панели задач Windows для отключения, повторного подключения и просмотра состояния подключения.

Установка и Подключение Клиента OpenVPN на MacOS

Подключитесь к пользовательскому интерфейсу Клиента OpenVPN и щёлкните по ссылке, чтобы загрузить программное обеспечение OpenVPN для MacOS. После загрузки этого пакета откроется окно со значком пакета установщика.

Следуйте стандартной процедуре установки приложения MacOS.

Дважды щёлкните по иконке этого установщика и нажмите “Открыть”, чтобы запустить установку.

После завершения установки вы увидите иконку OpenVPN на панели задач macOS. Вы можете щёлкнуть правой клавишей мыши по иконке, чтобы увидеть доступные опции и подключиться к OpenVPN.

После того, как вы выберите опцию “Подключиться к”, вы увидите всплывающее окно с запросом имени пользователя и пароля OpenVPN. Здесь вы должны ввести учётные данные и нажать “Подключиться”, чтобы установить соединение с VPN-сервером Linux.

Установка и Подключение Клиента OpenVPN на Linux

Установка клиента на Linux немного отличается. Загрузите и установите клиентское программное обеспечение OpenVPN в CentOS, используя следующую команду:

sudo yum install OpenVPN

Аналогично, вы можете установить клиентское программное обеспечение OpenVPN на Debian или Ubuntu, используя следующую команду:

 sudo apt-get install openvpn 

Откройте клиентский интерфейс OpenVPN и загрузите соответствующий профиль для вашей ОС. Кроме того, вы можете использовать команду wget или curl и указать URL-адрес для загрузки программного обеспечения.

Скопируйте загруженный профиль в папку /etc/openvpn и переименуйте его в client.conf. Запустите сервис туннелей OpenVPN, где вам будет предложено ввести имя пользователя и пароль. Начните операцию с помощью:

sudo service openvpn start

Вы можете использовать ipconfig или ip addr, чтобы просмотреть сетевые подключения. Как только интерфейс VPN станет доступным, вы увидите, что интерфейс tun0 добавлен в существующий список, показанный в выводе.

Установка и Подключение Клиента OpenVPN на Android

Сначала перейдите в магазин Google Play и найдите OpenVPN Connect. Установите приложение OpenVPN Connect.

Открыв, вы увидите три параметра: Частный туннель (Private Tunnel), Сервер доступа (Access Server) и Профиль OVPN (OVPN Profile).

Выберите Access Server и заполните все данные вручную:

  • Title – укажите предпочитаемое имя подключения.
  • Access Server Hostname – IP-адрес вашего VPN-сервера Linux
  • Port – порт 934 вашего VPN-сервера Linux
  • Username – имя пользователя, установленное на вашем сервере (openvpn по умолчанию)
  • Password – пароль, который вы задали в консоли при настройке VPN-сервера Linux в терминальной среде

Или же вы можете импортировать файл .ovpn для профиля. Вы можете получить профиль подключения из клиентского интерфейса.

Установка и Подключение Клиента OpenVPN на iOS  

Как и в случае с Android, вы можете установить программное обеспечение OpenVPN из App Store.

Завершите установку и откройте только что установленное приложение. Оно попросит вас заполнить данные профиля или загрузить файл профиля, как и версия Android.

Как только они будут добавлены, вы можете начать использовать OpenVPN на вашем iPhone или iPad.

Настройки Сжатия VPN-сервера Linux

Если вы подключены к VPN, а Интернет не работает, вы можете проверить журналы OpenVPN по адресу /var/log/openvpnas.log в VPS. Если вы обнаружите записи, аналогичные приведённым ниже, вы, скорее всего, столкнулись с проблемой сжатия:

2019-03-23 18:24:05+0800 [-] OVPN 11 OUT: 'Mon Mar 23 08:59:05 2016 guest/123.45.67.89:55385 Bad compression stub decompression header byte: 251'

Чтобы решить эту проблему, вы можете отключить сжатие. Это можно сделать из интерфейса Администратора. Откройте интерфейс Администратора и нажмите на опцию Advanced VPN.

Перейдите к настройкам сжатия по умолчанию (Default Compression Settings). Здесь отключите опцию Поддержка сжатия на клиентских VPN-соединениях (Support compression on client VPN connection).

Примените изменения и нажмите на опцию Update Running Server. Проблема должна исчезнуть.

Добавление Пользователей на VPN-сервер Linux c OpenVPN

Бесплатный клиент OpenVPN поддерживает двух пользователей. Чтобы создать больше пользователей, вам придётся выбрать любой из платных планов. Вы можете добавить дополнительных пользователей из интерфейса администратора. Перейдите во вкладку “Управление пользователями” и нажмите ссылку “Права пользователя”.

Введите новое имя пользователя, как показано ниже:

Пример Настроек Пользователя в OpenVPN

Настройте дополнительные параметры для нового пользователя, нажав на ссылку «Дополнительные параметры». Здесь вы можете добавить пароль и другие детали.

Снимок Вкладки "Дополнительные Параметры" в OpenVPN

Сохраните эти настройки и нажмите на “Обновить запущенный сервер” (Update Running Server).

Настройка Профилей Автоматического Входа для VPN-сервера Linux с OpenVPN

С OpenVPN, вы также можете настроить профили автоматического входа. Как результат весь ваш нелокальный трафик будет маршрутизироваться через VPN автоматически. Если вы хотите вручную включить или отключить VPN, вы можете использовать закрытые профили Пользователя или Сервера.

Чтобы настроить автоматический вход в систему, откройте интерфейс Администратора и выберите ссылку “Права пользователя” (User Permissions). Здесь установите флажок напротив “Разрешить автоматический вход” (Allow Auto-login).

Как Проверить Linux VPN-сервер с Запущенным OpenVPN

Чтобы проверить, работает ли OpenVPN должным образом, подключите VPN-клиент и проверьте свой IP-адрес. Вы можете воспользоваться сайтом проверки утечки DNS в браузере. Он должен показать вам IPv4-адрес сервера OpenVPN.

Далее вы можете выбрать Расширенный тест. В результате вы должны получить IP-адреса для DNS-резольвера, который вы выбрали для своего клиентского устройства.

Вы также можете подтвердить, что трафик не использует IPv6. Чтобы проверить это, воспользуйтесь сайтом проверки IPv6. На странице результатов вы должны увидеть IP-адрес сервера и сообщение о том, что IPv6-адрес не был обнаружен.

В Завершение

В этом руководстве вы узнали, как настроить VPN-сервер Linux с OpenVPN и как подключить его с помощью различных клиентов, таких как Windows, Linux, Android, iPhone или iPad и MacOS.

Теперь, когда вы знаете главные нюансы, вы можете безопасно пользоваться Интернетом с помощью своего нового Linux VPN-сервера. Чтобы узнать больше, прочитайте официальное руководство OpenVPN, которое можно найти в интерфейсе администратора. На этом мы завершаем вашу первую конфигурацию OpenVPN в режиме server-client. Наслаждайтесь безопасным Интернетом с помощью OpenVPN!

Автор

Author

Olha L. / @olha

Ольга уже около пяти лет работает менеджером в сфере IT. Написание технических заданий и инструкций — одна из её главных обязанностей. Её хобби — узнавать что-то новое и создавать интересные и полезные статьи о современных технологиях, веб-разработке, языках программирования и многом другом.

Похожие руководства

Оставьте ответ

Комментарий*

Имя*

Email*

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

Присоединиться к Hostinger сейчас!