Обход NAT вполне реален в нынешних реалях?

Если несколько вопросов.
Если обойти NAT, то Firewall-ы будут бесполезны? Будут ли они реагировать на подключение?
Какие способы обхода существуют? Слыхал об hole punching/STUN, но вроде для них нужен промежуточный сервер, но тогда смысл от децентрализации.

Просто интересно возможно ли создать полностью децентрализованную сеть, где у всех будут равные права, а именно без сервера, который является костылём в P2P сети
  • Вопрос задан
  • 260 просмотров
Решения вопроса 1
ValdikSS
@ValdikSS
Для «пробива» NAT существуют распространённые и широко применяемые практики, задокументированные в RFC5128, а также менее распространённые, но технические еще более продвинутые, вроде pwnat.

Слыхал об hole punching/STUN, но вроде для них нужен промежуточный сервер, но тогда смысл от децентрализации.

Промежуточный сервер в Hole Punching нужен только для согласования IP-адресов и портов. Если же IP-адрес и порт заранее известны (например, вы настраиваете UDP VPN между двумя пирами), то промежуточный сервер не нужен: просто отправляйте пакеты по UDP со статичными портами на обеих сторонах друг к другу.

Промежуточным сервером также может быть другой пир, а не обязательно централизованный сервер. В расширении ut_holepunch протокола BitTorrent DHT один пир может отослать другому пиру сообщение о необходимости подключения друг к другу путём отправки сообщения в DHT.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@res2001
Developer, ex-admin
Согласен с предыдущими отвечающими.
Но, можно посмотреть в сторону IPv6. С его адресной базой NAT в принципе не нужен, можно раздавать белые адреса каждому "утюгу". Вот только не уверен, что провайдеры именно так поступают.

Фаервол в любом случае может заблокировать трафик, хоть с NAT, хоть без NAT, хоть IPv6 - роли не играет.
Обычно, что бы обходить фаервол просто используют "стандартные" порты на сервере, которые, как правило (но не обязательно), везде открыты, например TCP/80 (http) или TCP/443(HTTPS). Это не дает 100% гарантии прохождения фаервола, но шансы повышает.

И кстати, если мы говорим об IPv4, то для того, что бы обойти NAT нужно использовать UDP, а не TCP. На TCP NAT не обойти.
На счет STUN и т.п. Там смысл в том, что сам STUN сервер с белым IP нужен только для получения клиентами адреса и порта "сервера", дальнейшая передача трафика идет напрямую между клиентом и сервером. NAT в этом случае не обходится, а просто клиентами используется та же дырка в NAT, которая образовалась при подключении сервера к STUN.
Ответ написан
Комментировать
CityCat4
@CityCat4
Если я чешу в затылке - не беда!
Очередной построитель "суперзащищенной децентрализованной сети", да? Олиферов сначала прочитай, сил нет уже такой бред комментировать.

NAT обойти невозможно. В смысле, если нет ни одного сервера с белым адресом - то построение такой сети невозможно. Если же он есть - сеть всегда строится на базе коннекта к нему.
Именно поэтому TeamViewer напирмер имел огромную кучу адресов, надерганных из разных блоков - чтобы сложнее было найти и забанить.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы