- Теплый и ламповый VPN
- Начало
- Настройка сервера
- Настройка android клиента (root не требуется)
- Настройка Windows клиента
- Настройка Linux клиента
- Настройка роутера на dd-wrt (Big или Mega)
- Как Настроить VPN-сервер Linux с OpenVPN – Пошаговое Руководство
- Зачем использовать VPN-сервер Linux?
- Предусловия:
- Настройка VPN-сервера Linux с Сервером Доступа OpenVPN
- Настройка VPN-сервера Linux с OpenVPN для Туннелирования
- Как Подключить VPN-сервер Linux к Другим Устройствам с OpenVPN
- Установка и Подключение Клиента OpenVPN на Windows
- Установка и Подключение Клиента OpenVPN на MacOS
- Установка и Подключение Клиента OpenVPN на Linux
- Установка и Подключение Клиента OpenVPN на Android
- Установка и Подключение Клиента OpenVPN на iOS
- Настройки Сжатия VPN-сервера Linux
- Добавление Пользователей на VPN-сервер Linux c OpenVPN
- Настройка Профилей Автоматического Входа для VPN-сервера Linux с OpenVPN
- Как Проверить Linux VPN-сервер с Запущенным OpenVPN
- В Завершение
Теплый и ламповый VPN
Ничего не предвещало беды, как вдруг в 2 часа ночи раздался телефонный звонок.
— Алло, милый! У меня youtube не работает!
— Прекрасно, иди спать!
— Нууу! Там новая серия вышла!
— Завтра всё сделаю!
— Ну Заяя, нуууу!
— Ладно! Ладно! Сейчас.
…
Из этого поста вы узнаете ответы на следующие вопросы:
Как спасти свою милую от стресса в 2 часа ночи? Как вернуть доступ к youtube.com, если ваш провайдер его заблокировал? Как быстро поднять VPN и настроить клиентские устройства (Android, Windows, Debian, dd-wrt) для работу с ним? Как безопасно серфить интернет на открытых точках доступа? Как заработать карму в глазах своей возлюбленной? Если вам это интересно, добро пожаловать под кат!
Начало
Первым делом я попросил сделать трейс и отрезолвить youtube.com с DNS провайдера и Google Public DNS
Стало ясно что проблема в провайдере, его DNS отдавал IP заглушки, а трейс до IP youtube.com, полученному запросом к 8.8.8.8 уходил в никуда.
После этого я подкинул пару хороших и быстрых прокси, чтобы моя милая успокоилась и пошла смотреть свой любимый сериал. Попутно объяснил ей где найти очередные прокси, если эти помрут, а так же провел инструктаж о мерах предосторожности при использовании чужих прокси. Её все устроило, скорость была отменной, она визжала как поросенок, после чего пропала на пару часов в бездне кинематографа. Это был самый простой и быстрый способ ее успокоить и вернуть возможность вновь наслаждаться благами цивилизации.
Прокси, тем более публичные, это не серьезно, проблемно и очень не безопасно, нам нужен VPN подумал я, и поэтому решил — пока меня не отвлекают надо приступить к реализации. Для начала выберем сервер.
vServer VQ 7 — от Hetzner подойдет, цена вопроса всего 7.90 Евро/мес, а т.к. ничего кроме VPN мы запускать пока не планируем, этой простейшей конфигурации вполне хватит.
Как зарегистрироваться и купить сервер, объяснять не буду, скажу только что у меня попросили любой документ удостоверяющий личность, на котором видна дата рождения. Платил картой VISA.
Настройка сервера
И так, мы зарегистрировались и купили vServer VQ 7, заходим в админку и видим наш сервер
Теперь установим на него debian (кстати это можно сделать прямо во время оформления заказа). Переходим на вкладку Linux, выбираем конфигурацию Debian 6.0 minimal, 32bit, жмем Activate.
Установка начнется при следующем запуске сервера, т.е. нам надо его перезагрузить, сделать это можно на вкладке vServer, или по SSH.
Через некоторое время на почту придет письмо что все готово. Там же будет и пароль root пользователя, подключаемся по SSH к серверу и приступаем к настройке.
Всё, серверная часть готова. Можно подключаться. Для перехода к следующим этапам, надо выгрузить с нашего сервера сертификаты из папки: Это можно сделать при помощи SSH, либо mc если у вас есть ftp сервер. Нам нужны только некоторые файлы, какие именно читаем ниже.
Настройка android клиента (root не требуется)
1. Устанавливаем на телефон OpenVPN for Android
2. Загружаем на карту памяти сертификат p12, брать тут
3. Запускаем OpenVPN for Android
4. VPN Profiles > Add, вводим любое имя. Приступаем к настройке профиля:
- Basic > Server Address: IP адрес вашего VPN сервера, либо имя домена если вы его привязали
- Type: PKCS12 File
- Select: Выбираем наш файл *.p12
- PKCS12 Password: вводим пароль импорта сертификата, заданный при его генерации.
- upd: используйте последнюю версию приложения, в ней проверка remote-cert-tls server включена по-умолчанию. либо включите вручную в настройках авторизации, проверку сертификата сервера
- Если вы включили tls-auth на сервере, включите в настройках профиля tls-auth и выберите ta.key
5. Готово. Подключаемся и проверяем, текущий статус подключения доступен в панели уведомлений (можно добавить на рабочий стол ярлык для конкретного VPN, он будет стартовать сразу по клику на ярлык, без лишних телодвижений. Если хотите чтобы при каждом подключении спрашивало пароль, просто не сохраняйте его в настройках профиля).
Настройка Windows клиента
1. Скачиваем и устанавливаем клиент: 32bit | 64bit
2. Создаем файл конфигурации myvpnconfig.ovpn (обычный текстовый файл):
3. Создаем batch скрипт (start_my_vpn.cmd) для запуска VPN сессии:
4. Скрипт и конфиг ложим в одну папку, в эту же папку кидаем vpn.windows.p12 сертификат, брать его тут
5. Готово, ярлык на скрипт кидаем на рабочий стол, запускаем от имени администратора или от пользователя с его правами, при запуске он попросит ввести пароль для «импорта» сертификата.
Если пароль верный, то несколько секунд и мы подключились:
Для не параноиков или автостарта туннеля без ввода пароля, можно вместо p12 использовать связку сертификатов ca.crt, vpn.windows.key и vpn.windows.crt, выглядит это так,
вместо пишем:
Файлы брать все там же и положить в папку с myvpnconfig.ovpn и start_my_vpn.cmd.
Настройка Linux клиента
Настройка на примере debian 6.0
Готово. Не забудьте положить vpn.debian.p12 или ca.crt, vpn.debian.key и vpn.debian.crt в папку со скриптом и файлом конфигурации.
Для подключения к VPN, просто выполните с повышенными привилегиями:
Настройка роутера на dd-wrt (Big или Mega)
В данном случае будет проведена настройка роутера, как клиента сети VPN, для возможности удаленного подключения к роутеру, если подключение по внешнему адресу недоступно, например провайдер внезапно выдал вам NAT’ированный IP. Подключаться можно будет с любого устройства, внутри вашего VPN.
1. Перейдите на страницу router_ip/Diagnostics.asp (тех.обслуживание->команды)
2. Если у вас уже есть «Параметры запуска», то нажмите Редактировать и добавьте ниже приведенный код, после, либо до вашего. Если нет то просто вставьте его в «Командный процессор» и нажмите «Сохранить параметры запуска»
3. Собственно сам код запуска:
4. Переменные CA_CRT, CLIENT_CRT и CLIENT_KEY, это содержимое файлов ca.crt, vpn.ddwrt.crt и vpn.ddwrt.key соответственно, просто открывайте их текстовым редактором и копируйте содержимое, в vpn.ddwrt.crt блок будет в самом конце, в двух других копируем содержимое полностью. Брать файлы известно где
5. Не забудьте заменить IP_ВАШЕГО_СЕРВЕРА и нажать «Сохранить параметры запуска».
6. Перезагружаем роутер, пробуем подключиться к нему с другого устройства в вашем VPN. Посмотреть VPN IP адрес роутера можно например через ifconfig.
Запустив OpenVPN на любом из клиентских устройств, проверить что вы выходите в интернет через защищенный канал достаточно просто, откройте 2ip.ru, если там будет IP адрес вашего сервера, а провайдером значится Hetzner, всё в порядке.
Настоятельно рекомендую запускать VPN туннель сразу после того как вы подключаетесь к открытым точкам доступа Wi-Fi.
Как показала моя последняя командировка, ловить в wi-fi сетях гостиниц и прочих учреждений не заботящихся о безопасности своих клиентов можно очень долго и невозбранно (особенно удивляет обилие сканов паспортов, в почтовых ящиках тур. агентов).
Помимо прочего, вы получаете возможность подключаться между устройствами, даже если они находятся за NAT провайдера, это очень удобно. Если конечно вы раскомментировали строку client-to-client в конфиге сервера.
Источник
Как Настроить VPN-сервер Linux с OpenVPN – Пошаговое Руководство
Аббревиатура VPN обозначает виртуальную частную сеть. Одной из программ VPN с открытым исходным кодом является OpenVPN. OpenVPN может работать как VPN-сервер Linux. На базовом уровне VPN создаёт защищённое соединение “точка-точка”. Хороший VPN для Linux – один из лучших способов защиты в Интернете или открытой сети. В этом руководстве мы покажем вам, как настроить собственный VPN-сервер Linux с помощью OpenVPN. Сделайте свой VPS безопасным!
Прокачайте ваш проект, воспользовавшись скидками на VPS-хостинг в Hostinger! Большой выбор планов, как для учебных, так и для крупных коммерческих проектов.
Зачем использовать 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.
Предусловия:
- У вас должны быть права доступа root или sudo
- OpenVPN не должен быть предварительно установлен
- Брандмауэр должен разрешать трафик TCP через порт 943 и трафик UDP через порт 1194. Мы рекомендуем использовать UFW. Ознакомьтесь с нашим руководством по UFW, чтобы узнать всё необходимое
Настройка VPN-сервера Linux с Сервером Доступа OpenVPN
Во-первых, давайте обновим систему. Для CentOS:
Для Ubuntu и Debian обновите индексы, используя:
Для установки OpenVPN вам потребуется пакет net-tools. Установите его, если он не был предварительно установлен. Пакет net-tools содержит ifcfg, необходимый для установки сервера OpenVPN.
Вы можете установить его для CentOS, используя:
Для Ubuntu и Debian используйте следующую команду:
Вы можете скачать клиент OpenVPN для вашего дистрибутива с веб-сайта OpenVPN. Получить ссылку можно здесь и использовать её вместе с командой curl. Пример команды curl для Ubuntu показан ниже:
Команда curl для CentOS:
Здесь вы можете добавить URL к вашему дистрибутиву. Убедитесь, что загружена правильная установка, напечатав контрольную сумму файла SHA256. Для этого используйте следующую команду:
Эта команда распечатает контрольную сумму:
Вы можете сравнить контрольную сумму загруженного бинарного файла с контрольной суммой, представленной на сайте. Если контрольная сумма совпадает, установите ранее загруженный бинарный файл.
Для установки в CentOS используйте:
Аналогично, для установки в Ubuntu и Debian введите следующую команду в командной строке:
Установка OpenVPN займёт некоторое время. После завершения установки вы увидите интерфейс Администратора и детали интерфейса Клиента. Пользователь openvpn будет создан по умолчанию во время установки. Вы можете задать пароль для этого пользователя, используя:
Это действие установит новый пароль. Запомните его, так как он будет использоваться для входа в систему. Используйте URL администратора для входа и завершения процесса установки OpenVPN. В нашем случае URL администратора – https://31.220.111.160:943/admin. Обычно URL – это просто ваш VPS-адрес, порт: 943 с /admin в конце, как в примере.
Вы увидите следующий экран:
Имя пользователя, как упоминалось ранее, openvpn, а пароль – тот, который вы только что установили для этого пользователя. Как только вы войдёте в систему, вы увидите страницу с условиями. Прочитайте их и нажмите кнопку Agree (Cогласен), чтобы продолжить. На следующей странице, вы найдёте информацию о настройках и состоянии сервера.
Настройки по умолчанию вполне адекватны и позволяют MacOS, Linux, Windows, Android и iOS подключиться к VPN-серверу Linux. Если вы хотите изменить какие-либо настройки, обязательно нажмите Apply (Применить) и Update Running Server (Обновить запущенный сервер), чтобы активировать изменения.
Это завершает установку по умолчанию. Далее мы настроим туннель OpenVPN.
Настройка VPN-сервера Linux с OpenVPN для Туннелирования
Включите переадресацию IP в вашем ядре с помощью следующей команды:
Это активирует переадресацию трафика через IPv4. Чтобы применить эти изменения, используйте следующую команду:
OpenVPN не поддерживает одновременные туннели через IPv6 и IPv4, поэтому вы можете отключить IPv6, используя:
Чтобы отключить IPv6 вручную, добавьте следующие параметры, которые будут установлены при загрузке. Эти параметры должны быть добавлены в файл 99-sysctl.conf, расположенный в /etc/sysctl.d/. Просто используйте команду cd для доступа к папке и предпочитаемый текстовый редактор для редактирования файла. Не забудьте сохранить изменения!
Далее вы можете активировать новые настройки, используя:
Далее, в файле hosts, расположенном в /etc/ прокомментируйте строку разрешения IPv6, как показано ниже:
Таким образом, мы отключили IPv6. Затем снова войдите в систему по URL сервера Администратора и перейдите в настройки VPN.
В разделе Маршрутизация (Routing), напротив опции “Должны ли VPN-клиенты иметь доступ к частным подсетям (непубличным сетям на стороне сервера)?” должно быть указано “Нет”.
Напротив опции “Должен ли интернет-трафик клиента маршрутизироваться через VPN?” должно быть указано “Да”.
Чтобы избежать утечки DNS, измените настройки распознавателя DNS. Выберите “Клиенты должны использовать те же DNS-сервера, что и Access Server хост.”
Сохраните эти настройки и не забудьте нажать на Update Running Server (Обновить запущенный сервер). Вы можете перезапустить сервер OpenVPN, используя вкладку Status (Состояние) в консоли администратора. Отсюда вы можете остановить сервер, а затем запустить его снова.
На этом наша настройка сервера 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, используя следующую команду:
Аналогично, вы можете установить клиентское программное обеспечение OpenVPN на Debian или Ubuntu, используя следующую команду:
Откройте клиентский интерфейс OpenVPN и загрузите соответствующий профиль для вашей ОС. Кроме того, вы можете использовать команду wget или curl и указать URL-адрес для загрузки программного обеспечения.
Скопируйте загруженный профиль в папку /etc/openvpn и переименуйте его в client.conf. Запустите сервис туннелей OpenVPN, где вам будет предложено ввести имя пользователя и пароль. Начните операцию с помощью:
Вы можете использовать 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. Если вы обнаружите записи, аналогичные приведённым ниже, вы, скорее всего, столкнулись с проблемой сжатия:
Чтобы решить эту проблему, вы можете отключить сжатие. Это можно сделать из интерфейса Администратора. Откройте интерфейс Администратора и нажмите на опцию Advanced VPN.
Перейдите к настройкам сжатия по умолчанию (Default Compression Settings). Здесь отключите опцию Поддержка сжатия на клиентских VPN-соединениях (Support compression on client VPN connection).
Примените изменения и нажмите на опцию Update Running Server. Проблема должна исчезнуть.
Добавление Пользователей на VPN-сервер Linux c 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!
Ольга уже около пяти лет работает менеджером в сфере IT. Написание технических заданий и инструкций — одна из её главных обязанностей. Её хобби — узнавать что-то новое и создавать интересные и полезные статьи о современных технологиях, веб-разработке, языках программирования и многом другом.
Источник