Вроде данная тема довольно сильно заезжена, в интернете 1001 инструкция по настройке своего виртуально сервера за 5$, но я хотел рассказать немного о другом. А именно – об аренде выделенного «сервера» в России.

Вопросы и ответы

q: Зачем?

a: Все просто, если не планируем взламывать кремль пентагон, нужна большая скорость и маленький ping, то этот вариант будет идеальным, особенно если требуется пользоваться видеосервисами.

q: Почему слово «сервер» в кавычках и почему именно желание приобрести выделенный?

a: Это ширина канала, он ваш и только ваш, как и загрузка ресурсов данного сервера.

Смысла арендовать настоящий сервер нет, но есть датацентры которые предлагают в аренду «малинку», она нам и нужна. Как собственно и нет смысла заморачиваться с бекапами.

q: Что из этого получим?

a: Ping 4–8, скорость: при безлимитном тарифе ~100Мбит (при гигабитном канале малинка выдаст около 600–700Мбит, зависит от типа VPN соединения и нагрузки на процессор).

РКН
  1. Хочу сказать сразу, некоторые датацентры находятся под ограничениями РКН, а некоторые – нет, писать какие не буду, ибо это реклама.

  2. Песков признался, что пользуется VPN

q: Цена???

a: Все это выйдет 800р в месяц, дорого? Но вы можете подключить друга.

q: Что будет работать?

a: Все, кроме сервисов, которые считают российский IP «неугодным», но не забываем что будет работать Tor (без мостов).

Выбор протокола

Протоколы VPN: для смартфона — однозначно WireGuard ибо он "тихий". Не держит открытый туннель, потому не расходует батарею/траффик, не расстраивается от постоянной смены ip/типа подключения. Для ПК (роутера): SSTP, IPsec, OpenVPN, еще можно добавить ZeroTier.

Настройка

Понадобится SSH клиент, самый простой вариант для Windows – «PuTTY», качаем весь архив с генератором ключей.

0. (необязательный шаг) Создаём пару ключей для сервера (puttygen.ene), открытый ключ добавляем в консоль управления сервером, закрытый прописываем себе в PuTTY.

1. Выбираем ОС на сервере Pi OS buster aarch64 и добавляем открытый ключ (шаг 0).

2. Ждем 10 минут, когда ОС будет установлена, подключаемся к своему серверу по SSH (putty.exe) используем пароль (или закрытый ключ, если выполнили шаг 0). Логин «pi»

3. (да простят меня истинные линуксоиды) в консоли набираем: $sudo su

#timedatectl set–ntp 1

#apt –y update

#apt –y upgrade

#git clone https://github.com/pivpn/pivpn

#bash pivpn/auto_install/install.sh

Выбираем WireGuard, настройки можно оставить «по умолчанию», после отработки мастера настройки, не перезагружаемся.

Устанавливаем SoftEther VPN, его настройка производится из Windows или web-интерфейса (выходит за рамки данной статьи)

#apt install –y cmake gcc g++ libncurses5–dev libreadline–dev libssl–dev make zlib1g–dev git

#git clone https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/

#cd SoftEtherVPN_Stable

#./configure

#make –j4

#make –j4 install

Создаём файл (выйти и сохранить ctrl+x)

#nano /etc/init.d/softether

#!/bin/bash

#SoftEther

sleep 10

# REMOVE # before sudo to turn ON

# description: SoftEther VPN Server

sudo /usr/bin/vpnserver start

# description: SoftEther VPN Bridge

# sudo /usr/bin/vpnbridge start

# description: SoftEther VPN Client

# sudo /usr/bin/vpnclient start

exit 0

#chmod +x /etc/init.d/softether

#nano /etc/rc.local

добавляем выше линии «exit»

/etc/init.d/softether

#/usr/bin/vpnserver start

После запуска SoftEther обязательно сразу задайте пароль администратора (через приложение для ПК — SoftEther VPN server manager for Windows). Как настроить SoftEther

Настройка безопасности ТОЛЬКО ЕСЛИ НЕ ПРОПУСТИЛИ ШАГ 0

#nano /etc/ssh/sshd_config

добавляем строку

PasswordAuthentication no

Перезагружаем сервер

#reboot

ZeroTier

*как работает данная связка мне не понравилось, расход аккумулятора больше чем WireGuard, скорость работы - ниже.

#curl -s https://install.zerotier.com | sudo bash

Для того чтобы можно было использовать "малинку" как шлюз для выхода в интернет, нужно добавить правила iptables. Где eth0 - сетевой интерфейс сервера.

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i ztrtaqxslf -o eth0 -j ACCEPT

Настройка на сайте my.zerotier.com

Добавление пользователей WireGuard

$sudo pivpn add

показать qr код

$sudo pivpn –qr

Для WireGuard рекомендую использовать DNS «датацентра», 8.8.8.8 — тогда у вас будет работать "суверенный" и "не очень" интернет.

Комментарии (85)


  1. amarao
    09.04.2022 15:44
    +3

    Исайд из индустрии: скоро начнёт дорожать. Хуавейные сервера сейчас в РФ в 8 раз дороже, чем эквиваленты от HP/Dell/Supermicro.


    1. i7071270 Автор
      09.04.2022 15:47
      +1

      ну что же делать, раз так сказал Песков vpn - YouTube, значит придётся платить дороже :)


    1. Akuma
      09.04.2022 19:48
      +3

      Почему скоро? Уже.

      Мой хостер поднял цены на 60-80%.

      Смотрел Яндекс облако, там с 14 апреля плюс те же 80%


  1. aborouhin
    09.04.2022 16:04
    +9

    1. Зачем арендовать физическую малинку, если виртуалка за те же деньги будет шустрее?

    2. На наличие или отсутствие блокировок по спискам РКН для трафика из дата-центров полагаться нельзя. Оно может поменяться на лету без предупреждения. У меня виртуалки у reg.ru, длительное время ничего не блокировалось, потом в один прекрасный день стало (судя по traceroute, поменялся аплинк).

    P.S. У самого VPN-сервер тоже в России как раз из-за пинга, скорости и доступа к российским ресурсам, не любящим зарубежные IP. Но адреса из списков РКН маршрутизируются через другой сервер, уже зарубежный.


    1. edo1h
      10.04.2022 15:44

      судя по traceroute, поменялся аплинк

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


      q: Что будет работать?

      a: Все, кроме сервисов, которые считают российский IP «неугодным»,

      вот-вот, сегодня доступ к сайтам, блокирующим доступ с российских адресов, не менее актуален, чем борьба с РКН.


      1. i7071270 Автор
        10.04.2022 18:16

        Для этого есть Tor без мостов, либо ещё сервак заводить, причем желательно в США.


        1. nidalee
          11.04.2022 11:14

          Почему бы не ограничиться просто одним сервером в США? Впрочем, прокси в США для жителя РФ выбор не лучший — пинг достанет. Лучше Нидерланды, например.


          1. i7071270 Автор
            11.04.2022 12:33

            Почему бы не ограничиться просто одним сервером в США

            Я уже писал, не всегда удобно иметь IP адрес чужой страны. Да про скорость и пинг - лучше не говорить тогда. Сейчас ещё добавить проблемы с оплатой и шанс блокировки (который намного выше, чем шанс что датацентр в РФ начнёт выполнят предписания РКН).


            1. nidalee
              11.04.2022 13:32

              Я уже писал, не всегда удобно иметь IP адрес чужой страны.
              Так можно ведь все настроить, чтобы IP чужой страны был только там, где нужно. С VPN, конечно, посложнее будет, но с прокси вообще проще-простого.
              Сейчас ещё добавить проблемы с оплатой и шанс блокировки
              Да, не без этого. Лучше выбирать компании, которые не проверяют регистрационные данные и имеют альтернативные способы оплаты в ассортименте.


              1. i7071270 Автор
                11.04.2022 14:21

                Лучше выбирать компании, которые не проверяют регистрационные данные и имеют альтернативные способы оплаты в ассортименте

                Я думаю, в первую очередь надо выбирать компании которые не сливают траффик кому попало :)


  1. Bonio
    09.04.2022 16:22

    Какой vpn протокол самый эффективный с точки зрения энергопотребления для мобильных девайсов? Что насчет outline vpn?


    1. aborouhin
      09.04.2022 16:41

      Про "самый эффективный" (это ж надо все попробовать) и про Outline ничего не скажу, но на Android после перехода с Wireguard на OpenVPN Connect (Wireguard хороший, быстрый, но для централизованного управления катастрофически неудобен, а Tailscale, который эту боль решает, с некоторых пор стал для российских реалий неудачным выбором) значимого изменения не заметил. Как кушал VPN пару процентов батарейки в сутки, так и кушает.


      1. Aelliari
        09.04.2022 17:14

        Для tailscale есть открытая реализация сервера, можно у себя развернуть. правда с iOS её не подружить


        1. aborouhin
          09.04.2022 17:27

          Про Headscale знаю. Но там и iOS не завести (а надо), и клиент под Android надо вручную пересобирать (и как-то удалённым пользователям-гуманитариям объяснять, как его потом ставить).

          Плюс, кроме рисков, связанных с оплатой самого Tailscale (неприемлемых для VPN, ибо если он отвалится - это вообще апокалипсис), там ещё и без вариантов SSO, а с ними сейчас уже свои риски. По сути, более или менее рассчитывать можно только на собственный SAML или OIDC провайдер, но его ещё развернуть надо, да и поддержка кастомных провайдеров у Tailscale только в enterprise подписке, которая неведомо сколько стóит (а есть ли оно в Headscale вообще - честно говоря, не разбирался).

          В общем, в превеликой печали похоронил я все свои труды по запуску Tailscale и запустил OpenVPN с авторизацией через OpenLDAP. И, надо сказать, неплохо работает.


          1. Aelliari
            09.04.2022 18:13

            SSO вроде как через OpenID есть, но у меня самого все руки не дойдут потрогать. А вот отсутствие iOS если он нужен - сразу делает неподходящим


            1. aborouhin
              09.04.2022 18:30
              +1

              Как оказалось, чем ниже уровень зарплаты специалиста (у меня юристы в основном) - тем больше шансов, что у него последний айфон, а не китайский андроид :) А поскольку я параноик и рабочая почта только через VPN, то на смартфоне он у каждого должен быть 100%. Так что iOS без вариантов нужен.


    1. ValdikSS
      09.04.2022 17:13
      +13

      Самый эффективный с точки зрения нагрузки на процессор — тот, что в ядре. Для мобильных устройств это IPsec. Однако он инкапсулируется в UDP, а не в TCP, а у мобильных провайдеров таймауты UDP-сессий, как правило, низкие, что вынуждает отправлять пакеты keep-alive каждые несколько десятков секунд, против нескольких минут в TCP, что приводит в учащённому пробуждению радиомодуля и увеличенному потреблению батареи.

      Правильно настроенный OpenVPN через TCP не расходует сколь-либо значимое количество батареи.


      1. i7071270 Автор
        09.04.2022 17:18

        Я согласен что OpenVPN более гибкий, но когда делаешь для себя и важна скорость и экономия ресурсов - не лучший выбор.

        Например простая маршрутизация в wireguard - исключение траффика корпоративной сети из VPN 10.x.x.x

        без 10.0.0.0/8

        255.0.0.0/8, 254.0.0.0/8, 253.0.0.0/8, 252.0.0.0/8, 251.0.0.0/8, 250.0.0.0/8, 249.0.0.0/8, 248.0.0.0/8, 247.0.0.0/8, 246.0.0.0/8, 245.0.0.0/8, 244.0.0.0/8, 243.0.0.0/8, 242.0.0.0/8, 241.0.0.0/8, 240.0.0.0/8, 239.0.0.0/8, 238.0.0.0/8, 237.0.0.0/8, 236.0.0.0/8, 235.0.0.0/8, 234.0.0.0/8, 233.0.0.0/8, 232.0.0.0/8, 231.0.0.0/8, 230.0.0.0/8, 229.0.0.0/8, 228.0.0.0/8, 227.0.0.0/8, 226.0.0.0/8, 225.0.0.0/8, 224.0.0.0/8, 223.0.0.0/8, 222.0.0.0/8, 221.0.0.0/8, 220.0.0.0/8, 219.0.0.0/8, 218.0.0.0/8, 217.0.0.0/8, 216.0.0.0/8, 215.0.0.0/8, 214.0.0.0/8, 213.0.0.0/8, 212.0.0.0/8, 211.0.0.0/8, 210.0.0.0/8, 209.0.0.0/8, 208.0.0.0/8, 207.0.0.0/8, 206.0.0.0/8, 205.0.0.0/8, 204.0.0.0/8, 203.0.0.0/8, 202.0.0.0/8, 201.0.0.0/8, 200.0.0.0/8, 199.0.0.0/8, 198.0.0.0/8, 197.0.0.0/8, 196.0.0.0/8, 195.0.0.0/8, 194.0.0.0/8, 193.0.0.0/8, 192.0.0.0/8, 191.0.0.0/8, 190.0.0.0/8, 189.0.0.0/8, 188.0.0.0/8, 187.0.0.0/8, 186.0.0.0/8, 185.0.0.0/8, 184.0.0.0/8, 183.0.0.0/8, 182.0.0.0/8, 181.0.0.0/8, 180.0.0.0/8, 179.0.0.0/8, 178.0.0.0/8, 177.0.0.0/8, 176.0.0.0/8, 175.0.0.0/8, 174.0.0.0/8, 173.0.0.0/8, 172.0.0.0/8, 171.0.0.0/8, 170.0.0.0/8, 169.0.0.0/8, 168.0.0.0/8, 167.0.0.0/8, 166.0.0.0/8, 165.0.0.0/8, 164.0.0.0/8, 163.0.0.0/8, 162.0.0.0/8, 161.0.0.0/8, 160.0.0.0/8, 159.0.0.0/8, 158.0.0.0/8, 157.0.0.0/8, 156.0.0.0/8, 155.0.0.0/8, 154.0.0.0/8, 153.0.0.0/8, 152.0.0.0/8, 151.0.0.0/8, 150.0.0.0/8, 149.0.0.0/8, 148.0.0.0/8, 147.0.0.0/8, 146.0.0.0/8, 145.0.0.0/8, 144.0.0.0/8, 143.0.0.0/8, 142.0.0.0/8, 141.0.0.0/8, 140.0.0.0/8, 139.0.0.0/8, 138.0.0.0/8, 137.0.0.0/8, 136.0.0.0/8, 135.0.0.0/8, 134.0.0.0/8, 133.0.0.0/8, 132.0.0.0/8, 131.0.0.0/8, 130.0.0.0/8, 129.0.0.0/8, 128.0.0.0/8, 127.0.0.0/8, 126.0.0.0/8, 125.0.0.0/8, 124.0.0.0/8, 123.0.0.0/8, 122.0.0.0/8, 121.0.0.0/8, 120.0.0.0/8, 119.0.0.0/8, 118.0.0.0/8, 117.0.0.0/8, 116.0.0.0/8, 115.0.0.0/8, 114.0.0.0/8, 113.0.0.0/8, 112.0.0.0/8, 111.0.0.0/8, 110.0.0.0/8, 109.0.0.0/8, 108.0.0.0/8, 107.0.0.0/8, 106.0.0.0/8, 105.0.0.0/8, 104.0.0.0/8, 103.0.0.0/8, 102.0.0.0/8, 101.0.0.0/8, 100.0.0.0/8, 99.0.0.0/8, 98.0.0.0/8, 97.0.0.0/8, 96.0.0.0/8, 95.0.0.0/8, 94.0.0.0/8, 93.0.0.0/8, 92.0.0.0/8, 91.0.0.0/8, 90.0.0.0/8, 89.0.0.0/8, 88.0.0.0/8, 87.0.0.0/8, 86.0.0.0/8, 85.0.0.0/8, 84.0.0.0/8, 83.0.0.0/8, 82.0.0.0/8, 81.0.0.0/8, 80.0.0.0/8, 79.0.0.0/8, 78.0.0.0/8, 77.0.0.0/8, 76.0.0.0/8, 75.0.0.0/8, 74.0.0.0/8, 73.0.0.0/8, 72.0.0.0/8, 71.0.0.0/8, 70.0.0.0/8, 69.0.0.0/8, 68.0.0.0/8, 67.0.0.0/8, 66.0.0.0/8, 65.0.0.0/8, 64.0.0.0/8, 63.0.0.0/8, 62.0.0.0/8, 61.0.0.0/8, 60.0.0.0/8, 59.0.0.0/8, 58.0.0.0/8, 57.0.0.0/8, 56.0.0.0/8, 55.0.0.0/8, 54.0.0.0/8, 53.0.0.0/8, 52.0.0.0/8, 51.0.0.0/8, 50.0.0.0/8, 49.0.0.0/8, 48.0.0.0/8, 47.0.0.0/8, 46.0.0.0/8, 45.0.0.0/8, 44.0.0.0/8, 43.0.0.0/8, 42.0.0.0/8, 41.0.0.0/8, 40.0.0.0/8, 39.0.0.0/8, 38.0.0.0/8, 37.0.0.0/8, 36.0.0.0/8, 35.0.0.0/8, 34.0.0.0/8, 33.0.0.0/8, 32.0.0.0/8, 31.0.0.0/8, 30.0.0.0/8, 29.0.0.0/8, 28.0.0.0/8, 27.0.0.0/8, 26.0.0.0/8, 25.0.0.0/8, 24.0.0.0/8, 23.0.0.0/8, 22.0.0.0/8, 21.0.0.0/8, 20.0.0.0/8, 19.0.0.0/8, 18.0.0.0/8, 17.0.0.0/8, 16.0.0.0/8, 15.0.0.0/8, 14.0.0.0/8, 13.0.0.0/8, 12.0.0.0/8, 11.0.0.0/8, 9.0.0.0/8, 8.0.0.0/8, 7.0.0.0/8, 6.0.0.0/8, 5.0.0.0/8, 4.0.0.0/8, 3.0.0.0/8, 2.0.0.0/8, 1.0.0.0/8


        1. aborouhin
          09.04.2022 17:33
          +5

          Например простая маршрутизация в wireguard - исключение траффика корпоративной сети из VPN 10.x.x.x

          Не вполне понял, куда и зачем Вы эту простыню вставляете, но вообще "все IPv4 адреса, кроме 10.0.0.0/8" - это гораздо короче :)

          1.0.0.0/8, 2.0.0.0/7, 4.0.0.0/6, 8.0.0.0/7, 11.0.0.0/8, 12.0.0.0/6,
          16.0.0.0/4, 32.0.0.0/3, 64.0.0.0/2, 128.0.0.0/1


          1. i7071270 Автор
            09.04.2022 17:36

            Вставил как пример кривой маршрутизации (за 5 минут), спасибо за совет, ваш вариант удобнее и лучше читаемый.


          1. gavk
            11.04.2022 07:10

            Ниже был нормальный ответ: https://habr.com/ru/post/659989/#comment_24247637


          1. shichimi
            11.04.2022 11:15

            Или так

            AllowedIPs = 0.0.0.0/5, 8.0.0.0/7, 11.0.0.0/8, 12.0.0.0/6, 16.0.0.0/4, 32.0.0.0/3, 64.0.0.0/2, 128.0.0.0/1


        1. ValdikSS
          09.04.2022 17:50
          +1

          Что ваш пример должен показывать? В OpenVPN это делается добавлением маршрута:

          route 10.0.0.0 255.0.0.0 net_gateway


          1. i7071270 Автор
            09.04.2022 18:04

            Спасибо за разъяснения, значит все же wireguard является более костыльным решением на данный момент.


            1. edo1h
              10.04.2022 15:47

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


        1. shichimi
          11.04.2022 11:28

          AllowedIPs = 0.0.0.0/5, 8.0.0.0/7, 11.0.0.0/8, 12.0.0.0/6, 16.0.0.0/4, 32.0.0.0/3, 64.0.0.0/2, 128.0.0.0/1

          Это можно просто получить по данным онлайн калькулятора "wireguard allowed ip calculator"


        1. Zolg
          11.04.2022 12:17

          Например простая маршрутизация в wireguard

          Это не (совсем) маршрутизация: allowed ips wireguard использует для двух с половиной целей:

          1) принимать ли от данного пира трафик с таким src ip

          2) какому именно пиру на этом wg интерфейсе отправлять трафик с таким dst ip.

          2.5) некоторые утилиты поднятия wg линка делают за вас "магию" и добавляют allowed ips в таблицу маршрутизации ос. С внутренней логикой работы wg этот шаг не связан

          Обратите внимание на выделенное. Это решение принимается уже после маршрутизации трафика на конкретный интерфейс wg.

          Если у вас на wg интерфейсе пир всего один, что для клиента верно почти всегда, можете смело указывать allowed ips в 0.0.0.0/0, а маршруты в таблицу маршрутизации заносить традиционными способами. Ну и про правила входящего трафика на фаерволе не забыть


          1. 13werwolf13
            11.04.2022 18:56

            А вот с этого места поподробнее, как запретить стандартному systemctl start wg-quick@wg0.service прописывать allowedips в маршруты


            1. Zolg
              11.04.2022 19:20

              man wg-quick

              параметр 'Table'


      1. i7071270 Автор
        09.04.2022 17:20

        OpenVPN через TCP не расходует

        Пример: автоматическое переключение сотовый/wifi - например метро/офис. Wireguard происходит мгновенно, ибо не требуется туннель. SSTP думает около 1-2 сек, этого достаточно для обрыва (заикания) IP телефонии/skype.


        1. ValdikSS
          09.04.2022 17:50
          +1

          Это UDP против TCP, а не Wireguard против других протоколов.


      1. i7071270 Автор
        09.04.2022 17:34
        -1

        @ValdikSS я все присматривался к ?вашему проекту https://bitbucket.org/anticensority/antizapret-vpn-container/src/master/

        Но останавливает именно OpenVPN, дело в том что он хорошо детектируется всякими корпоративными dpi. Которые, в последнее время настраивают именно на популярные стандарты. Не знаю почему, но wireguard пока эта участь обходит стороной (скорее всего он как тот "неуловимый Джо". Очень хотелось бы увидеть "антизапрет" на wireguard.


        1. ValdikSS
          09.04.2022 17:51
          +5

          Wireguard недалеко ушел от обычного IP-туннеля, вроде IPIP или GRE. Он не позволяет даже назначить клиенту IP-адрес, не говоря уже о передаче таких параметров, как маршруты и адрес DNS-сервера.
          У него нет никаких преимуществ, кроме скорости шифрования и туннелирования.

          Поддержка Wireguard для сервиса вроде АнтиЗапрета — обуза. Гораздо более вероятно появление IPsec IKEv2 в среднесрочной перспективе — он, аналогично Wireguard, реализован в ядре и обладает высокой скоростью работы, но имеет почти такой же широкий функциональный набор, как OpenVPN.


          1. Tarakanator
            11.04.2022 10:42
            -1

            На одном VPN сервисе уже отказались от ipsec в пользу wireguard, так что думаю будущее всё-таки за wireguard.


          1. SlimShaggy
            11.04.2022 11:18

            Пользуюсь Антизапретом много лет, но в последнее время появились ощутимые лаги - в частности, на фейсбуке картинки грузятся с задержкой, а про видео вообще лучше промолчать. Нет ли в планах платного сервиса с гарантированной пропускной способностью? Интересует именно антизапрет, про платный "просто VPN" я в курсе. Если заблочат ютуб, думаю придется разворачивать ваш контейнер на хостинге, но я предпочел бы минимизировать геморрой и за разумную плату пользоваться готовым сервисом.


        1. avelor
          09.04.2022 18:24
          +1

          Ваергард детектируется лучше. Имхо ваергард неплохдля site2site (в плане простоты настройки), а для клиентского - ну такое. Openvpn с stunnel лучшее проходит dpi (кажется, есть в пакете стрейзанд). Ну или шедоусокс, который ажно великий китайский ваервол проходит.

          Из относительной экзотики понравился ocserv - это реверс цисковского эниконнекта ссл-ного, по сравнению с ovpn киллерфича - отсутствие необходимости в клиентском конфиге. Совместим с клиентами эниконнекта, которые есть под любую платформу.


      1. rogoz
        09.04.2022 19:29

        Самый эффективный с точки зрения нагрузки на процессор — тот, что в ядре. Для мобильных устройств это IPsec
        Вроде если есть рут на андроиде, wireguard может свой ядерный модуль подсунуть, по крайней мере настройка в мобильном клиенте есть такая, не выяснял насколько успешно это работает.


        1. Tangeman
          10.04.2022 00:06

          С Android 12 Wireguard уже есть в ядре. Гугль даже добавил его в Android 11 для ядра 4.19, так что для новых устройств не нужен даже рут.


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


      1. AlexHighTower
        10.04.2022 11:09
        +3

        Правильно настроенный OpenVPN через TCP не расходует сколь-либо значимое количество батареи.

        А можно попросить пример правильной настройки? (как сервера, так и клиента)
        чтобы tls-crypt был, как я понял из описания его сложнее детектировать для dpi


      1. Gutt
        10.04.2022 14:47

        а у мобильных провайдеров таймауты UDP-сессий, как правило, низкие,

        Пожалуйста, поясните. что такое "таймауты UDP-сессий"? О каких сессиях идёт речь, что меняется по достижению таймаута?


        1. ValdikSS
          10.04.2022 15:28
          +1

          Речь о таймаутах NAT-сессии для протокола UDP, по истечении которой сервер не сможет отправить пакет клиенту.


      1. Zolg
        11.04.2022 11:43

        С ipsec на андроиде есть нюанс: с удивлением обнаружил, что на всех имеющиеся под рукой андроид устройствах (в том числе работающих на opensource прошивках) IKE умеет максимум DH group2 (1024 бита), что в 2022 году выглядит не очень безопасным.


        1. DaemonGloom
          11.04.2022 12:12

          Samsung на 11 версии android предлагает такие DH: ecp384, ecp256, modp2048, modp1536. При этом 1024 он не предлагает вообще, судя по отладочному логу на Микротике. Более того, если сервером ограничить на DH modp1024 — он не подключится вообще.


          1. Zolg
            11.04.2022 12:22

            Самсунга среди моей выборки не было. А вот LOS18 (11 андроид) предлагает именно 1024.

            Такчто нюанс, увы, есть


    1. rostislav-zp
      09.04.2022 23:33
      +1

      Я уже лет 6 переодически использовал pritunl,outline,openvpn и softetherVPN. На ios и android они никак не влияют на автономность вообще.скорее вы посадите телефон от мобильного интернета,чем увидите разницу от vpn


    1. BoreaAlex
      10.04.2022 12:45

      Outline это Shadowsocks. Сейчас пользуюсь, батарею жрет заметно


    1. Tarakanator
      11.04.2022 10:39

      Точно не знаю, но думаю что-то без шифрования. Я бы посмотрел в сторону l2tp, pptp. Ну как-то так.


      1. Zolg
        11.04.2022 11:47

        Применительно к телефону шифрование чуть ли не последнее, что жрет батарею. Гораздо важнее, насколько качественно телефон спит не роняя впн.


  1. AlexHighTower
    09.04.2022 16:23

    Вопрос про клиента sstp на ios — что посоветуете?
    поставил под убунту sstpd (пинотовский), родной виндовый клиент прекрасно подключается, а вот под ios не вижу клиентов. пробовал AnyConnect — но не подключается


    1. Evengard
      09.04.2022 16:38

      AnyConnect это даже близко не SSTP. Единственное схожее у них - что они инкапсулируют свой трафик в HTTPS, но на этом сходство заканчивается. Из того что я слышал - SSTP под iOS вот этот неплохой: https://apps.apple.com/ru/app/sstp-connect/id1543667909

      Точнее не подскажу (у меня нет iOS), но ограниченно контактировать с его разработчиком (domosekai) приходилось, как раз по теме SSTP, так что должен работать.


    1. F0iL
      09.04.2022 20:56

      AnyConnect клиент работает с ocserv.


  1. hssergey
    09.04.2022 18:09

    На скриншоте в статье selectel, и он тоже роскомнадзорит запрещенные ресурсы...


    1. MainNika
      09.04.2022 18:30

      Хостился там до повышения цен и не замечал никаких фильтров из роскомнадзор списков, дц SPB-5 например.


  1. Akuma
    09.04.2022 19:51
    +2

    А зачем вам именно VPN?

    Чем старые добрые прокси не угодили?

    В любой ОС настраивается. У меня вообще просто в браузере расширение вкл/выкл, больше и не нужно.

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

    Если не можете купить, можно настроить очень просто на той же vds


    1. select26
      09.04.2022 22:00
      -1

      Согласен. И работает при этом быстрее и надёжнее, т.к. работает на более высоком уровне OSI.

      Почему народ убивается VPNами?


      1. i7071270 Автор
        09.04.2022 22:31
        +2

        Почему народ убивается VPNами?

        Траффик легко отслеживать, не все ПО корректно работает через прокси. А поднимать локальный ВПН для прокси - будет также занят единственный юнит для ВПН (android).


        1. edo1h
          10.04.2022 15:52

          Трафик легко отслеживать

          нет, обращаться к прокси вполне можно (нужно) по https


          1. Zolg
            11.04.2022 11:52

            Понятно, что теоретически это возможно, но практически под https прокси в большинстве случаев подразумевается работающий по http прокси, умеющий команду connect.

            И большинство прикладного софта умеют работать только с такими


            1. edo1h
              11.04.2022 14:17

              браузеры при указании в proxy.pac https-прокси отлично работают.
              https://developer.mozilla.org/en-US/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_PAC_file


              вот тут, например, написано как организовать автоматическое получение настроек на виндовых (ив некоторых случаях на линуксовых) машинах
              https://wiki.gentoo.org/wiki/ProxyAutoConfig


              ну и большинство консольных (да и не только консольных) линуксовых приложений понимает


              export http_proxy=https://1.2.3.4:56789
              export https_proxy=$http_proxy
              export HTTP_PROXY=$http_proxy
              export HTTPS_PROXY=$http_proxy


        1. inferrna
          11.04.2022 11:08

          Shadowsocks + obfs плагин и весь ваш трафик маскируется в, например, обычный http с некой ахинеей, неподдающейся анализу DPI железками. А VPN канал от домашнего компа к буржуйскому серверу сразу попадает под подозрение.


      1. aborouhin
        09.04.2022 22:54
        +1

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

        И даже если говорим только про обход блокировок - как приложения всех заблокированных ныне соцсетей на смартфоне научить ходить через прокси?

        А скорость и надёжность нормально организованного VPN для конечного пользователя превышает скорость и надёжность канала, по которому этот пользователь выходит в интернет, т.е. точно не является узким местом.


        1. i7071270 Автор
          09.04.2022 23:00
          +3

          Можно ещё добавить, что через VPN можно соединить друзей с Plex и другими сервисами в одну сеть, которые будут доступны везде и всегда. Как, например, файлы рабочего ПК, домашнего хранилища, домашнего хранилища друга. И при этом надо иметь всего 1 белый ip на всех. Есть варианты через zerotier, но мне не понравилась скорость работы (так что как резервный вариант).


          1. Aelliari
            09.04.2022 23:12
            +1

            ZeroTier шикарная вещь, но оно про L2, а это нужно далеко не всегда. Хотя заявленное - он выполняет отлично, и даже умеет jumbo frame внутри себя, не смотря на его возможное отсутствие на более низком уровне. И скорее всего, между ZeroTier и tailscale (headscale) я скорее выберу второй, просто потому что функционал ZeroTier мне не нужен

            P.S. можно ещё упомянуть, что в случае ZeroTier/Tailscale 1 белый IP для всех, но при этом соединения между машинами по максимуму возможного будут напрямую, а не через координирующий сервер


    1. Vilgelm
      09.04.2022 23:25
      +2

      РКН умеет лазить в прокси. Когда Твиттер замедляли через прокси он тоже был замедлен.


    1. 13werwolf13
      11.04.2022 08:38
      +3

      потому что прокси работает для конкретного приложения и не любое приложение умеет в прокси

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


      1. Akuma
        11.04.2022 09:06

        Прокси можно настроить на уровне системы и с ним будет работать практически все.

        Учитывая для каких целей тут статья - системное прокси покроет 100% приложений (браузер, да и все, скорее всего).


        1. 13werwolf13
          11.04.2022 09:14

          опять же, на уровне системы а не всех систем в локалке

          да и практически всё не равно всё

          и опять же это будет заворачивание всего трафика в проксю а не только заблокированных и заблокировавших хостов


          1. edo1h
            11.04.2022 09:34

            и опять же это будет заворачивание всего трафика в проксю а не только заблокированных и заблокировавших хостов

            необязательно, есть же proxy.pac
            посмотрите как сделано у https://antizapret.prostovpn.org/


    1. Tarakanator
      11.04.2022 10:47
      +1

      В моём случае:
      1)настроить VPN 1 раз на роутере, а не на всех устройствах.
      2)Не тыкать постоянно вкл\выкл VPN в браузере(я не нашёл расширения, нормально работающего со списком куда ходить через VPN. Платные не пробовал)
      3)как настроить в webos?
      4)как настроить в VR шлеме, если он пока не соединится с серверами ничего настроить не даёт?
      5)как настроить в игре, которыя про прокси не знает?


  1. goldrobot
    09.04.2022 20:27

    Я так и не понял зачем нужен VPN из вашей же локации.


    1. i7071270 Автор
      09.04.2022 21:03
      +1

      Я так и не понял зачем нужен VPN из вашей же локации

      Для обхода блокировок РКН. У некоторых датацентров в правилах написано, что вы сами должны заниматься фильтрацией траффика согласно реестру РКН.

      А делать это или нет - ваше право :)

      А смысл в локальных серверах своего региона - это скорость и пинг.


    1. aborouhin
      09.04.2022 23:01
      +4

      VPN в России нужен по трём причинам:

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

      б) Ходить через зарубежный сервер на ВСЕ ресурсы - чревато блокировками (последнее время многие гос. сайты огородились так, что с зарубежных IP не пускают, но и до этого какое-нибудь Авито в основном с зарубежных адресов отправляло в бан). Плюс иногда критична скорость и latency, которые в случае прогона всего трафика через Европу вырастают в разы.

      в) Если вдруг дёрнут за рубильник и Чебурнет останется изолированным от слова "совсем" (не верю, что сие случится надолго, но при каких-то потрясениях таки может быть реализовано в качестве чрезвычайной меры) - по крайней мере, мы сохраняем доступ к внутренним ресурсам, которые были доступны через VPN, в отличие от случая, когда сам VPN-сервер за рубежом.

      Соответственно, нужен некий промежуточный сервер, который уже маршрутизирует запрещённые адреса через заграницу, а российские - напрямую. И именно этому серверу логично выступать точкой подключения для мобильных и маломощных VPN-клиентов.

      Это не та схема, которую описывает автор в посте, т.к. автор самонадеянно верит, что если какой-то российский датацентр сейчас имеет неограниченный доступ ко всем внешним ресурсам - так оно и останется. Но реально, если хочется комфортной работы и с заблокированными ресурсами, и с российскими - то это оптимальный вариант.


      1. i7071270 Автор
        09.04.2022 23:57

        Спасибо за развернутый ответ

        т.к. автор самонадеянно верит, что если какой-то российский датацентр сейчас имеет неограниченный доступ ко всем внешним ресурсам - так оно и останется

        Я не говорю что это навсегда, поэтому и не называл название провайдера. Пока работает - можно напрямую, потом вариант второй (присматриваюсь к антизапрет), на случай если Tor тоже блокировать начнут. И да, придется уже 2 VPN сервера арендовать тогда... Как говорится - хочешь интернета плати, хочешь свободного интернета - плати ещё.

        Сейчас забавная ситуация, AWS (у меня также есть, и пока работает без оплаты) блокирует российские сайты у себя (или наоборот наши блокируют).


      1. 13werwolf13
        11.04.2022 08:41

        a) зачем мучать смартфон непонятно, но недорогой салями с openwrt прожовывает 10+ тысяч маршрутов из списка РКН (не считая ещё около десятка нужных для работы) моментально и работает без просадок производительности

        б) на ВСЕ ресурсы ходить и не надо, достаточно завернуть маршруты до нужных (забаненных или забанивших) узлов

        в) в таком случае нужен уже не доступ до внутренних ресурсов а знакомство с человеком способным вывезти тебя и твою семью из страны


      1. TheChief5055
        11.04.2022 09:49
        +2

        Я делаю несколько иначе.

        1) Белый IP дома. Недорогой хостинг в ойропе, не попадавший ранее в блокировки.

        2) Роутер с OpenVPN либо WireGuard, первый обязательно с AES/NI-ускорением (модели ASUS на т.н. HND platform).

        3) Туннель (у меня сейчас это wireguard) из дома на хостинг в ойропе. Выборочная маршрутизация в туннель по ручному списку требуемых доменов (ipset/dnsmasq). DNS-over-TLS на роутере.

        4) OpenVPN и WireGuard серверы на роутере для клиентов.

        5) Соответствующие клиенты на… мнэээ… клиентах. Внутри домашней сети тоннельный клиент уже не нужен, так что прекрасно работают всякие спотифаи на ресивере.

        6) PROFIT.


        1. Godless
          11.04.2022 14:18

          Выборочная маршрутизация в туннель по ручному списку требуемых доменов (ipset/dnsmasq)

          при загрузке список парсится? можно чуть подробнее как из списка DNS получается список маршрутов ?


          1. TheChief5055
            11.04.2022 16:02
            +2

            Раз при загрузке и периодически раз в час. В jffs лежит файлик /jffs/configs/rublack-dns.txt такого вида:

            ;
            digikey.com
            akamaiedge.net
            ;
            instagram.com
            cdninstagram.com
            facebook.com
            facebook.net
            fbcdn.net
            ;

            Дальше он парсится примерно так:

            #!/bin/sh
            DNSMASQ_CFG=/etc/dnsmasq.conf.add.shadow
            
            regexp_fqdn='(?=^.{1,254}$)(^(?>(?!\d+\.)[a-zA-Z0-9_\-]{1,63}\.?)+(?:[a-zA-Z]{2,})$)'
            
            logger "$DNSMASQ_CFG recreating..."
            rm -f $DNSMASQ_CFG 2>/dev/null
            touch $DNSMASQ_CFG 2>/dev/null
            
            echo "#" >> $DNSMASQ_CFG
            
            for fqdn in $(cat /jffs/configs/rublack-dns.txt | /opt/bin/grep -P "$regexp_fqdn")
              do
                echo "ipset=/$fqdn/rublack-dns" >> $DNSMASQ_CFG
              done
            
            # Create ip set
            if [ "$(ipset swap rublack-dns rublack-dns 2>&1 | grep 'does not exist')" != "" ]; then
              ipset create rublack-dns hash:ip
            fi
            
            cru d ipset-flush > /dev/null 2>&1
            cru a ipset-flush "0 */1 * * * /jffs/scripts/ipset-flush" > /dev/null 2>&1
            
            service restart_dnsmasq
            

            В результате в /jffs/configs/dnsmasq.conf.add появляется такое:

            ipset=/digikey.com/rublack-dns
            ipset=/akamaiedge.net/rublack-dns
            ipset=/instagram.com/rublack-dns
            ipset=/cdninstagram.com/rublack-dns
            ipset=/facebook.com/rublack-dns
            ipset=/facebook.net/rublack-dns
            ipset=/fbcdn.net/rublack-dns

            И в ASUSWRT это автоматически дописывается к конфигу dnsmasq, а при реcолве любого домена с указанным корнем (т.е. *.fbcdn.net) пополняется адресами ipset rublack-dns.

            Дальше совсем просто, в скрипте WireGuardManager говорим, что туннель, например, wg11 у нас policy-based и в качестве policy указываем искомый ipset. Собственно, всё. Скрипт WGM сейчас усилиями коммюнити стал умненький-благоразумненький и все колдунства с iptables/ip route проделывает сам (раньше надо было руками).

            Почему там .shadow? Это линк из jffs в tmpfs, чтобы не насиловать nand. Он создаётся в /jffs/scripts/init-start:

            #!/bin/sh
            
            DNSMASQ_CFG=/etc/dnsmasq.conf.add.shadow
            DNSMASQ_LN=/jffs/configs/dnsmasq.conf.add
            
            if [ ! -f $DNSMASQ_LN ]; then {
            	ln -sf $DNSMASQ_CFG $DNSMASQ_LN 2>/dev/null
            	logger "$DNSMASQ_LN -> $DNSMASQ_CFG link recreated..."
            	}
            fi
            


            1. Godless
              12.04.2022 11:04

              Интересно, спасибо. У меня просто схема сильно другая, много VLAN/NAT на шлюзе (x86, linux), стоит unbound и тп. А для маршрутизации думаю bgp использовать.


              1. TheChief5055
                12.04.2022 13:08

                Ну, у меня простая домашняя схема. Для меня bgp и прочие ужасы — лютый оверкилл.


    1. hbrsck
      11.04.2022 09:11

      Как точка обмена трафиком в случае отвала основной. Это если у вас от 3 точек без статика.


  1. gecube
    10.04.2022 00:57
    +7

    статья не понравилась - как обычно по рабоче-крестьянскому make install, вместо того, чтобы собрать нормальный докер или rpm/deb пакет. Там хотя бы можно как-то кому-то доверять (те же подписи GPG), а тут - скачай репо непонятных чуваков и запусти на своей впске...


    1. 13werwolf13
      11.04.2022 08:44

      к этому добавляется sudo su и /etc/init.d/.. в systemd дистрибутиве.. и вера автора в то что в россии хостинги реально игнорят РКН
      справедливости ради такие хостинги есть, только вот инфа о них передаётся из уст в уста и не всем.


  1. Rebeiro1976
    10.04.2022 08:14
    +3

    не, спасибо, я зарекся поднимать vpn в России, толку ноль, порезано абсолютно все, и нафига мне такой чебурнет, просто мой за бугром почикали на 2 недели, потом вроде вернули, вот это настоящий инет, ничего не порезано, пинг 40, скорость по тарифу как у провайдера моего, не режется, не инет а сказка, а с нашими оплевался просто, и стоит 250 р


    1. sunbeam
      10.04.2022 13:01
      +3

      всё прямо расписано как будто в шоколаде, вот только иногда пропадает на две недели..


  1. Carburn
    11.04.2022 12:56

    ОЧЕНЬ дорогой сервер!