Как поднять vpn: Как настроить свой VPN — Лайфхакер
Как настроить свой VPN — Лайфхакер
Выбираем хостинг
Для настройки VPN нужен VPS — виртуальный частный сервер. Вы можете выбрать любого хостинг-провайдера, главное, чтобы выполнялись следующие условия:
- Сервер находится в стране, которая не подпадает под юрисдикцию российских органов власти, но находится достаточно близко к вашему реальному местоположению.
- Оперативной памяти (RAM) должно быть не меньше 512 МБ.
- Скорость сетевого интерфейса — 100 МБ/сек и выше.
- Сетевой трафик — 512 ГБ и выше или неограниченный.
Количество выделенного места на жёстком диске и тип накопителя не имеет значения. Найти подходящее решение можно за 3–4 доллара в месяц. Вот несколько самых популярных VPS-провайдеров:
При покупке сервера выбирайте KVM. OpenVZ и Xen тоже подойдут, если у них подключён TUN — об этом нужно спросить в технической службе хостинг-провайдера.
С KVM никаких дополнительных манипуляций производить не придётся, хотя некоторые хостинг-провайдеры и на нём могут ограничить возможность создания VPN. Уточнить это можно также в службе поддержки.
При настройке сервера в пункте «Имя хоста» можно вписать любое значение: например, test.test. Префиксы NS1 и NS2 тоже не важны: пишем ns1.test и ns2.test.
Операционная система — CentOS 8 64 bit или любой другой дистрибутив, принципиальных отличий в настройке нет. Сетевой трафик оставьте 512 ГБ или выберите дополнительный объём, если боитесь, что имеющегося не хватит. Локация — чем ближе, тем лучше. Нидерланды подойдут.
После оплаты на почту придёт письмо со всеми необходимыми данными для настройки VPN. Вы приобрели место на сервере другой страны, осталось перенаправить на него весь трафик.
Настраиваем VPN
Для подключения к серверу и отправки команд мы будем использовать программу Putty. Мне ссылка на неё пришла в письме с регистрационными данными для хостинга. Скачать программу можно здесь. Putty и её аналоги есть и на macOS, настройки будут идентичными.
Запустите Putty. На вкладке Session в поле Host Name введите IP-адрес, который пришёл в письме, и нажмите Open.
При появлении окна с предупреждением об опасности нажмите «Да». После этого запустится консоль, через которую вы будете отправлять команды серверу. Для начала нужно залогиниться — данные для авторизации также есть в письме от хостера. Логин будет root, его напечатайте руками. Пароль скопируйте в буфер обмена. Для вставки пароля в консоль щёлкните правой кнопкой и нажмите Enter. Пароль не отобразится в консоли, но если вы авторизовались, то увидите информацию о системе или номер сервера.
Между вводом логина и пароля не должно пройти много времени. Если появилось сообщение об ошибке, перезапустите Putty и попробуйте ещё раз.
Для настройки VPN я использовал готовый скрипт OpenVPN road warrior. Этот способ не гарантирует полную анонимность, так что при совершении противозаконных действий пользователя легко найти. Но для обхода блокировки его достаточно. Если все VPN-сервисы перестанут работать, это подключение продолжит функционировать, пока я плачу за хостинг.
Чтобы использовать скрипт, вставьте в консоль строчку wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh
.
После успешного добавления скрипта запустится диалог с мастером настройки. Он самостоятельно находит оптимальные значения, вам останется только согласиться или выбрать подходящий вариант. Все действия подтверждаются нажатием клавиши Enter. Пойдём по порядку:
- IP-адрес должен совпадать с IP-адресом, который вы получили в письме от хостера.
- Протокол оставьте по умолчанию UDP.
- Port:1194 — согласитесь.
- Какой DNS использовать — выберите Google. Сотрите 1, напишите 3 и нажмите Enter.
- Client name — укажите имя пользователя. Можно оставить client.
- Press any key — ещё раз нажмите Enter и дождитесь окончания настройки.
После завершения настройки необходимо создать файл, через который вы будете подключаться к VPN. Введите команду cat ~/client.ovpn
.
В консоли появится содержимое файла. Прокрутите экран наверх к команде cat ~/client.ovpn
и выделите всё, что появилось ниже, кроме последней строчки. Выделение должно закончиться на </tls-auth>
. Для копирования фрагмента нажмите Ctrl + V.
Запустите «Блокнот», вставьте скопированный фрагмент и сохраните файл на рабочем столе с именем client.ovpn.
Откройте меню «Файл», выберите «Сохранить как», установите тип «Все файлы» и введите имя с расширением — client.ovpn.
Подключаемся к серверу
Для подключения с помощью созданного файла нужен клиент OpenVPN. Версию для компьютера можно скачать здесь. Загрузите и установите программу, но не запускайте. Щёлкните правой кнопкой по файлу client.ovpn и выберите пункт Start OpenVPN.
Появится окно консоли с инициализацией соединения. Если подключение прошло успешно, внизу будет статус Initialization Sequence Completed
. В процессе соединения может появиться окно выбора сети, нажмите на общественную сеть.
Чтобы убедиться, что подключение установлено верно, проверьте IP-адрес. Он должен совпадать с тем, который хостер написал в письме. Чтобы перестать направлять запросы на сервер в другой стране, закройте окно OpenVPN.
У OpenVPN есть также клиенты для мобильных устройств.
Цена:
Бесплатно
Цена:
Бесплатно
Для установки подключения перенесите в память телефона файл client.ovpn. Запустите приложение и выберите пункт OVPN Profile. Укажите путь к файлу и передвиньте ползунок в положение «Включён».
Наверху появится значок подключения через VPN. Чтобы убедиться в том, что трафик перенаправляется через сервер в другой стране, откройте в мобильном браузере любой сервис проверки IP-адреса.
Читайте также
🧐
Свой собственный L2TP VPN / Блог компании RUVDS.com / Хабр
Покопавшись по просторам интернета в поисках софта для построения своего собственного VPN, постоянно натываешься на кучу гайдов связанных с неудобным в настройке и использовании OpenVPN, требующим проприетарного клиента Wireguard, только один SoftEther из всего этого цирка отличается адекватной реализацией. Но мы расскажем, так сказать, о нативной для Windows реализации VPN – Routing And Remote Access (RRAS).
По странной причине, никто ни в одном гайде не написал про то, как это все развернуть и как включить на нем NAT, поэтому мы сейчас все исправим и расскажем, как сделать свой собственный VPN на Windows Server.
Ну а уже готовый и преднастроенный VPN можно заказать из нашего маркетплейса, он кстати работает из коробки.
1. Устанавливаем службы
Сначала, нам понадобится Windows Server Desktop Experience. Установка Core нам не подойдет, ибо отсутствует компонент NPA. Если компьютер будет членом домена, можно остановиться и на Server Core, в таком случае все это дело можно уложить в гигабайт ОЗУ.
Нам нужно установить RRAS и NPA (Network Policy Server). Первый нам понадобится для создания туннеля, а второй нужен в случае если сервер не является членом домена.
В выборе компонентов RRAS выбираем Direct access and VPN и Routing.
2. Настраиваем RRAS
После того, как мы установили все компоненты и перезагрузили машину, нужно приступить к настройке. Как на картинке, в пуске, находим диспетчер RRAS.
Через эту оснастку мы можем управлять серверами с установленным RRAS. Жмем правой кнопкой мыши, выбираем настройку и переходим.
Пропустив первую страницу переходим к выбору конфигурации, выбираем свою.
На следующей странице нам предлагается выбрать компоненты, выбираем VPN и NAT.
Далее, далее. Готово.
Теперь нужно включить ipsec и назначить пул адресов, который будет использовать наш NAT. Жмем правой кнопкой мыши по серверу и переходим в свойства.
Первым делом вводим свой пароль для l2TP ipsec.
На вкладке IPv4 обязательно нужно установить выдаваемый клиентам диапазон ip адресов. Без этого NAT не заработает.
Теперь осталось добавить интерфейс за NAT. Переходим в подпункт IPv4, жмем правой кнопкой мыши по пустому месту и добавляем новый интерфейс.
На интерфейсе (тот который не Internal) включаем NAT.
3. Разрешаем правила в брандмауэре
Тут все просто. Нужно найти группу правил Routing and Remote Access и включить их всех.
4. Настраиваем NPS
Ищем в пуске Network Policy Server.
В закладках, где перечислены все политики, нужно включить обе стандартные. Это разрешит всем локальным пользователям подключение к VPN.
5. Подключаемся по VPN
Для демонстрационных целей выберем Windows 10. В меню пуск ищем VPN.
Жмем на кнопку добавления подключения и переходим в настройки.
Имя подключения задавайте какое вам хочется.
IP адрес – это адрес вашего VPN сервера.
Тип VPN – l2TP с предварительным ключом.
Общий ключ – vpn (для нашего образа в маркетплейсе.)
А логин и пароль — это логин и пароль от локального пользователя, то есть от администратора.
Жмем на подключение и готово. Вот и ваш собственный VPN готов.
Надеемся, наш гайд даст еще одну опцию тем, кто хочет сделать свой собственный VPN не связываясь с Linux или просто хочет добавить шлюз в свою AD.
Настройка VPN/прокси-сервера на хостинге – для чайников 💻
Приветствую! И сразу к делу. Для чего нужен VPN-сервер? В основном его используют для смены IP-адреса и своей страны чтобы обойти различные блокировки сайтов на работе и дома. Кроме этого, VPN-соединение помогает зашифровать трафик и, таким образом, обеспечивает безопасность передаваемых данных.
Например, используя общественный Wi-Fi, все данные которые передаются через сеть могут быть «угнаны». Теоретически, это могут быть любые файлы, но обычно крадут пароли от кошельков, почты, скайпа и чего угодно. В этой статье мы настроим собственный VPN-сервер, это не сложно. Несмотря на объёмность текста, основное действие занимает малую часть, а остальное — плюшки 🙂 В статье также есть видео.
В интернете есть куча и маленькая тележка VPN-сервисов, от бесплатных до очень платных. Недостатки бесплатных VPN-сервисов:
- ограничены в скорости
- нестабильность (то всё хорошо, то жутко тормозит)
- ограничения трафика (до нескольких Гигабайт в месяц)
- ограничения периода бесплатного пользования
- периодически нужно искать другие сервисы
- не факт, что передаваемые данные будут в безопасности, совсем не стоит надеяться на анонимность, я бы сказал.
Недостатки платных:
- не всегда есть нужная страна или город
- заезженные IP-адреса (используются сотнями клиентов), относится и к бесплатным
- бывает просто обман без возврата денег, например, трафик не безлимитный, некоторые сервера не работают или слишком медленные
Есть и преимущества VPN-сервисов – это простота использования, относительная дешевизна.
Собственный VPN-сервер на хостинге VPS/VDS
Итак, если нужна конкретная страна или город, или требуется много трафика, который не дают VPN-сервисы, гарантия безопасности — тогда есть смысл заморочиться настройкой личного VPN-сервера. Как правило, это требует глубоких знаний системного администрирования серверов. Но я постарался объяснить всё просто, чтобы разобрался даже чайник)
Недостатки у этого способа тоже есть:
- всего один IP-адрес, на который вы можете «пересесть», но есть дополнительные за отдельную плату
- нетривиальная настройка в первый раз
- платно
Дочитайте до конца, и я покажу как использовать свой VPS сервер для обхода блокировок без настройки на нём VPN.
Что такое VPS/VDS сервер?
Хостинг-провайдеров в интернете бесчисленное множество. Все они позволяют размещать у них свои веб-сайты. Самая популярная услуга – это виртуальный хостинг. Более продвинутая – это выделенный виртуальный сервер – VPS (VDS — это, считай, тоже самое). На VPS можно размещать сайты, поднимать VPN-сервер, почтовый сервер, игровой сервер – да что угодно!
Вам нужно знать, что VPS-сервера бывают нескольких видов: OpenVZ, Xen и KVM. Для работы VPN-сервера нужно KVM. Тип сервера указан в тарифах хостинга. OpenVZ и Xen тоже иногда подходят, но нужно писать в техподдержку хостинга и спрашивать, подключён ли модуль “TUN”. Не вдаваясь в подробности для чего это, просто спрашиваете. Если нет, то могут ли они включить его. Не помешает также спросить, будет ли работать VPN как таковой (даже на KVM), т.к. некоторые компании прикрывают эту возможность. Ах да, операционная система сервера – Debian, Ubuntu или CentOS (в общем, Linux-подобная). Мощность сервера не имеет значения.
Настройка VPN-сервера
Вы можете посмотреть видео или читать расширенную статью:
В моём распоряжении имеется VPS-сервер KVM хостинг-провайдера AdminVPS. Здесь сразу всё работает, никуда писать не надо.
- При заказе услуги можно выбрать самый простой тарифный план «Micro»
- Все сайты открываются даже на серверах в России
- Есть бесплатный тестовый период 7 дней
- Техподдержка помогает
- Для моих посетителей, при вводе промокода: — вы получите реальную скидку 60% на первый платёж.
Далее, первые скриншоты остались от старого хостинга, но всё так же.
«Hostname» вводим любой или имя своего сайта (если в будущем будете размещать на хостинге свой сайт). «OS Template» выбираем «Ubuntu 14.04 64bit» или любую из Ubuntu, Debian, CentOS:
Делаем свой личный VPN от Google за 5$ в месяц (и за 1€ для продвинутых) / Хабр
В последнее время использовать VPN стало популярно с чего бы это?, но все инструкции которые мне попадались — могут «осилить» только пользователи хотя бы чуть-чуть знакомые с тем что такое Linux. Компания Google всех порадовала, выпустив прекрасное приложение, которое позволяет вам установить VPN в два клика (правда в два!) на своем личном сервере без каких либо знаний.
(Если у вас нет сервера — не беда, появится)
Поговорим мы про приложение Outline — это проект дочерней компании jigsaw входящий в Google, компания специализируется на создании инструментов для обхода блокировок или повышения приватности, Outline — один из их проектов.
Технические вопросы (безопасности) обсудим в конце публикации, перейдем к инструкции.
Скачиваем всё необходимое
Для создание сервера VPN вам потребуется зайти на www.getoutline.org/en/home прокрутив ниже, выбрать «Get Outline Manager» и скачать подходящую вам версию.
Либо воспользоватся этими ссылками:
- Mac
- Linux
- Windows
Пока у вас скачивается Outline Manager, установите клиент Outline на ваш телефон или компьютер (который планируется спрятать за VPN).
PS Внимание! Если вы планируете управлять вашим VPN с того же компьютера с которого и использовать VPN — скачайте оба приложения.
- Android
- Windows
- Chrome OS
- iOS
- Mac
Создаем сервер
После запуска Outline Manager вы увидите что-то похожее на это:
Нажимаем Create an account
В этот момент — вы будете проходить регистрацию в хостинг-провайдере DigitalOcean, у вас запросят стандартные вопросы для регистрации и попросят ввести карту оплаты.
P.S. Вам подарят 10$, что позволит вам пользоватся сервисом два месяца полностью бесплатно.
После завершения регистрации вам станет доступен выбор страны нахождения вашего сервера:
Выбирать стоит ближайшую к вам страну.
Я выбрал — Amsterdam / Netherland, после выбора страны, пойдет создание вашего сервера и настройка, это не займет много времени
После завершения настройки, вы увидите вот такой экран:
Он вам сразу ответит на все вопросы про ваш сервер: Сколько трафика у вас осталось, сколько пользователей имеют доступ к вашему сервера, цена вашего сервера
Добавляем пользователей
Нажимаем «ADD Key» — отлично, вы создали нового пользователя, самое время отправить ему (или себе на телефон) ссылку для доступа к VPN.
Для этого нажимаем Share, получаем ссылку, отправляем её.
Для отправки ссылки — используйте безопасные каналы связи, чат сам с собой в Telegram — хорошо, заметки которые синхронизируются у вас между компьютером и телефоном — хорошо, почта на зарубежном хостере (google,apple) — нормально, ICQ/соц-сеть/Любой сервис из вашей страны (для РФ — yandex/rambler/mail.ru/icq) — плохо, очень плохо.
Выводы
Поздравляем, теперь у вас есть ваш личный VPN сервер за 5$ в месяц, используя приложение Outline Manager — вы можете смотреть потребление трафика на сервере, настраивать учетные записи пользователей.
А как там с безопасностью?
Все хорошо, данный VPN — использует протокол Shadowsocks который был создан еще в китае для обхода блокировок китайского фаервола, теперь поддерживается сообществом.
Сам VPN сервер представляет из себя два docker образа которые будут установлены на ваш сервер, другими словами, можно установить данный VPN на ваш уже существующий сервер без какой-либо опаски. Исходные коды проекта, естественно, доступны на Github.
1€
Если вы уже имеете свой сервер, или хотите использовать более дешевый хостинг вместо хостинга по умолчанию — digtalocean — можно установить Outline на любой доступный сервер.
Например на arubacloud, сервера в Италии стоят 1€ и они еще дают пробный период на два месяца… но для новичков я бы их не советовал, пинг от DigitalOcean намного лучше
Для настройки Outline на своём личном сервере — вам нужно промотать основной экран Outline Manager до конца вниз, до «Already have server», после клика вы получите Bash скрипт для исполнения на вашем (любом) сервере, запускаем скрипт, ждем завершения установки Docker и двум новых контейнеров. После завершения вы получите ключ для доступа по API, его надо обратно вставить в Outline Manager.
Таким нехитрым образом можно настроить Outline вообще на любом сервере, без привязки к какому-либо хостеру.
Теплый и ламповый VPN / Хабр
Ничего не предвещало беды, как вдруг в 2 часа ночи раздался телефонный звонок.
— Алло, милый! У меня youtube не работает!
— Прекрасно, иди спать!
— Нууу! Там новая серия вышла!
— Завтра всё сделаю!
— Ну Заяя, нуууу!
— Ладно! Ладно! Сейчас.
…
Из этого поста вы узнаете ответы на следующие вопросы:
Как спасти свою милую от стресса в 2 часа ночи? Как вернуть доступ к youtube.com, если ваш провайдер его заблокировал? Как быстро поднять VPN и настроить клиентские устройства (Android, Windows, Debian, dd-wrt) для работу с ним? Как безопасно серфить интернет на открытых точках доступа? Как заработать карму в глазах своей возлюбленной? Если вам это интересно, добро пожаловать под кат!
Начало
Первым делом я попросил сделать трейс и отрезолвить youtube.com с DNS провайдера и Google Public DNS
tracert youtube.com
nslookup youtube.com
nslookup youtube.com 8.8.8.8
Стало ясно что проблема в провайдере, его 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 к серверу и приступаем к настройке.
# меняем пароль пользователя
passwd root
# обновляем список пакетов и установим mc (дело вкуса, но я его ставлю)
apt-get update
apt-get install mc
# установим openvpn и приступим к настройке
apt-get install openvpn
cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/
# редактируем переменные
nano ./vars
# меняем строки
export KEY_SIZE=1024 # Длинна ключа
export KEY_EXPIRE=3650 # Срок действия ключа в днях
# описание сертификатов по-умолчанию
export KEY_COUNTRY="RU"
export KEY_PROVINCE="RU"
export KEY_CITY="Moscow"
export KEY_ORG="http://habrahabr.ru"
export KEY_EMAIL="[email protected]"
# сохраняем файл
# инициализируем переменные и чистим папку keys и создаем сертификаты
. ./vars
. ./clean-all
./build-ca # корневой сертификат
./build-key-server server # сертификат сервера
./build-dh # ключ Диффи Хельман
# если вы планируете использовать tls-auth, который позволит скрыть порт на котором сервер слушает vpn подключения, защитить от DoS атак и кое чего еще, то выполните еще и эту строку:
openvpn --genkey --secret ./keys/ta.key
# Включили tls-auth? Тогда не забудьте передать ta.key клиентам, его надо будет положить рядом с сертификатом пользователя.
# перенесем полученные сертификаты в рабочую папку
cp ./keys/ca.crt /etc/openvpn
cp ./keys/server.crt /etc/openvpn
cp ./keys/server.key /etc/openvpn
cp ./keys/dh2024.pem /etc/openvpn
# Для tls-auth, выполните и эту строку:
cp ./keys/ta.key /etc/openvpn
# создадим сертификаты пользователей, сколько вам нужно (вводить данные не обязательно, поля будут принимать значения переменных по-умолчанию, достаточно просто нажимать Enter. В конце будет предложено ввести пароль (Enter export password), он защитит ваш сертификат от импорта недоброжелателями, хорошенько его запомните)
./build-key-pkcs12 vpn.android
./build-key-pkcs12 vpn.windows
./build-key-pkcs12 vpn.debian
./build-key-pkcs12 vpn.ddwrt
./build-key-pkcs12 vpn.home
# после этого в папке /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/ появятся ваши сертификаты vpn.android.*, vpn.windows.* и другие.
# Если захотите создать сертификаты поздней, подключаетесь по SSH, и:
# cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/
# . ./vars
# ./build-key-pkcs12 vpn.newuser1
# ./build-key-pkcs12 vpn.newuser2
# настроим сервер
zcat /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf
nano /etc/openvpn/server.conf
# все настройки по-умолчанию нас устроят, меняем, раскомментируем:
local IP_АДРЕС_ВАШЕГО_СЕРВЕРА
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
client-to-client # раскомментируйте, если хотите иметь доступ между клиентами внутри вашего VPN
# Для включения tls-auth, необходимо добавить (без #)
# tls-auth ta.key 0
# Если хотите спрятать сервер от китайских ботов и ФСБ, поменяйте стандартный порт, на любой другой. Только не забудьте прописать этот же порт в настройках клиента.
port 1194
# сохраняем
# применим настройки файрвола через rc.local, можно сделать иначе, но я остановился на этом варианте.
nano /etc/rc.local
# добавляем строки до exit 0
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
# сохраняем
nano /etc/sysctl.conf
# раскомментируем строчку
net.ipv4.ip_forward=1
# отправляем на перезагрузку, чтобы сразу убедиться что автозапуск работает
reboot
Всё, серверная часть готова. Можно подключаться. Для перехода к следующим этапам, надо выгрузить с нашего сервера сертификаты из папки:
/usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/
Это можно сделать при помощи SSH, либо mc если у вас есть ftp сервер. Нам нужны только некоторые файлы, какие именно читаем ниже.
Настройка android клиента (root не требуется)
1. Устанавливаем на телефон OpenVPN for Android
2. Загружаем на карту памяти сертификат p12, брать тут
/usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/vpn.android.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 (обычный текстовый файл):
remote IP_вашего_сервера 1194
client
dev tun
ping 10
comp-lzo
proto udp
tls-client
remote-cert-tls server
pkcs12 vpn.windows.p12
verb 3
pull
# Если вы включили tls-auth на сервере, добавьте в конфиг эту строку:
tls-auth ta.key 1
3. Создаем batch скрипт (start_my_vpn.cmd) для запуска VPN сессии:
cd C:\some\path\openvpn\
"C:\Program Files\OpenVPN\bin\openvpn.exe" --config C:\some\path\openvpn\myvpnconfig.ovpn
4. Скрипт и конфиг ложим в одну папку, в эту же папку кидаем vpn.windows.p12 сертификат, брать его тут
/usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/vpn.windows.p12
5. Готово, ярлык на скрипт кидаем на рабочий стол, запускаем от имени администратора или от пользователя с его правами, при запуске он попросит ввести пароль для «импорта» сертификата.
Если пароль верный, то несколько секунд и мы подключились:
Для не параноиков или автостарта туннеля без ввода пароля, можно вместо p12 использовать связку сертификатов ca.crt, vpn.windows.key и vpn.windows.crt, выглядит это так,
вместо
pkcs12 vpn.windows.p12
пишем:
ca ca.crt
cert vpn.windows.crt
key vpn.windows.key
Файлы брать все там же
/usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/
и положить в папку с myvpnconfig.ovpn и start_my_vpn.cmd.
Настройка Linux клиента
Настройка на примере debian 6.0
# ставим пакет openvpn
apt-get install openvpn
# создаем папку, в любом удобном месте для хранения сертификатов и скрипта подключения к VPN
mkdir /opt/openvpn
# создаем скрипт подключения
echo 'cd /opt/openvpn
/usr/sbin/openvpn --config /opt/openvpn/myvpnconfig.ovpn
' > /opt/openvpn/start_vpn.run
# создаем файл конфигурации
echo 'remote IP_ВАШЕГО_СЕРВЕРА 1194
client
dev tun
ping 10
comp-lzo
proto udp
tls-client
remote-cert-tls server
pkcs12 vpn.debian.p12
verb 3
pull' > /opt/openvpn/myvpnconfig.ovpn
# Если вы включили tls-auth на сервере, добавьте в конфиг эту строку:
# tls-auth ta.key 1
# vpn.debian.p12 берем как обычно на сервере /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/
# опять же, можно вместо p12 использовать ca.crt, vpn.debian.key и vpn.debian.crt, как в примере с windows, для того чтобы не вводить пароль для подключения к VPN, это пригодиться например для автозапуска VPN.
chmod +x /opt/openvpn/start_vpn.run
Готово. Не забудьте положить vpn.debian.p12 или ca.crt, vpn.debian.key и vpn.debian.crt в папку со скриптом и файлом конфигурации.
Для подключения к VPN, просто выполните с повышенными привилегиями:
/opt/openvpn/start_vpn.run
Настройка роутера на dd-wrt (Big или Mega)
В данном случае будет проведена настройка роутера, как клиента сети VPN, для возможности удаленного подключения к роутеру, если подключение по внешнему адресу недоступно, например провайдер внезапно выдал вам NAT’ированный IP. Подключаться можно будет с любого устройства, внутри вашего VPN.
1. Перейдите на страницу router_ip/Diagnostics.asp (тех.обслуживан
Поднимаем VPN-туннель из мира домой в обход NAT / Хабр
.
Хочу рассказать вам про то как имея в интернете свой VPS-сервер можно поднять туннель в домашнюю сеть. И не платить при этом за статический IP провайдеру, и даже находясь за NAT, все равно сделать доступными в интернете свои домашние сервисы.
Исходные данные
- VPS сервер на debian со статическим реальным IP
- роутер с прошивкой OpenWRT, который находится за провайдерским NAT
- домашняя сеть с компьютерами и виртуальными машинами в 192.168.1.0/24
Настройка туннеля
Первым делом установим и настроим OpenVPN сервер на нашем VPS:
apt-get update
apt-get install openvpn
Отредактируем файл конфигурации:
vi /etc/openvpn/tun0.conf
dev tun0
ifconfig 10.9.8.1 10.9.8.2
secret /etc/openvpn/static.key
route 192.168.1.0 255.255.255.0
Здесь 10.9.8.x будет наша VPN-сеть, в которой адрес 10.9.8.1 мы назначем VPN-серверу, а адрес 10.9.8.2 VPN-клиенту.
Последняя строчка являет ссобой статисческий маршрут, который нужен для того, что бы наш VPS знал что путь в нашу домашнюю сеть лежит через роутер
Еще нам нужно сгенерировать ключ с которым будет подключаться к серверу наш роутер:
openvpn --genkey --secret static.key
И можно запускать демона:
service openvpn start
Теперь установим OpenVPN на наш роутер с которого мы будем инициализировать VPN-соединение:
opkg update
opkg install openvpn
Скопируем ключ на наш рутер, исполюзуя scp:
scp [email protected]:/etc/openvpn/static.key /etc/openvpn/static.key
Отредактируем конфигурацию интерфейса:
vi /etc/openvpn/tun0.conf
remote your-server.org
dev tun0
ifconfig 10.9.8.2 10.9.8.1
secret /etc/openvpn/static.key
keepalive 60 120
как сказал alexdob:
keepalive 60 180
Означает следующее: каждые 60 секунд посылать ping на удаленный хост, и, если за 180 секунд не было получено ни одного пакета — то перезапускать туннель.
И проверим, все ли у нас заработает:
openvpn --config /etc/openvpn/tun0.conf
Если все ок, то запустим и добавим OpenVPN демона в автозапуск:
/etc/init.d/openvpn start
/etc/init.d/openvpn enable
Маршрутизация
Теперь настроим маршрутизацию.
Что бы наш роутер пропускал наш сервер в домашнюю сеть, а машины из домашней сети пропускал к серверу, нужно добавить следующие правила на роутер.
Создадим файлик и запишем в него эти правила:
vi /etc/iptables.up.rules
#!/bin/sh
#Allow forwarding via tunnel
iptables -I INPUT -i tun0 -j ACCEPT
iptables -I FORWARD -i tun0 -j ACCEPT
iptables -I OUTPUT -o tun0 -j ACCEPT
iptables -I FORWARD -o tun0 -j ACCEPT
Cделаем его исполняемым:
chmod +x /etc/iptables.up.rules
И добавим его в /etc/rc.local для автозапуска:
/etc/iptables.up.rules
Добавлять нужно перед exit 0
В принципе все готово.
Наши сети соединены, все машины прекрасно друг-друга видят и обмениваются пакетами.
Теперь, при желании, можно настроить проброс портов с внешнего на внутренний адрес.
Вот так, к примеру, выглядит проброс ssh порта на одну из машин у меня в домашней сети:
# Forward SSH port to server
iptables -t nat -A PREROUTING -d XX.XX.XX.XXX -p tcp --dport 666 -j DNAT --to-dest 192.168.1.200:22
iptables -t nat -A POSTROUTING -d 192.168.1.200 -p tcp --dport 22 -j SNAT --to-source 10.9.8.1
Где XX.XX.XX.XXX — внешний IP сервера, 192.168.1.200 — IP моей машины внутри домашней сети, 666 — порт при обращении к которому я попадаю на эту машину
PS: Если у вас что-то не получается убедитесь что на вашем VPS есть и подключены все необходимые для этого модули ядра
Источники
При написании статьи, я использовал информацию из следующих источников:
10 шагов навстречу собственному безлимитному VPN
С рунетом что-то не так: сначала Роскомнадзор и блокировки, теперь «суверенный» интернет. Пора поднимать собственный VPN!
И вот почему:
- Скорость: в вашем распоряжении окажется VPN-сервер, которым пользуетесь только вы.
- Контроль: вы можете создавать и удалять учётные записи, обновлять конфигурацию, менять пароль доступа и многое другое.
- Стоимость: аренда VPS стоит начиная от 2,5-5$/мес. Для сравнения: ExpressVPN – 12.95$/мес., NordVPN – 11.95$/мес.
- Обучение: да, собственный VPS – это хорошая практика серверного администрирования.
Для начала вам нужен VPS, он же виртуальный выделенный сервер. На него вы установите VPN, к которому будете подключаться.
Если вы не знаете, по каким критериям выбирать VPS, можете руководствоваться таблицей ниже:
Provider | Storage | CPU | Memory | Traffic | Price |
---|---|---|---|---|---|
Veesp | 25GB | 1 vCore | 1GB | Unlimited | $5/mo |
DigitalOcean | 25GB | 1 vCore | 1GB | 1 TB | $5/mo |
Vultr | 25GB | 1 vCore | 1GB | 1 TB | $5/mo |
Очевидно, что Veesp выигрывает благодаря безлимитному трафику.
Кроме того, в случае с Veesp, доступны DNS-хостинг и SSL-сертификат, что даёт возможность защитить свои DNS-коммуникации, например, с помощью DNSCrypt, и поднять SSL-туннель для маскировки VPN-трафика, но об этом в другой раз.
После регистрации вам предстоит оформить заказ и выбрать желаемый дистрибутив Linux. Имейте в виду, что для разных дистрибутивов настройка VPN может отличаться. Выбирайте то, что вам ближе или Debian 9 «Stretch», чтобы успешно воспользоваться дальнейшими инструкциями.
Когда вы закончите, зайдите в панель управления сервером, чтобы узнать IP-адрес и рут-пароль, либо проверьте почту – туда также придёт письмо с данными для доступа к серверу:
Не показывайте никому!
Зайдите на сервер под рутом, используя IP-адрес и пароль, который вы узнали в предыдущем шаге:
ssh root@IP_вашего_сервера
Кстати, если вы выбрали Veesp в качестве провайдера, можете обеспечить своему серверу доменное имя. Тогда вам не нужно будет вводить и запоминать IP-адрес VPS-сервера.
Установите OpenVPN:
sudo apt update sudo apt install openvpn
OpenVPN работает по TLS/SSL – использует сертификаты для шифрования трафика между клиентом и сервером. Сертификаты выдаёт центр сертификации (ЦС) – отдельный сервер.
Из соображений безопасности ЦС-сервер отделён от VPN-сервера. С помощью EasyRSA вы поднимите свой ЦС и построите на нём инфраструктуру открытых ключей (ИОК).
Чтобы начать, скачайте последнюю версию EasyRSA на обе машины – ЦС и сервер OpenVPN:
wget -P ~/ https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.6/EasyRSA-unix-v3.0.6.tgz
Распакуйте архив:
cd ~ tar xvf EasyRSA-unix-v3.0.6.tgz
Отлично! У вас есть всё необходимое: OpenVPN на VPS и EasyRSA на ЦС.
На ЦС перейдите в директорию EasyRSA:
cd ~/EasyRSA-v3.0.6/
Скопируйте файл vars.example
под именем vars
:
cp vars.example vars
Откройте файл в текстовом редакторе:
nano vars
Найдите настройки сертификатов:
. . . #set_var EASYRSA_REQ_COUNTRY "US" #set_var EASYRSA_REQ_PROVINCE "California" #set_var EASYRSA_REQ_CITY "San Francisco" #set_var EASYRSA_REQ_ORG "Copyleft Certificate Co" #set_var EASYRSA_REQ_EMAIL "[email protected]" #set_var EASYRSA_REQ_OU "My Organizational Unit" . . .
Раскомментируйте и отредактируйте по вкусу. Не оставляйте строки пустыми:
. . . set_var EASYRSA_REQ_COUNTRY "US" set_var EASYRSA_REQ_PROVINCE "NewYork" set_var EASYRSA_REQ_CITY "New York City" set_var EASYRSA_REQ_ORG "Proglib" set_var EASYRSA_REQ_EMAIL "[email protected]" set_var EASYRSA_REQ_OU "Community" . . .
Сохраните и закройте файл, когда закончите.
Внутри директории EasyRSA лежит скрипт easyrsa
. Он используется для управления ЦС. Запустите скрипт с опцией init-pki
, чтобы инициализировать инфраструктуру открытых ключей:
./easyrsa init-pki
init-pki complete; you may now create a CA or requests. Your newly created PKI dir is: /home/proglib/EasyRSA-v3.0.6/pki
Постройте ЦС и создайте ключи SSL-сертификата. Используйте nopass
, чтобы не подтверждать пароль каждый раз при взаимодействии с ЦС:
./easyrsa build-ca nopass
Вывод попросит подтвердить общее имя для ЦС – просто жмите ENTER
:
Common Name (eg: your user, host, or server name) [Easy-RSA CA]:
Теперь у вас есть ЦС, готовый подписывать запросы сертификатов.
Теперь вы можете сгенерировать ключи и запрос сертификата от вашего сервера. Вы отправите запрос на ЦС для подписи.
Начните с перехода в директорию EasyRSA на сервере OpenVPN:
cd ~/EasyRSA-v3.0.6/
Запустите оттуда уже знакомую команду easyrsa
с опцией init-pki
:
./easyrsa init-pki
Затем запустите скрипт easyrsa
с опцией gen-req
и с любым именем машины. Не забудьте опцию nopass
– без неё файл запроса окажется на пароле, что может вызвать проблемы с доступом в дальнейшем:
./easyrsa gen-req server nopass
Команда создаст закрытый ключ и файл запроса сертификата server.req
. Скопируйте ключ в /etc/openvpn/
:
sudo cp ~/EasyRSA-v3.0.6/pki/private/server.key /etc/openvpn/
Передайте server.req
на ЦС безопасным способом:
scp ~/EasyRSA-v3.0.6/pki/reqs/server.req proglib@IP_вашего_ЦС:/tmp
Далее, на машине ЦС перейдите в директорию EasyRSA:
cd EasyRSA-v3.0.6/
Импортируйте файл server.req
с помощью скрипта easyrsa
, указав общее имя:
./easyrsa import-req /tmp/server.req server
Подпишите запрос, используя скрипт easyrsa
с опцией sign-req
, указав тип запроса и общее имя. Тип запроса может быть client
или server
. Для сервера OpenVPN, очевидно, server
:
./easyrsa sign-req server server
Вывод проверит источник исходящего запроса. Введите yes
, затем ENTER
для подтверждения:
You are about to sign the following certificate. Please check over the details shown below for accuracy. Note that this request has not been cryptographically verified. Please be sure it came from a trusted source or that you have verified the request checksum with the sender. Request subject, to be signed as a server certificate for 3650 days: subject= commonName = server Type the word 'yes' to continue, or any other input to abort. Confirm request details: yes
Передайте подписанный сертификат на VPN-сервер:
scp pki/issued/server.crt proglib@IP_вашего_сервера:/tmp
Прежде чем выйти из ЦС, передайте на сервер файл ca.crt
:
scp pki/ca.crt proglib@IP_вашего_сервера:/tmp
Далее зайдите на сервер OpenVPN и скопируйте файлы server.crt
и ca.crt
в директорию /etc/openvpn/
:
sudo cp /tmp/{server.crt,ca.crt} /etc/openvpn/
Затем перейдите в директорию EasyRSA:
cd EasyRSA-v3.0.6/
Создайте там ключ Диффи-Хеллмана для использования во время обмена:
./easyrsa gen-dh
Сгенерируйте подпись HMAC для усиления возможностей проверки целостности TLS сервера:
sudo openvpn --genkey --secret ta.key
Скопируйте новые файлы в директорию /etc/openvpn/
:
sudo cp ~/EasyRSA-v3.0.6/ta.key /etc/openvpn/ sudo cp ~/EasyRSA-v3.0.6/pki/dh.pem /etc/openvpn/
Ура! Вы создали все сертификаты и ключи, которые нужны вашему серверу. А значит, готовы сделать то же самое для клиента, чтобы подключаться к вашему VPN.
Можно создать закрытый ключ и запрос сертификата на клиенте, а затем отправить их на подпись в ЦС. Но лучше создать скрипт на сервере. Он автоматически генерирует клиентские файлы конфигурации, которые содержат все необходимые ключи и сертификаты. Так вы избежите необходимости отправлять ключи, сертификаты и конфигурационные файлы клиенту и упростите подключение к VPN.
Вам нужно передать скрипту уникальное имя клиента (proglib
).
Для начала создайте структуру директорий в домашнем каталоге для хранения сертификатов и ключей:
mkdir -p ~/client-configs/keys
Вы будете хранить здесь ключевые пары и сертификаты клиента. Из соображений безопасности ограничьте доступ:
chmod -R 700 ~/client-configs
Далее возвращайтесь в директорию EasyRSA и запускайте скрипт easyrsa
с опциями gen-req
, nopass
и именем клиента:
cd EasyRSA-v3.0.6/ ./easyrsa gen-req proglib nopass
Жмите ENTER
, чтобы подтвердить и скопируйте файл proglib.key
в созданную ранее директорию /client-configs/keys/
:
cp pki/private/proglib.key ~/client-configs/keys/
Передайте файл proglib.req
вашему ЦС:
scp pki/reqs/proglib.req proglib@IP_вашего_ЦС:/tmp
Зайдите на ЦС, перейдите в директорию EasyRSA, чтобы импортировать запрос сертификата:
ssh proglib@IP_вашего_ЦС cd EasyRSA-v3.0.6/ ./easyrsa import-req /tmp/proglib.req proglib
Подпишите запрос для клиента, как вы уже делали это для сервера в предыдущем шаге. На этот раз укажите client
в качестве типа запроса:
./easyrsa sign-req client proglib
На выводе нажмите yes
, чтобы подтвердить источник сертификата:
Type the word 'yes' to continue, or any other input to abort. Confirm request details: yes
Команда создаёт файл proglib.crt
. Отправьте его обратно на сервер:
scp pki/issued/proglib.crt proglib@IP_вашего_сервера:/tmp
Зайдите на сервер OpenVPN и скопируйте сертификат клиента в директорию /client-configs/keys/
:
cp /tmp/proglib.crt ~/client-configs/keys/
А также скопируйте файлы ca.crt
и ca.crt
в директорию /client-configs/keys/
:
sudo cp ~/EasyRSA-v3.0.6/ta.key ~/client-configs/keys/ sudo cp /etc/openvpn/ca.crt ~/client-configs/keys/
Отличная работа! Вы создали и собрали ключи с сертификатами в нужном месте на сервере. Пора приступать к настройке OpenVPN.
Теперь у вас есть ключи и сертификаты обеих сторон, и вы можете использовать их в службе OpenVPN.
Используйте копию шаблона конфигурации OpenVPN:
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/ sudo gzip -d /etc/openvpn/server.conf.gz
Откройте файл настроек сервера в текстовом редакторе:
sudo nano /etc/openvpn/server.conf
Раскомментируйте директиву tls-auth
в секции HMAC и добавьте параметр key-direction
в 0
:
tls-auth ta.key 0 # This file is secret key-direction 0
Затем раскомментируйте cipher
:
cipher AES-256-CBC
Ниже добавьте директиву auth
:
auth SHA256
После найдите строчку с директивой dh
, которая описывает параметры Диффи-Хеллмана. При необходимости удалите из имени 2048
, чтобы оно совпадало с ключом, сгенерированным на предыдущем шаге.
dh dh.pem
Наконец, расскоментируйте user
и group
:
user nobody group nogroup
Готово! Эти изменения достаточны для функционирования OpenVPN. Осталось несколько небольших, но важных деталей.
Перенаправьте весь трафик через VPN
Чтобы направить трафик в туннель, нужно «продвинуть» свои настройки маршрутов и DNS на клиентские машины.
В файле server.conf
расскоментируйте redirect-gateway
:
push "redirect-gateway def1 bypass-dhcp"
И dhcp-option
:
push "dhcp-option DNS 208.67.222.222" push "dhcp-option DNS 208.67.220.220"
Это поменяет настройки DNS на клиенте и заставит использовать VPN туннель в качестве маршрута по умолчанию.
Поменяйте порт и протокол
По умолчанию OpenVPN принимает клиентов на 1194
порте по протоколу UDP. Поменяйте порт и протокол, если предстоит подключаться к VPN из сетей с ограничениями. Порт 443
не фильтруется файерволами.
port 443
Измените протокол на TCP, если фильтруется UDP:
proto tcp
При этом отключите директиву explicit-exit-notify
– она нужна только для UDP. Иначе служба OpenVPN не запустится с указанными протоколом TCP:
explicit-exit-notify 0
Если вам необязательно менять протокол и порт, не трогайте эти настройки.
Чтобы трафик шёл в OpenVPN, нужно разрешить маршрутизацию пакетов в файле /etc/sysctl.conf
:
sudo nano /etc/sysctl.conf
Рас
Как я создал собственный VPN-сервер за 15 минут — TechCrunch
Люди (справедливо) беспокоятся о своей конфиденциальности, поскольку Сенат проголосовал за разрешение интернет-провайдерам делиться вашими личными данными с рекламодателями. Хотя защита вашей конфиденциальности важна, это не означает, что вы должны зарегистрироваться в службе VPN и туннелировать весь свой интернет-трафик через серверы VPN.
VPN не делает вас анонимным
Что, черт возьми, такое VPN? Я уже писал статью, объясняющую VPN с помощью простых концепций, даже сравнивая VPN с автомобильными погонями в кино.
Но если вы хотите вкратце подвести итог, когда вы подключаете свой компьютер или телефон к VPN-серверу, вы устанавливаете зашифрованный туннель между вашим устройством и этим сервером. Никто не может видеть, что происходит посреди этого туннеля, даже ваш интернет-провайдер.
И все же это не делает вас волшебным образом анонимным. Вы просто уменьшаете риск по туннелю VPN, поскольку компания VPN может видеть все вашего интернет-трафика. Фактически, многие из них уже продают ваши данные мошенникам и рекламодателям.
Вот почему я не рекомендую подписываться на услугу VPN. Им нельзя доверять.
Кстати, многие сайты теперь полагаются на HTTPS для установления безопасного соединения между вашим браузером и веб-сайтом, который вы используете, даже TechCrunch. Вы должны установить расширение HTTPS везде, чтобы убедиться, что вы используете HTTPS как можно чаще.
Но VPN время от времени могут быть полезны. Иногда вы не можете получить доступ к веб-сайту из общедоступной сети, потому что он заблокирован. Или вы можете путешествовать по Китаю и хотите иметь доступ к своей учетной записи Gmail.В таких случаях все сводится к минимизации риска при использовании VPN.
Настройка собственного VPN-сервера
Как сказал Воз в моей предыдущей статье о VPN перед разгромом Сената, у вас может быть собственный VPN-сервер:
Но если вы не можете доверять домашнему подключению или у вас низкая скорость загрузки в домашнем подключении, это не совсем практично.
Я экспериментировал с Algo VPN, набором скриптов, которые позволяют настроить VPN в облаке за очень короткое время, даже если вы мало разбираетесь в разработке.Должен сказать, что меня очень впечатлил подход Trail of Bits.
Я создал VPN-серверы на сервере DigitalOcean, экземпляре Amazon Web Services и сервере Scaleway. Я смог подключиться ко всем этим VPN со своего Mac и iPhone всего через пару минут после этого.
Algo VPN автоматизирует процесс установки VPN, поэтому вам не нужно устанавливать SSH-соединение с сервером и запускать сложные командные строки.
Для установки зависимостей на ваш компьютер требуется три командные строки.После этого вам следует зарегистрироваться у облачного провайдера, такого как DigitalOcean, и запустить мастер настройки Algo VPN в своем терминале. Я не собираюсь подробно описывать процесс установки, так как он может измениться после того, как я опубликую этот пост, но все объясняется в официальном репозитории GitHub.
В DigitalOcean вам не нужно создавать и настраивать собственный сервер. Algo VPN позаботится об этом за вас, поскольку использует API DigitalOcean для создания сервера и установки всего.
В конце мастера установки вы получите несколько файлов на локальном жестком диске.Например, в macOS двойной щелчок по профилю конфигурации добавит VPN-сервер в настройки вашей сети и подключит вас к вашему VPN-серверу. Вам не нужно устанавливать VPN-клиент, он изначально работает на macOS и iOS.
Итак, резюмируем:
- Создайте учетную запись у провайдера облачного хостинга, такого как DigitalOcean
- Загрузите Algo VPN на свой локальный компьютер, распакуйте его
- Установите зависимости с помощью командных строк на этой странице
- Запустить мастер установки
- Дважды щелкните профили конфигурации в каталоге конфигурации
Одноразовые VPN
Использование собственного VPN-сервера не означает, что вы будете в большей безопасности в Интернете.И снова вы перекладываете риск по туннелю на провайдера облачного хостинга.
Если вы используете Algo VPN на экземпляре Microsoft Azure, АНБ все равно может запросить у Microsoft дополнительную информацию о вас, если они думают, что вы злой человек. У Microsoft есть ваша платежная информация.
Но в Algo VPN есть кое-что освежающее — он позволяет настраивать одноразовые VPN. Вы можете загрузить новый VPN-сервер и подключиться к нему всего за несколько минут. Когда вы закончите, вы можете просто удалить свой экземпляр и сделать вид, что этого VPN-сервера никогда не существовало.
Это намного дешевле, чем подписка на услугу VPN, так как вы можете рассчитывать заплатить около 0,006 доллара США за час использования или даже меньше с бесплатным кредитом. И вы получите гораздо лучшую производительность, поскольку не будете использовать свой VPN-сервер совместно с другими пользователями VPN. Я получил потрясающую производительность сети от моего сервера AWS VPN, например:
Хотя Algo VPN упрощает настройку VPN-сервера в DigitalOcean, AWS, Microsoft Azure и Google Cloud, я также попытался использовать его с Scaleway, чтобы узнать, можно ли использовать его на любом хостинг-провайдере.И он отлично работал на самом маленьком облачном сервере Ubuntu.
Если у вас есть небольшие технические знания, я не вижу причин, по которым вам следует подписаться на коммерческую услугу VPN после игры с Algo VPN. Я верю, что не передаю свои данные властям (да). Я не обязательно доверяю амазонкам и гуглам со всего мира бороться за мою конфиденциальность, но я знаю, что они не будут продавать данные моего хостинга сторонним рекламодателям и мошенникам. Я не уверен в своих личных данных об их потребительских услугах, но это тема для другой статьи.
.
Как создать и настроить VPN-сервер
Интернет больше не является безопасным местом . Иногда кажется, что Интернет был разработан, чтобы упростить для правительств, предприятий и всякого рода шпионов возможность шпионить за обычными людьми . Поэтому неудивительно, что огромное количество людей используют VPN, чтобы защитить себя.
Как настроить собственный VPN
Но даже у лучших коммерческих VPN-сервисов есть свои недостатки. Вот почему все больше и больше людей хотят, чтобы создал свой собственный VPN .
Это тоже 2020 год, и из-за всего, что происходит в мире, у вас может быть мало денег, вы хотите скоротать время в изоляции и т. Д.
В этой статье мы рассмотрим различные причины, по которым нужно настроить ваш собственный VPN, а также причины не делать этого. Мы также поговорим о трех способах выполнения работы и рассмотрим один из них более подробно.
К концу этой статьи вы должны иметь хорошее представление о , имеет ли для вас смысл настройка собственной VPN, и , какой подход вы хотели бы использовать .
Причины для установки собственного VPN
В современном мире существует причин для использования VPN . Но поскольку вы здесь, мы предполагаем, что вы уже знаете, зачем вам нужен VPN. Мы также предполагаем, что вы пытаетесь выбрать между использованием коммерческого VPN-сервиса , такого как ExpressVPN или NordVPN, или , создавая свой собственный VPN .
Чтобы помочь вам принять это решение, вот несколько веских причин для установки собственного VPN вместо подписки на коммерческую услугу:
- Вам нужны преимущества услуги VPN без ежемесячных платежей.
- Вы не хотите рисковать, что ваших онлайн-действий будут зарегистрированы службой VPN. (Хотя такие сервисы, как ExpressVPN, снова и снова зарекомендовали себя как нулевые журналы в различных юридических баталиях)
- Вам нужен доступ к вашей домашней сети из любой точки мира.
- Вам нужен доступ к локальным ресурсам (например, ваша домашняя учетная запись Netflix), когда вы находитесь в другом географическом месте.
- Вы хотите предоставить другим людям доступ к ресурсам в вашей домашней сети.
Причины не настраивать собственный VPN
Несмотря на то, что есть несколько веских причин для создания собственной VPN, есть также причин не делать этого . К ним относятся:
- У вас нет быстрого подключения к Интернету — Вам нужна высокая скорость загрузки и скачивания, где бы ни находился ваш VPN-сервер, иначе это замедлит все, что связано с вашей личной VPN.
- Вам нужен VPN для подключения к ресурсам в других географических точках. — VPN-сервисы с несколькими серверами позволяют создать впечатление, что вы находитесь в любом из десятков, даже сотен мест по всему миру. Поскольку у вашего VPN будет только один сервер, вы можете оказаться только в одном месте.
- Вы хотите, чтобы скрыл свой IP-адрес. — Если вы строите свой VPN-сервер на собственном оборудовании, он будет иметь IP-адрес, связанный с вашей домашней сетью.
- Вы не хотите, чтобы занимался обслуживанием. — Вы должны обслуживать и обновлять VPN-сервер, а также оборудование и программное обеспечение, на котором он работает.
- У вас должны быть технические возможности для настройки VPN-сервера и клиентов.
- Вы хотите полностью скрыть свою платежную и идентификационную информацию. VPN, которую вы настраиваете самостоятельно, может быть защищен от регистрации, но если вы приобрели сервер, через который вы туннелируете, с вашим настоящим именем и платежными реквизитами, вы гораздо более уязвимы, чем при использовании службы VPN.
Если вы подумываете о настройке собственной VPN, возможно, вы уже освоили все основы, но на всякий случай мы начнем с самого начала. Если вы уже разбираетесь в этом вопросе, переходите к «: три способа настройки собственной VPN ».
Когда вы подключаете свое устройство к Интернет-ресурсу без VPN, содержимое сообщений, идущих туда и обратно, потенциально доступно для отслеживания . Кроме того, чтобы Интернет знал, куда отправлять сообщения, каждое сообщение должно предоставлять заголовок , который содержит ваш IP-адрес , а также IP-адрес интернет-ресурса, к которому вы подключены.
Ваш IP-адрес можно увидеть, если вы не используете VPN.
Таким образом, с помощью правильного инструмента все видно для слежки.
Многие интернет-ресурсы пытаются остановить слежку с помощью HTTPS . Это Интернет-протокол, который автоматически шифрует содержимое сообщений. Это определенно может помочь, так как предотвращает отслеживания от , просматривающего содержимого сообщений, идущих туда и обратно.
Но HTTPS не делает ничего, чтобы помешать отслеживанию увидеть, что вы (устройство с вашим IP-адресом, если быть более точным) обмениваетесь данными с этим конкретным Интернет-ресурсом.Использование VPN устраняет эту проблему. Вот почему:
VPN решает эту проблему, помещает VPN-сервер в середину разговора . Сервер VPN находится между вашим устройством и интернет-ресурсом. Ваше устройство подключается только к VPN-серверу. Интернет-ресурс подключается только к VPN-серверу. Сервер VPN передает сообщения туда и обратно между вашим устройством и ресурсом.
Это помогает, потому что VPN-сервер использует свой собственный IP-адрес при взаимодействии с ресурсом от имени вашего устройства.Любой, кто следит за соединением между сервером и ресурсом , увидит только IP-адреса VPN-сервера и Интернет-ресурса. Ваша конфиденциальность защищена на этой части соединения, потому что никто, просматривающий это соединение, не может видеть ваш IP-адрес.
Схема VPN
Но остается соединение между VPN-клиентом и VPN-сервером. Чтобы решить эту часть проблемы, клиент и сервер инкапсулируют сообщения , проходящие между ними.То есть они шифруют всего сообщения между устройством и ресурсом. Затем они включают зашифрованные сообщения в другое сообщение. Это второе сообщение — это то, что передается между клиентом и сервером.
.
Как создать собственный VPN, если вы (справедливо) опасаетесь коммерческих вариантов
Аурих / Thinkstock
После решения Сената этой весной отменить правила FCC о конфиденциальности, наложенные на интернет-провайдеров, вы можете (даже больше) беспокоиться о том, как ваши данные используются, злоупотребляют или злоупотребляют. На эту тему было много мнений, начиная от «небо падает» до «двигайся, гражданин, здесь не на что смотреть». Дело в том, что интернет-провайдеры, как правило, довольно недобросовестны, иногда даже безжалостны в том, как они собирают и используют данные своих клиентов.Возможно, вы не знаете, в чем проблема, если ваш интернет-провайдер предоставляет рекламодателям дополнительную информацию для показа рекламы, которую вы хотели бы видеть, но как насчет того, чтобы ваш интернет-провайдер буквально редактировал вашего HTTP-трафика, вставляя еще объявлений и, возможно, нарушая работу веб-страниц?
С Конгрессом, который продемонстрировал отсутствие интереса к защите вас от вашего Интернет-провайдера, и Интернет-провайдерами, которые неоднократно демонстрировали свое отношение к конфиденциальности и целостности данных клиентов «все, что мы можем, уйти», это может быть пора разобраться, как вытащить данные из-под любопытных глаз и грязных пальцев вашего провайдера.Для этого вам понадобится VPN.
Объем проблемы (и решения)
Прежде чем вы сможете решить эту проблему, вам необходимо понять ее. Это означает знание того, что ваш интернет-провайдер может (и не может) обнаруживать (и изменять) в вашем трафике. Трафик HTTPS уже относительно безопасен — или, по крайней мере, его содержимое является безопасным. Ваш интернет-провайдер фактически не может прочитать зашифрованный трафик, который проходит между вами и веб-сайтом HTTPS (по крайней мере, они не могут, если они не убедят вас установить сертификат MITM, как это сделала Lenovo с ничего не подозревающими пользователями своих потребительских ноутбуков в 2015 году).Однако провайдеры действительно знают, что были на этом веб-сайте, когда вы его посещали, как долго вы там оставались и сколько данных передавалось туда и обратно.
Они знают это по-разному. Во-первых, если ваш веб-сайт использует указание имени сервера (SNI), чтобы разрешить обслуживание нескольких сайтов HTTPS с одного IP-адреса, имя хоста отправляется в открытом виде, чтобы сервер знал, какой сертификат использовать для соединения. Во-вторых, что более важно, ваш DNS-трафик выдает вас. Собираетесь ли вы на Amazon.com или BobsEmporiumOfDiscountFurryMemorabilia.com, ваш компьютер должен преобразовать это доменное имя в IP-адрес. Это делается в открытом виде, то есть его легко перехватить (и даже изменить в полете!) Вашим интернет-провайдером (или любым другим MITM), независимо от того, используете вы на самом деле DNS-серверы вашего интернет-провайдера или нет.
Этого уже достаточно, чтобы создать на вас ценный профиль в рекламных целях. В зависимости от вашего уровня паранойи, также достаточно создать на вас профиль в целях шантажа или полностью скомпрометировать ваш веб-трафик, если вы не будете невероятно осторожны и наблюдательны.Представьте, что злоумышленник использует центр сертификации для создания собственных (действительных!) Сертификатов; С помощью этого и DNS они могут легко перенаправить вас на сервер по своему выбору, который использует сертификат, которому доверяет ваш браузер, для установки невидимого прокси-сервера между вами и сайтом, к которому вы пытаетесь получить безопасный доступ. Даже без использования мошеннического ЦС контроль вашего DNS упрощает для злоумышленника использование доменных имен Punycode и аналогичные уловки, чтобы скрыться от вас.
Кроме того, любой незашифрованный трафик, включая, помимо прочего, HTTP (простой старый веб-трафик порта 80), значительный одноранговый трафик и многое другое, можно просто редактировать прямо на лету.Напомню, что интернет-провайдеры неоднократно демонстрировали свою полную готовность делать это.
Вы не можете защитить себя от всех потенциальных злоумышленников. К сожалению, очень большая часть критически важной инфраструктуры вашего доступа к Интернету является незашифрованной , и на самом деле не может быть защищен . Как человек с ограниченными ресурсами, который не может позволить себе рассматривать личную безопасность больше, чем работу неполный рабочий день, вы (и я), к сожалению, ближе к Secret Squirrel, чем к Джеймсу Бонду.Однако вы можете переместить свои уязвимые незашифрованные передачи из зоны действия вашего провайдера . Вот что мы будем здесь делать.
Увеличить / Если вы думаете, что это будет безопасно, продолжайте читать.
Проблема доверия
Мы уже установили — фактически, ваш провайдер уже установил — что вашему провайдеру нельзя доверять. Таким образом, очевидным решением является VPN, виртуальная частная сеть, которая туннелирует все ваши уязвимые, незашифрованные данные вне досягаемости интернет-провайдера.Проблема в том, что эти данные будут такими же уязвимыми при выходе из конечной точки. По сути, вы обменяли один набор уязвимостей на другой, надеюсь, менее проблемный.
Представьте, что у вас есть особенно надоедливый злой гений младшего брата, который научился перехватывать сетевой трафик, выходящий из вашей комнаты, и которому нравится смущать вас в школе сплетнями, с которыми вы делились в частном порядке (или вы так думали). твои друзья. Один из этих друзей говорит: «Эй, а как насчет того, чтобы вы просто установили VPN между вашим домом и моим? Тогда все, что выходит из вашей комнаты, будет зашифровано, и ваш младший брат не сможет с этим связываться.«Пока все хорошо, но потом выясняется, что у подруги есть надоедливый злой гений — маленькая сестра , а теперь она читает ваши мгновенные сообщения и передает сочную информацию вашему младшему брату. В конце концов, вы не лучше, чем вы начали.
Это та ситуация, в которой вы находитесь сегодня, когда начинаете смотреть на провайдеров VPN: возможно, они заслуживают доверия, возможно, нет. К сожалению, те же характеристики, которые делают их привлекательными (заявления о том, что ваш трафик не регистрируется, отсутствие хороших отношений с властями, присутствие во многих странах, недорогие тарифные планы) делают их… сомнительно. Откуда вы знаете, что компания с офисами в Молдове, которая взимает с вас 2 доллара в месяц за всю пропускную способность, которую вы можете съесть, на самом деле не монетизирует ваши данные, как это сделал ваш интернет-провайдер, или, может быть, даже хуже? Проверял ли кто-нибудь своих предприятий для независимой проверки заявлений о нулевом ведении журнала? Возможно нет.
Так вот, сеть VPN под названием Private Internet Access недавно произвела фурор, в какой-то степени противостоявшей повестке ФБР. В случае, связанном с возможной мистификацией угрозы взрыва (PDF), Private Internet Access, похоже, удовлетворил свои претензии об отсутствии регистрации.Согласно уголовному иску, «в London Trust Media была отправлена повестка, и единственная информация, которую они могли предоставить, — это то, что использованный кластер IP-адресов был с восточного побережья Соединенных Штатов».
Означает ли это, что все могут доверять VPN в целом? Конечно нет. А что касается, в частности, частного доступа в Интернет, один публичный успех не обязательно устраняет все сомнения — прокуроры по делу не стали предпринимать никаких дальнейших шагов, поскольку у них было множество других доказательств в поддержку своих аргументов.Итак, если вы не можете доверять своему интернет-провайдеру и не можете доверять провайдеру VPN, тогда каков план ? Что ж, у вас остается вариант, который, возможно, не подходит для обычного пользователя Интернета: разверните собственный VPN у недорогого поставщика облачного хостинга, такого как Linode или Digital Ocean.
Нет никаких абсолютных гарантий и с этим способом. Но хотя вы, вероятно, не можете избежать своего местного провайдера (у некоторых из нас есть более двух вариантов, если это так), Интернет полон хостинг-провайдеров.Гораздо важнее, если один из них вызовет сильный гнев клиентов из-за того, что возится с данными клиентов. Кроме того, эти компании с меньшей вероятностью откроют новую страницу из-за неправильно оформленных запросов со стороны правоохранительных органов, чем типичный интернет-провайдер (хотя, опять же, нет никаких гарантий). Уберечь свои данные от хищного интернет-провайдера — это одно; получить его от национального противника или APT, который действительно хочет , это что-то совершенно другое и, вероятно, выходит за рамки наших возможностей.
.
Как создать свой собственный VPN
Виртуальная частная сеть (VPN) помогает защитить данные о просмотре от интернет-провайдеров (ISP). Он также может помочь вам скрыть свой IP-адрес от посещаемых вами сайтов, а также разблокировать веб-сайты и обойти ограничения контента в зависимости от вашего местоположения.
VPN установить не очень сложно. Стоимость и технические требования будут зависеть от того, для чего вы хотите использовать VPN. Это также зависит от того, можете ли вы доверять домашнему интернет-провайдеру и сможете ли вы найти центр обработки данных, которому доверяете.
В общем, VPN — это зашифрованный туннель между вашим устройством и удаленным сервером. Это заставляет ваше устройство отображаться на сайтах, которые вы посещаете, как если бы вы были в той же сети, что и ваш удаленный сервер. Такие организации, как местные органы власти и интернет-провайдеры, больше не смогут видеть вашу онлайн-активность. Но провайдер удаленного сервера сделает это.
Как создать VPN
Если вы много путешествуете и хотите использовать Интернет, как если бы вы были дома, вам следует настроить VPN между мобильными устройствами и компьютером, который у вас есть дома.Вы можете использовать старый ноутбук или Raspberry Pi в качестве сервера и подключить его к маршрутизатору дома. Вы устанавливаете программное обеспечение сервера VPN на этот компьютер и устанавливаете программное обеспечение клиента VPN на свой телефон и ноутбук. Когда вы находитесь за пределами своей домашней сети, вы можете включить собственный VPN и просматривать Интернет, как если бы вы были дома. Вы можете транслировать видео и получать доступ ко всем сервисам, как обычно. Ваш домашний интернет-провайдер может видеть вашу активность, но места, которые вы посещаете, в том числе иностранные правительства и незащищенные точки доступа Wi-Fi или интернет-провайдеры, не могут.
Как настроить собственный VPN на удаленном сервере
Если вы не можете доверять своему домашнему интернет-провайдеру, если вам нужно скрыть свою онлайн-активность от местных властей или если доступ в Интернет дома заблокирован, вы можете настроить VPN на удаленном сервере, обычно это виртуальный частный сервер в облаке. . Вам нужно будет доверять не только интернет-провайдеру этой серверной фермы, но и оператору фермы свои данные просмотра. Если вы можете анонимно арендовать сервер, заплатив биткойнами, и должным образом защитить свой сервер, вы сможете добиться хорошей степени анонимности в Интернете.Вы можете подключиться к этому серверу, когда находитесь дома или в путешествии, эффективно скрывая свое местоположение от посещаемых сайтов. Вам больше не нужно доверять домашнему интернет-провайдеру свои данные о просмотре.
Как создать VPN-сервер
Для настройки собственной VPN могут потребоваться некоторые технические знания и опыт настройки серверов и сетей. Если вы настраиваете VPN дома, вам также необходимо знать, как настроить физический компьютер, выступающий в качестве сервера VPN, а также настроить домашний маршрутизатор.
К счастью, существуют инструменты, которые максимально упрощают это для вас.
Shadowsocks
Shadowsocks — это не полноценный VPN, а скорее HTTP-прокси. Если все, что вам нужно для маршрутизации или отмены цензуры, — это ваш браузер и несколько совместимых приложений, Shadowsocks вознаградит вас простой процедурой установки. На свой ноутбук или телефон вы можете установить специальное программное обеспечение или настроить параметры сети. Приложения доступны в Play Store и App Store.
OpenVPN
OpenVPN — один из наиболее мощных и всеобъемлющих инструментов с открытым исходным кодом.Его гораздо сложнее установить и настроить, чем Shadowsocks, но он также гораздо более настраиваемый. Приложения доступны в App Store и Play Store.
Защитный кожух
Wireguard — это новый протокол, который, пока находится на ранней стадии бета-тестирования, уже подает большие надежды. Не используйте его для попытки свергнуть правительство, поскольку в нем все еще могут быть ошибки и дыры в безопасности, но он сочетает в себе простоту использования Shadowsocks с функциями OpenVPN для домашнего использования.
SSH
Если вы пытаетесь избежать длительных настроек или конфигурирования, одно простое решение — просто настроить или арендовать любой сервер, к которому у вас есть доступ по SSH.Затем вы можете объединить свой трафик через этот туннель SSH с помощью клиента, такого как sshuttle.
Стоимость использования вашего VPN
Использование собственного VPN-сервера всегда связано с расходами, хотя они широко варьируются в зависимости от того, чего вы пытаетесь достичь. Если вы используете VPN дома, при условии, что у вас уже есть высокоскоростное интернет-соединение, единственной дополнительной оплатой будет устройство, на котором работает VPN. Это может быть всего 20 долларов США. Если у вас дома есть неиспользуемый компьютер, вы можете использовать его заново.
Если вы арендуете VPS в облаке, вы заплатите от 3 до 10 долларов за приличный сервер, что аналогично стоимости платных провайдеров VPN.
Коммерческие VPN
Коммерческий поставщик VPN, такой как ExpressVPN, предоставит вам проприетарное программное обеспечение в обмен на ежемесячную подписку. Они избавят вас от трудностей настройки вашего собственного сервера и клиента, а также обеспечат круглосуточную поддержку клиентов. Вы также получаете выгоду от сотен серверов в десятках стран, между которыми вы можете легко переключаться.Эти серверы оптимизированы для потоковой передачи и загрузки контента. Вы должны доверять своему платному провайдеру VPN и внимательно проверять его политику конфиденциальности, в частности, в отношении их методов ведения журналов.
Понравилось то, что вы прочитали?
Хлопайте за этот пост. Или поделитесь своими мыслями!
.