Недавняя волна блокировок счетов клиентов Interactive Brokers, посетивших территории, которые разные страны считают спорными, спровоцировала волну переживаний у клиентов брокера, и желание повысить уровень безопасности. Одним из вариантов является использование VPN-сервера, являющегося промежуточным «шлюзом», скрывающим за собой реальный IP-адрес клиента.
Существуют готовые платные и бесплатные сервисы, но у них есть ряд недостатков:
- Не индивидуальные IP-адреса, сотни сомнительных клиентов могут выходить в сеть под тем же IP что и Вы, часть IP могут быть в черных списках, и это может являться дополнительным маркером
- Не контролируемый уровень безопасности сервиса (непонятно у кого и какой доступ к каналу)
Для настоящих параноиков, есть альтернативный вариант — собственный VPN на основе виртуального сервера с такими особенностями:
- Один IP-адрес из одной локации, дополнительные — за доп.деньги. Но это не проблема, выбрали «домашнюю» локацию и всегда сидим под одним IP, не вызывая подзрений
- Собственный сервер, уверенность в единоличном доступе к каналу и гарантия безопасности
- Нет «соседей», 1 клиент — 1 IP
- Дополнительно можно использовать тот же сервер для других нужд — поднять сайт, или другой серверный софт
Вопреки заблуждению, что для этого нужно быть системным администратором или специалистом, существуют простейшие способы «поднять» VPN без всякого опыта. Ниже — подробная инструкция, выполнив которую Вы удивитесь, как это просто 🙂
Где найти сервер для VPN?
Нам нужен VPS — виртуальный сервер (ресурсы отдельного «железного» сервера нарезаются на кусочки, виртуализируются и управляются как отдельные физические сервера). Так как один физический сервер можно нарезать на большое количество виртуальных машин, то VPS — дешевы и доступны. Иногда возможность поднять VPN ограничивают, поэтому лучше всего спросить в поддержке, подходит ли данный вариант под Ваши задачи.
Но в общем случае для этих задач подходят самые дешевые варианты, с KVM виртуализацией (для справки, бывают еще openvz, Xen итд), от 30 до 200р в месяц. Предложения меняются, поэтому я просто оставлю ссылки на поисковики по текущим предложениям:
- poiskvps.ru
- vds.menu
- vps.today
- hosting101.ru и др.
Ищем самый дешевый VPS сервер c KVM виртуализацией на Linux со скоростью 100мбит/с и возможностью поднять VPN в нужном нам регионе. Годится любой Linux — Debian, Ubuntu или CentOS.
Я проделаю весь путь на примере дешевого сервера от FirstByte за 55 рублей в месяц, вот он:
Еще хорошие сервера по приемлемой цене ~6.6р сутки — у VDSina.
Заказываем:
Берем:
Я выбрал ОС Ububntu 20 но ее всегда можно поменять, если что то не заработает. Ваш сервер — ставите, что хотите 🙂
Ждем минут 10, пока наш сервер автоматически сконфигурируется и приступаем к настройке.
Обновление от 26.09: Самый простой способ самостоятельной настройки VPN на своем сервере
Сейчас я использую и всем советую этот способ, как однокнопочный вариант.
Скачиваем клиент Amnezia VPN с открытым исходным кодом.
Запускаем клиент, выбираем протокол для VPN:
- WireGuard — работает быстрее, скорость режется меньше, но ниже приватность
- OpenVPN over ShadowSocks — оптимальный вариант, если нужна еще и приватность
- OpenVPN over Cloak — весь трафик дополнительно обфусцируется (мимикрирует под какой то тип трафика)
Инструкция на их сайте, если что то все же будет непонятно.
На мобильном устройстве можно использовать официальное приложение, или одно из альтернативных, в зависимости от выбранного протокола.
Если хочется немного поработать руками, то дальше инструкция по настройке простого OpenVpn на сервере без использования сторонних клиентов.
Настройка VPN вручную (если не подошел предыдущий способ)
По готовности сервера, на почту приходит письмо с данными, нам потребуется только IP-адрес сервера, и пароль администратора (root-пароль).
Для доступа к серверу будем использовать простой терминал — Putty, вот тут его можно скачать бесплатно (ссылка на официальный сайт, без вирусов итд), качаем Portable версию для простоты.
Есть SSH-клиенты совмещенные с файловым менеджером более удобные, например MobaxTerm, но не думаю что стоит их использовать для того чтобы один раз настроить VPN и забыть
Для MAC OS можно использовать стандартный Terminal или выбрать любой из миллиона других SSH-терминалов: OpenSSH, ZOC, Hyper, Royal TSX, Termius итд.
Открываем Putty и копируем IP сервера, соединяемся, на возможные предупреждения о безопасности — соглашаемся и продолжаем:
Открывается терминал, в котором нужно поочередно вписать имя и пароль для авторизации.
Имя — root
Пароль — копируем тот, что прислал нам хостер (именно рут-пароль, а не пароль от панели управления), и вставляем в Putty в месте ввода пароля однократным нажатием правой кнопкой мыши. При этом ничего не произойдет — отображение пароля скрыто в целях безопасности, даже звездочки пожалели! Но все ок — нажимаем Enter и видим успешную авторизацию.
Если долго думать — то консоль уснет не дождавшись пароля и нужно будет ее перезапустить.
Готово:
Осталось немного.
Запускаем скрипт автоматической настройки VPN
Тру-админы могут настроить сервер самостоятельно, мы же воспользуемся готовым скриптом, который все сделает за нас.
wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh
Копируем команду, вставляем в терминал с помощью правой кнопки мыши, enter.
Пробежит информация в процессе запуска скрипта и в конце концов откроется мастер настройки:
Скрипт автоматически рекомендует параметры, поэтому с большинством соглашаемся, можно просто нажимать entet, чтобы выбирался вариант «по умолчанию»
- IP-адрес скорее всего будет определен автоматически, но если нет — мастер предложит указать его вручную. Копируем IP-адрес нашего сервера
- Протокол UDP или TCP. Оставляем по умолчанию UDP
- Порт: оставляем 1194
- DNS-сервер, в общем то выбираем любой, например Google — пишем 2 -> enter
- Client name — имя конфига, который будет создан. Можно создать несколько и раздать родственникам и друзьям.
- Нажимаем any key и ждем когда случится магия.
В итоге будет готов конфигурационный файл для использования на ПК и мобильных
Скачать конфигурационный файл можно или с помощью FTP-клиентов, или прямо тут, в Putty, для этого пишем команду:
cat ~/client.ovpn
client — имя которые Вы дали файлу на 5 шаге настройки — Client name. В моем случае это — fuib.ovpn
На экран терминала будет выведено содержимое файла, его останется только скопировать. Выделяем от начала («client…») до конца («</tls-auth>») и сохраняем содержимое в текстовый файл с одноименным названием.
Если лень — можно скачать готовый файл через FTP, он находится в корне.
Если нужно создать больше конфигурационных файлов (для родственников, мобильного, итд) — просто повторяем инструкцию с момента запуска скрипта и задаем другие имена конфигов.
Устанавливаем OpenVPN клиент
Программа бесплатная, официальный сайт здесь, качаем нужную версию. Есть варианты и для ПК и для мобильных, пользовался и тем и другим — все работает хорошо.
Запускаем OpenVPN, в контекстном меню в трее — импорт конфигурации — выбираем наш файл client.ovpn (в моем случае — fuib.ovpn)
Остается только в том же меню нажать «подключиться» или просто двойной клик по иконке в трее. Иконка загорится зеленым — ура, вы вышли через VPN, можно выдыхать.
Проверяем IP и скорость — internet.yandex.ru, убеждаемся что мы выходим через наш сервер, и радуемся своему успеху!
Никаких ограничений скорости — все летает, и это на сервере за 55р в месяц.

Если не подключается
Возможные ошибки:
- FlushIpNetTable failed on interface
- All TAP-Win32 adapters on this system are currently in use
- CreateFile failed on TAP device
- DNS failed
Попробуйте запустить OpenVPN из под администратора.
Спасибо за инструкцию.
А где географически будет находиться этот сервер? То есть в какой стране мы будем «находиться» для посещаемых интернет-ресурсов?
Не нашёл этого в статье.
конкретно тот хостинг что я взял для примера — в московском дата центре, IP соответственно московский.
А так — у большинства провайдеров есть выбор в разных ДЦ разных стран.