Переадресация портов, известная как Static PAT, позволяет фиксированную трансляцию между любой конечной точкой внешнего источника в конкретную внутреннюю конечную точку для общедоступного IP-адреса и определенного порта.

Однако, если пакет отправляется от этой конкретной внутренней конечной точки, на моем маршрутизаторе я вижу динамический PAT и трафик, установленный по эфемерному отображению порта.

Это типичное поведение маршрутизатора? Если да, то какие параметры маршрутизатора / страницы конфигурации могут быть отредактированы, чтобы изменить это, если таковые имеются?

1 ответ1

2

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

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

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

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

редактировать

Как обычно работает переадресация портов:

Предположим, у вас есть веб-сервер, прослушивающий порт 8080 на внутреннем компьютере A. Маршрутизатор R перенаправляет свой собственный порт 80 на 8080 на A.

Теперь какой-то компьютер I где-то в интернете отправляет запрос на R через порт 80. R перезаписывает этот пакет и отправляет его в A с портом 8080. Получив запрос на соединение, A разветвляет новый процесс и устанавливает соединение с I, используя этот порт.

Теперь R должен правильно отслеживать соединение и признать, что я и A установили соединение. Это означает, что NAT изменит порт в соответствии с распознанным соединением, то есть переведет с 8080 на 80.

Таким образом, нужная вам функция («сопоставить исходящий порт с тем же портом, который перенаправляется при входящем») в этой ситуации бесполезна. Что сопоставляется, так это связь.

Если вам нужно такое правило по какой-то причине, которое работает даже без установленного соединения (я не могу представить причину, по которой оно вам нужно), вы можете сделать это, но вам понадобится root-доступ к маршрутизатору R (что может означать Кастомные прошивки, такие как OpenWRT), и вам нужно добавить правила iptables для этого самостоятельно.

Действительно интересный вопрос: каков ваш вариант использования для отображения порта в другом направлении? Почему вы думаете, что нужно настроить это?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .