Комментарии 24
Отличная работа. Наконец стали появляться адекватные статьи по работе через STUN. Осталось только написать третью часть, где вы организуете VPN без посредника и STUN сервера.
+1
VPN без посредника и STUN сервера.это будет VPN over IPv6)
0
1. Устанавливаем сервер.
2. Сервер выполняет трассировку и получает белый ip/сеть за NAT. Если что, то существуют всемирные базы провайдеров.
3. Сервер начинает udp-прослушку.
4. Устанавливаем клиент.
5. Вбиваем в него полученный ip/сеть.
6. Запускается сканер портов (ищем udp-прослушку).Однако, сканирование достаточно выполнить один раз в большинстве случаев, если провайдер не использует балансировщик и прочие подобные вещи.
7. Мы узнали ip: порт сервера. Теперь можно использовать обычный VPN.
Естественно, этот способ имеет ещё меньшую область применения чем stun, который в свою очередь уступает ретрансляции. Однако, даже 1% от 10 000 000 устройств — неплохой результат.
2. Сервер выполняет трассировку и получает белый ip/сеть за NAT. Если что, то существуют всемирные базы провайдеров.
3. Сервер начинает udp-прослушку.
4. Устанавливаем клиент.
5. Вбиваем в него полученный ip/сеть.
6. Запускается сканер портов (ищем udp-прослушку).Однако, сканирование достаточно выполнить один раз в большинстве случаев, если провайдер не использует балансировщик и прочие подобные вещи.
7. Мы узнали ip: порт сервера. Теперь можно использовать обычный VPN.
Естественно, этот способ имеет ещё меньшую область применения чем stun, который в свою очередь уступает ретрансляции. Однако, даже 1% от 10 000 000 устройств — неплохой результат.
+1
5. Вбиваем в него полученный ip/сеть.
так весь смысл статьи в отказе от ручной работы
0
Это как звонок по телефону. Вы один раз записали номер, а потом можете на него звонить.
Тем более, вы забываете, что кто-то ещё должен установить openvpn + остальное ПО + сконфигурировать это всё. На фоне таких манипуляций вписывание 4 числе не кажется уж такой большой прибавкой к ручной работе.
Кроме того, весь смысл в организации vpn без посредников. Если я захочу избавиться от ручной работы, я найму сисадмина или хотя бы куплю сервер.
Тем более, вы забываете, что кто-то ещё должен установить openvpn + остальное ПО + сконфигурировать это всё. На фоне таких манипуляций вписывание 4 числе не кажется уж такой большой прибавкой к ручной работе.
Кроме того, весь смысл в организации vpn без посредников. Если я захочу избавиться от ручной работы, я найму сисадмина или хотя бы куплю сервер.
0
На фоне таких манипуляций вписывание 4 числе
а кто сказал, что маппинг будет постоянным во времени? вспоминаем легендарное "ни единого разрыва" — рестарт pppoe-сессии почти наверняка даст смену внешнего IP и/или порта.
Кроме того, весь смысл в организации vpn без посредников
совсем без посредников, очевидно, не получится — нам нужны провайдеры последней мили, магистральные провайдеры, все эти BGP-сессии и т.п.
Если я захочу избавиться от ручной работы, я найму сисадмина или хотя бы куплю сервер.
вот тут альтернатива и предлагается — использовать уже имеющуюся инфрастурктуру (stun-серверы, яндекс-диск и т.п.), а не создавать новую.
честно скажу, читая прошлую статью, я не проникся. а потом подумал: ведь на самом деле мысли дельные. решил "надо будет на эту тему ещё подумать".
а тут автор вторую статью написал с развитием идеи, и развитие, считаю, в правильном направлении.
0
Но это всего лишь пол дела, встал вопрос как передать эти данные удаленному узлу и организовать VPN-соединение. Использование почтового протокола, а может Telegram?!
мне кажется, тут dyndns бы подошёл
+1
IMHO: Заголовок «немножко» не корректный. Посредник есть! Вы параметры определяете через посредника, какой-то stun-сервер. Плюс Ваш метод не работает через «продвинутый», читай нормальный провайдерский CG-NAT, мобильных операторов или простой офисный прозрачный проксик.
+1
Вы читали прошлую статью? Там посредником был арендованный VPS, за которого нужно платить — это самый большой минус, а данном случае VPS нет — платить не надо. STUN-сервер, в данном случае идеальный и бесплатный способ определения текущих параметров соединения.
CG-NAT, мобильных операторов или простой офисный прозрачный проксик— это самое интересное, OpenVPN можно научить работать через прокси — идея для другой реализации. Я надеюсь, что статья не последняя, при моральной поддержке, есть куда развиваться… Спасибо за комментарии, я из них черпаю вектор развития)))
0
Отличная статья! Спасибо.
+1
Но это всего лишь пол дела, встал вопрос как передать эти данные удаленному узлу и организовать VPN-соединение. Использование почтового протокола, а может Telegram?!
Можно развить эту мысль, зачем тогда openvpn?
0
Какая потеря скорости, в процентах, при использовании VPN-сервера на VPS?
0
Почему openvpn когда l2tpv3 поднять проще? А шифрование можно применить внутри трубы политикой ipsec
+1
Так исторически сложилось, использовался OpneVPN, так как изначально вдохновение дала статья об OpenVPN в режиме peer-to-peer. Спасибо Вам за идею l2tpv3, я обязательно учту в следующей реализации.
0
Решил попробовать l2tpv3, работает.
Какое-то оборудование во время простоя быстро закрывало порт, и туннель переставал работать. Быстро растолкать придумал только ping`ом. OpenWRT (19.07-rc2), роутер сказал что не знает про l2tpv3 :-)
Прикинув что есть UDP, простое, быстрое, шифрование и с Keepalive — WireGuard. Работает.
Какое-то оборудование во время простоя быстро закрывало порт, и туннель переставал работать. Быстро растолкать придумал только ping`ом. OpenWRT (19.07-rc2), роутер сказал что не знает про l2tpv3 :-)
Прикинув что есть UDP, простое, быстрое, шифрование и с Keepalive — WireGuard. Работает.
+1
во время простоя быстро закрывало портПотому что роутер «на лету» транслирует (подменяет) обратный IP-адрес пакета на свой внешний (видимый из интернета) IP-адрес и меняет номер порта (чтобы различать ответные пакеты, адресованные разным локальным компьютерам). Комбинацию, нужную для обратной подстановки, роутер сохраняет у себя во временной таблице. Если какое-то время (около минуты, но не факт) не было трафика, то запись во временной таблице удаляется и соединение пропадает. Спасибо за WireGuard…
0
в опнврт ставь kmod-l2tp и kmod-l2tp-ip (или kmod-l2tp-eth для л2 туннелей)
пакет ip-full если соединение создаешь на баше.
Для поддержания соединения у меня там тусит bird, проверяет доступность пира и маршрутами обменивается.
UDP очень быстро забывается роутерами 10 секунд одиночный пакет, 3 минуты если поток только в одну сторону.
пакет ip-full если соединение создаешь на баше.
Для поддержания соединения у меня там тусит bird, проверяет доступность пира и маршрутами обменивается.
UDP очень быстро забывается роутерами 10 секунд одиночный пакет, 3 минуты если поток только в одну сторону.
+1
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Прямой VPN-туннель между компьютерами через NAT'ы провайдеров (без VPS, с помощью STUN-сервера и Яндекс.диска)