TrueBers
@TrueBers
Гуглю за еду

Какие существуют P2P NAT-aware решения VPN?

Задача, казалось бы, простая: есть 2 сети в разных городах, обе за НАТом. Также, есть сервер с внешним адресом в третьем городе.
Нужно решение, чтобы эти две сети кидали трафик напрямую друг другу, и пробивали НАТы с помощью третьего сервера (в качестве STUN'а). Нужен именно прямой коннект в обход НАТа. Зарелеить через сервер может и банальный OpenVPN, но такой вариант не подходит, ибо 2-3-кратные задержки получаются, ну и поток довольно жирный будет идти.
Релей только в крайнем случае -- если оба клиента за симметричным НАТом (тип НАТа может внезапно меняться), тогда ещё релей допустим.

Как я понимаю, OpenVPN умеет только через себя пропускать трафик, напрямую клиентов не может пробросить. Копал ещё в сторону freelan. Вроде пишут, что всё умеют, но по факту, что-то я не понял как это сделать без проброса портов на НАТе, доступа к которому я не имею.
Пробовал ещё Teredo, но с ним полный рандом -- может работать, а может через 20 минут отвалиться и не работать до следующего пришествия, от чего зависит, непонятно.

Существуют ли какие-нибудь решения для подобной схемы? Linux-only не предлагать, нужны и винда, и линукс.
  • Вопрос задан
  • 2271 просмотр
Пригласить эксперта
Ответы на вопрос 1
bbk
@bbk
Нешл, похоже вот этот опенсорсный продукт делает то что нужно!
zerotier.com
Peer to peer connection setup goes like this:

A wants to send a packet to B, but since it has no direct path it sends it upstream to R (a root).
If R has a direct link to B, it forwards the packet there. Otherwise it sends the packet upstream until planetary roots are reached. Planetary roots know about all nodes, so eventually the packet will reach B if B is online.
R also sends a message called rendezvous to A containing hints about how it might reach B. Meanwhile the root that forwards the packet to B sends rendezvous informing B how it might reach A.
A and B get their rendezvous messages and attempt to send test messages to each other, possibly accomplishing hole punching of any NATs or stateful firewalls that happen to be in the way. If this works a direct link is established and packets no longer need to take the scenic route.


Ещё я нашел одно интерестное решение по этому вопросу https://samy.pl/pwnat/ и есть еще платный Logmein Hamachi. Но простого ответа на этот вопрос быть не может, по этому я уверен не всегда 100% можно будет установить тонель.

Вот еще список статей которые +/- имеют отношение к теме:
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы