Полезные фичи VPN

    Не хотелось писать статью про настройку впн, потому что их и без меня в интернете тысячи — выбирай на вкус и цвет.

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

    1. VPN клиент можно установить почти на любой точке доступа


    Даже на старой точке часто есть возможность обновиться или доставить нужный пакет. Например, для моей старенькой Zyxel Keenetic Ultra оказалось неофициальное обновление, которое содержит кучу всего полезного, в том числе клиент openvpn. Для вашей точки тоже может найтись прошивка — 4pda это наше всё, там лежат прошивки буквально под что угодно. Если вы настроили все точки для работы с впн, то жизнь в целом уже становится гораздо легче. Если так сделают многие, то опять же проблема сводится к минимуму.

    2. VPN позволяет выборочно гонять через себя трафик


    Вам нужно только знать адрес подсети, в которую вы хотите ходить через VPN — дальше вы обновляете список этих сетей на своём VPN сервере, клиент из получает и начинает гнать только нужный трафик через VPN. Остальной идёт напрямую. Это важно — видел кучу инструкций, после следования которым вы погоните 100% трафика через VPN — это медленно, дорого, и вряд ли вы этого хотели.

    3. Мобильные устройства


    Почему-то многие считают, что на мобильных устройствах VPN работает по принципу “всё или ничего”. Нет, это не так, даже на огрызках — вы точно так же можете гонять через VPN только нужный трафик.

    4. Тор


    Так же хочется добавить, что по непонятным для меня причинам всё забыли про тор, который так же помогает в схожих задачах, и на текущий момент работает быстро и стабильно.

    Пример


    В качестве домашнего решения, я использую Google Compute Engine, где на сервере по минимальной стоимости у меня крутится openvpn сервер. Конечно, вы можете выбрать любой другой хостинг и vpn сервер.

    Клиенты для этого сервера у меня подняты на точке (родной клиент в поставке точки), на ноутбуке (есть клиенты на любой вкус и цвет) и на телефоне (Android, стандартный клиент почему-то отказался читать конфиг, зато сразу завёлся клиент от Arne Schwabe). Работает просто прекрасно, никаких нареканий. И я гораздо больше уверен в безопасности и прочности личного сервера, чем какого либо халявного или даже платного. Опять же, я думаю, что он будет всегда доступен, поводов полагать обратное нет (ну разве что огромный диапазон адресов гугла попадёт в блок, но айпишник сервера сменить довольно легко).

    На всякий случай добавлю свою настройку клиента — понятное дело, без ключей. Сервер и клиенты были подняты за вечер, при том, что это мой первый опыт развёртывания opnvpn, и вообще-то я занимаюсь разработкой.

    Настройка клиента (сертификаты можно добавить прямо в файл настройки, чтобы скормить это спокойно телефону или точке):

    Настройка клиента
    client
    dev tun
    proto udp
    remote YOUR_SERVER_IP 1194
    resolv-retry infinite
    nobind
    persist-key
    persist-tun
    verb 3
    <ca>
    PUT YOUR CA CERTIFICATE HERE
    </ca>
    <cert>
    PUT YOUR CERTIFICATE HERE
    </cert>
    <key>
    PUT YOUR PRIVATE KEY CERTIFICATE HERE
    </key>
    key-direction 1
    <tls-auth>
    PUT YOUR STATIC KEY CERTIFICATE HERE
    </tls-auth>


    Настройка сервера практически дефолтная — вроде я туда добавлял только пуши — для того, чтобы только нужные ресурсы шли через VPN:

    пуши выглядят так
    push «route x.x.x.x 255.255.255.255»
    push «route x.x.x.0 255.255.255.0»

    Хотел добавить ссылок на настройку OpenVPN, но таких статей правда слишком много, и они находятся без всяких проблем, и есть под каждый дистрибутив.

    Вы держитесь здесь, вам всего доброго, хорошего настроения и здоровья. Всё только начинается.

    UPD. Вам может быть полезным вот этот список IP адресов.
    Поделиться публикацией
    Похожие публикации
    Ой, у вас баннер убежал!

    Ну. И что?
    Реклама
    Комментарии 55
    • 0
      Основная проблема — достать этот список адресов, который нужно гонять по VPN. Разве что настроить подписку прямо на IP blacklist роскомпозора.
      • 0
        Полный список особо не нужен, я добавляю по прецеденту необходимые ресурсы. К тому же, нужен только один адрес, миллион зеркал добавлять необязательно.
        • 0
          Я на своё роутере (под управлением OpenWRT) использую скрипт, который отправляет в туннель только определённые домены из списка. Не вижу смысла пихать весь список.
          Если кому надо, то скрипт лежит на GitHub.
          • 0
            Как бы это с Mikrotik подружить? Есть в наличии сервер домашний, можно виртуальную машину поднять. Просто как-то надо трафик перехватывать и сортировать еще на роутере.
            • 0
              Для Mikrotik можно использовать firewall с дальнейшей заворачиванием в туннель. К примеру, так.
              • 0
                Полезная штука. Особенно порадовал авторезолв доменного имени. Проблема в том, что я не знаю заранее, что именно заворачивать. Особенно, если ломается какой-нибудь CDN и из-за этого повисает скрипт на странице третьего ресурса.
                • 0
                  микротик спокойно добавляет маршрут если сервер говорит ему
                  push "route x.x.x.x 255.255.255.255"
              • 0
                Я делал немного по другому, чем в комментарии выше.
                У меня OpenVPN на удаленном хосте. Также есть address-list со списком нужных адресов, через mangle маркируются пакеты, которые должны уходить через VPN, и в /ip route настроена отправка этих пакетов с такой маркировкой
                pastebin.com/GSSSr7qB
                Т.о. весь трафик до заблокированных адресов идет через VPN, остальное через обычный инет.
                • 0
                  А по нагрузке на процессор это как сказывается?
                  • 0
                    Так как настроен FastTrack, то никакой нагрузки от этого, в общем-то, нет. И даже относительно старенький RB750GL (1x400 MHz CPU) нормально пережёвывает гигабитный трафик
            • 0

              Совсем не проблема: https://reestr.rublacklist.net/article/api

            • 0
              Вчера переблочили кучу серверов Google Compute Engine
              • 0
                Мой пока живой, и повода к блокированию нет — разве что можно попасть под раздачу по диапазону. Опять же, свет клином на Google Compute Engine не сошёлся, да и там можно адреса менять с лёгкостью, приводящей в изумление.

                Моя мысль — о том, что можно поднять огромное количество децентрализованных личных VPN.
                • 0
                  Блокировка 1,5 млн адресов Google на данный момент, не очень побуждает поднимать VPN сервер именно у них, или Amazon :) Но думаю это не проблема, благо VPS можно за небольшие деньги взять у учи хостеров.
                  • 0
                    Повезло.
                    Мой европейский сервер из гуглооблака вчера вечером перестал отзываться, сейчас сижу и переношу все в американский… Если массово начнут блочить вообще всю подсеть гугла, придется переезжать на мелкие хостеры типа скалевей.
                    • 0
                      можно поднять огромное количество децентрализованных личных VPN.

                      Можно-то можно, а кто будет оплачивать банкет? 10$/мес за VPS там, 7$/мес тут, 15$/мес ещё где-то… И в месяц выльется нехилая такая сумма. Конечно, если доходы позволяют, то не вопрос.
                      • +1
                        Аренда сервера под VPN примерно сравнима со стоимостью телефонной связи или интернета. Для меня это потребности примерно одинаковых приоритетов, но допускаю, что может быть по разному.
                        • 0
                          И как это вяжется с предложенным выше Вами огромным количеством децентрализованных личных VPN?
                        • 0
                          Дуров предлагает оплачивать, правда пока не ясно как об этом договориться.
                          • 0
                            У меня тут пришла в голову идея, как это в принципе можно реализовать. То самое «огромное количество». Разработать специализированную железку и вручать её всем заинтересованным провайдерам по символической цене.

                            Маршрутизация, фильтрация и шифрование — не сильно требовательные к вычислительным ресурсам операции, с которыми справляется сейчас любая популярная ARM SoC. А тут уже научились делать процессоры с 64-128 ARM-ядрами на одном чипе. Поэтому моя фантазия подсказывает следующее: сделать железку, в которой будут интегрированы множество таких машинок. Можно разработать специализированный чип, где ядра (или тандемы из 2-4 ядер) будут завязаны на хитроумный конфигурируемый контроллер шины, который сможет выделять для каждой системы ресурсы: 1-4 ГБ DRAM, 1-4 ГБ NAND, 2-4 eth, 1 виртуальный ttyS0, который можно будет открыть telnet'ом, подняв туннель в клиентскую интрасеть провайдера. Плюс маршрутизатор на физически отдельном процессоре с собственной памятью, который будет коммутировать все внутренние ethernet-ы, торча несколькими оптическими интерфейсами наружу. Плюс отдельный SoC со своей ОС для управления выделением ресурсов клиентам, возможностью сделать poweroff и reboot для отдельного клиента, загрузить образ ОС в выделенный кусок NAND. Никакой виртуализации, всё аппаратно. Никакого u-boot, загрузку ОС для клиента следует предельно упростить: копирование нескольких первых мегабайт из NAND в DRAM, и старт выполнения кода с нулевого адреса. Вот как-то так.
                            • 0
                              Ничего этого не надо.

                              Просто выложить образ докера, подходящий для подавляющего большинства лоухостеров, после разворачивания — образующий впн-сервер и пару подходящих Телеграму прокси. Человек развернул образ, отправил в Телеграм-бот адрес сервера с логинами впн и прокси, ему на счет упало пару сатоши в компенсацию оплаты хостинга. Или еще проще — бот принимает адрес сервака, ключи и/или логин-пароль от root и сам настраивает сервер через API или просто по SSH.

                              Никакого железа, никаких посылок, все через инет в автоматическом режиме, массово и неподконтрольно.
                              • 0
                                Я исхожу из того, что свет клином на Телеге не сошёлся. Если уж бороться за цифровую свободу — то бороться по всем фронтам. Поэтому я предложил универсальное решение, на котором клиент может запустить всё на что хватит производительности, например хостить сайт-визитку «ИП Финтифлюшкин. Кондитерская г.Мухосранска», ну или транзитную Tor-ноду. Также Ваше программное решение не решает одной важной проблемы — стоимости хостинга для живущего на грани бедности населения. Предложенная мной железка, исходя из энергопотребления порядка 5Вт/ядро плюс память плюс интерфейсы плюс потери в электроцепях потребляла бы около 1кВт. Учитывая круглосуточную работу и украинские цены на э/энергию, получаем порядка 40$/мес. Добавим стоимость своевременной замены выгоревших микросхем или изношенных по циклам записи NAND-чипов — пусть будет 60$/мес. Доплату админу за обслуживание допустим будет выплачивать Дуров и Ко. При стоимости хостинга на такой железке в минимальной конфигурации 2$/мес, если найти хотя бы половину от максимального количества клиентов, она уже себя окупит. 2$/мес — уже вполне приемлемая для народа цена, особенно когда у человека есть желание иметь десяток таких хостингов в разных странах. Правда, остаётся одна проблема: как защититься бы от спекулянтов-сквоттеров.
                          • 0
                            Есть vps-сервис за 9-12$ в год, есть готовые vpn и прокси за сравнимую цену. Можно арендовать vps вскладчину небольшой группой товарищей и разделить стоимость аренды. Арендовать vps лучше у менее крупных и популярных ресурсах. У меня есть две арендованные — одна в США, вторая- в Украине.
                            • 0
                              А смысл сейчас держать VPS в Украине? Разве что из-за цены. Если по принципу «близко от России», то лучше в Польше или Германии, поскольку прямого обмена с Украиной у российских провайдеров уже давно нет, пакеты идут транзитом через одну из этих стран, что на traceroute чётко видно.
                              • 0
                                Я брал из-за цены ($12 в год), разместил на нём VPN, proxy и sip-proxy. Трафик идёт через Германию. Недавно нашёл в США с конфигурацией получше, стоимостью $9 в год
                      • 0

                        Как вариант можно гонять vpn трафик по v6, если isp позволяет.

                        • 0
                          И даже если не позволяет, через туннели.
                      • +1
                        По поводу пункта номер три. Сам пользуюсь таким, но на Android 7 есть проблема, что гугломаркет не хочет качать какие-либо обновления или приложения, просто висит закачка, а потом падает с ошибкой таймаута. Либо отключать VPN, либо гнать весь трафик через него.
                        • 0
                          Для похода по сайтам ТОР уже не торт, да часто он работает хорошо, но первая рекапча все ломает.
                          • 0
                            Для сайтов — да. Для мелочи вроде мессенджеров — вполне.
                            • 0
                              Tor годится только для злачных мест из домена .onion. Для всего остального использовать его нецелесообразно.
                          • 0
                            Еще одна полезная фича — можно явно указать по IP адресам какую часть трафика направлять через VPN — исключая некоторые, или наоборот, только некоторые. Есть и способы автоматически срезолвить домены в IP адреса.
                            • 0
                              Вы так пишете, словно VPN и OpenVPN — синонимы. А на самом деле…
                              • 0
                                Неправда, я не пишу так, просто привожу пример сервера, с которым работал. Даже специально указал
                                Конечно, вы можете выбрать любой другой хостинг и vpn сервер.
                              • 0
                                Нет, это не так, даже на огрызках — вы точно так же можете гонять через VPN только нужный трафик.

                                Не нашел такой возможности на айфонах. На андроиде есть, понятно — например, в клиенте OpenVPN от Arne Schwabe.
                                • 0
                                  Сам не пробовал, но примеры того, что конфигурация работает — есть (четвёртый сверху комментарий, а дальше там даже скрин логов с айфона есть).
                                  • 0
                                    Ну, хоть что-то, на малоюзабельно по моему. Мало того, что придется прописывать IP, а не приложения, так еще и то, что НЕ должно идти через VPN. Если что-то забудешь прописать, трафик хостера будет сжираться. А на андроиде ставишь одну галочку напротив «телеграм», и все.
                                    • 0

                                      Айпишник один раз прописал на сервер и забыл. И прописывает именно то, что ДОЛЖНО идти через ВПН.

                                      • 0
                                        По вашей же ссылке:
                                        «Now connections to those IP addresses don't go via the VPN connection, they're routed via mobile data.»

                                        Описание ключа route IP netmask net_gateway тут:
                                        community.openvpn.net/openvpn/wiki/IgnoreRedirectGateway

                                        И телеграм использует кучу IP адресов, еще и меняет их сейчас постоянно.
                                        • 0
                                          Ну так. Чувак не прописывал всё кроме нетфликса (или что там ему нужно было), он прописал нетфликс, и теперь все остальные адреса не идут через впн.

                                          Для телеграмма достаточно указать одну основную подсеть, которая много лет не меняется (и никуда не денется), остальные это всего лишь зеркала, которые нас не интересуют при условии работы основной подсети.
                                          • 0
                                            Нет. Почитайте внимательно свою же ссылку. Начните с заголовка: «bypassing VPN for certain domains on iOS». Это то, что было автору поста нужно, и это именно то, что он и добился (комментарий с решением от самого же автора, syd2ter).

                                            Теперь внимание, правильный ответ, которого нет по вашей ссылке — нужно отключить на сервере строчку в конфиге: push «redirect-gateway def1 bypass-dhcp» или, наоборот, в конфиге клиента включить: route-nopull. После этого уже можно командами route (но без net_gateway — погуглите хотя бы, что это) выборочно роутить трафик через OpenVPN сервер.

                                            Только это все бессмысленно, так как «основную подсеть, которая много лет не меняется» роскомнадзор уже, естественно, давно заблокировал, и у телеграма новые IP, которые они рассылают пушами, которые роскомнадзор снова банит, и телеграм рассылает новые, и так до бесконечности.
                                            • 0
                                              На сервере это строчки по дефолту вроде и нету. Ну или я уже успел забыть про то, как её убирал.

                                              Роскомнадзор, конечно, заблокировал основную подсеть, но она никуда не делась, и через впн доступна.
                                              • 0
                                                У меня сервер на убунте на амазоне, по дефолту строчка есть. Собственно, это ожидаемо — пользователь ждет, что при включении ВПН весь трафик пойдет именно туда без лишних телодвижений.

                                                Ну ок, если вы считаете, что Телеграм даже после обновления пушем продолжает долбиться на старую подсеть, хоть она и заблокирована — у вас есть информация, какая именно это подсеть? Я вот сейчас гуглением не нашел.
                                                • 0
                                                  nslookup telegram.org
                                                  Non-authoritative answer:
                                                  Name: telegram.org
                                                  Address: 149.154.167.99

                                                  И конечно клиент будет туда стучаться — это основная подсеть, и для клиентов вне РФ она работает, и было бы очень странно её отключать. И я это проверял, да.
                                                  • 0
                                                    Они используют в клиентах тот же IP, что и для сайта? Как-то не ожидал этого. Ну, если роута на один единственный IP достаточно, чтобы заработала вся функциональность телеграма, тогда это, конечно, упрощает дело. Хотел бы проверить, но не могу — выяснилось, что провайдер на работе заблокировал и мой сервер на амазоне тоже.
                                                    • 0
                                                      Ну я всю подсеть добавил щедро — на заблокированном провайдере поднялось. А вообще, насколько я помню, в исходниках зашито некоторое количество айпишников.
                                                      • 0
                                                        А, забыл сказать — я проверял ещё api.telegram.org. Там, правда, 149.154.167.220.
                                                        • 0
                                                          Закинул вот сюда полный список айпишников.
                                                          • 0
                                                            Круто! Добавил в закладки. Правда, AWS по прежнему заблочен, придется платный хостинг искать…
                                    • +1
                                      Коментарий не ради рекламы, а для просвещения.
                                      Для Android есть удобнейший (для меня) VPN-клиент: VPN Client Pro (https://play.google.com/store/apps/details?id=it.colucciweb.vpnclient&hl=ru), который позволяет подключаться к vpn-сервисам по ovpn, sstp и некоторым другим протоколам. В нём реализованы полезные вещи: разрешить работать с vpn только указанным приложениям, запретить работать с vpn только указанным приложениям, настройка маршрутизации (исключить подсеть из vpn либо наоборот), автоматические подключения VPN при условиях (например, при подключении к мобильной сети соединение устанавливается, при отключении от мобильной сети и подключении к сети wifi — отключается (можно наоборот, либо при подключении к оперделённым Wifi-сетям). Возможно добавить несколько адресов серверов в один профиль (перебирает при ошибке соединения с одним из них) и многое другое. Есть лог. Есть платная и бесплатная версии.
                                      • 0
                                        А он умеет выборочно посылать пакеты приложения в dev/null или обрубать им попытки соединения?
                                        Т.е. может работать как firewall?
                                        • 0
                                          нет, это не умеет.
                                          • 0
                                            Кажется, можно заворачивать их на несуществующую проксю.

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

                                        Самое читаемое