Мне было интересно, будет ли работать протокол TCP/UDP, если вы находитесь в одной сети (за NAT), и каков будет путь пакета.
Что происходит при использовании дырокола в той же сети, так это то, что он отправляет пакет с тем же адресом назначения и источника. Только порт источника и назначения будут отличаться. Я думаю, что маршрутизатор с включенным NAT loopback обработает это как следует, но как насчет других маршрутизаторов? Они сбросят пакет или маршрутизатор (первый?) от провайдера отразит пакет обратно, после чего он будет обработан нормально?
Мне интересно, потому что я думал об использовании этой техники для обхода блокировки между пирами в сети (например, школьной сети, где клиенты могут только выходить в интернет, но любой контакт друг с другом блокируется). Единственный другой вариант — использовать человека посередине в качестве прокси (туннеля?). Недостаток этого в том, что вам нужен сервер со значительно большей пропускной способностью, чем тот, который будет заниматься только дыроколированием. Кроме того, задержка значительно увеличится.
решение1
Это называется NAT Hairpinning. NAT, поддерживающий Hairpinning, может выполнять трансляцию, даже если оба пира находятся в одном NAT.
решение2
Маршрутизатор будет выполнять «маршрутизацию» только в том случае, если сеть назначения отличается от сети отправки.
Таким образом, если исходный компьютер имеет IP-адрес 10.1.1.5 с маской 255.255.255.0, а адрес назначения — 10.1.1.50, маршрутизатор NAT проигнорирует его, его обработает только коммутатор(ы).
Если пункт назначения 10.2.1.50, то выбынужен маршрутизатор, но в зависимости от конфигурации маршрутизаторов, вполне вероятно, что маршрут все равно не попадет в часть NAT, поскольку вы обычно не используете NAT во внутренней сети. NAT добавляет накладные расходы и проблемы, которые вам не нужны, и вам никогда не понадобится NAT внутри.
Поэтому то, что вы предлагаете, не сработает.
Действительно, если одноранговый трафик блокируется, то это, вероятно, происходит с помощью какого-то прозрачного фильтра.
Единственный способ обойти это — найти канал, которыйделаетработать между одноранговыми узлами, а затем запустить зашифрованный канал поверх этого.
Наконец, поскольку одноранговые соединения блокируются, попытка обойти блокировкуВОЛЯбудет нарушением ваших условий обслуживания - вас выгонят из сети, возможно, исключат (из школы) или даже привлекут к уголовной ответственности - это того не стоит! Вместо этого настройте собственную сеть WiFi для однорангового трафика.