1

У кого-нибудь были проблемы с доступом к веб-серверу с локального компьютера с использованием RouterOS с прошивкой 6.27? У меня все работало нормально до обновления до 6.27.

Кроме того, шпилька NAT не работает.

1 ответ1

0

Ключ к проблеме заключается в том, что dstnat обрабатывается раньше, чем srcnat . Если данные прошли через dstnat , тогда и только тогда будут работать правила `srcnat.

Вот конфиг, который заставляет шпильку NAT работать:

/ip firewall nat> print
Flags: X - disabled, I - invalid, D - dynamic
 0    ;;; Hairpin NAT
      chain=srcnat action=masquerade protocol=tcp src-address=192.168.0.0/24
      dst-address=192.168.0.0/24 out-interface=bridge-local log=no log-prefix=""

 1    ;;; NAT masquerade for outgoing connections
      chain=srcnat action=masquerade out-interface=ether1-gateway log=no log-prefix=""

 2    ;;; HTTP
      chain=dstnat action=netmap to-addresses=192.168.0.150 to-ports=80 protocol=tcp
  dst-address=76.35.222.205 dst-address-type=local dst-port=81 log=no log-prefix=""

76.35.222.205 - это фальшивый адрес, представляющий мой внешний IP-адрес. Я пытался работать без него, но испытывал задержку в несколько секунд при использовании Hairpin NAT.

  • Правило 0 гарантирует, что ответ будет возвращен внутренней машине, отправившей запрос.
  • Правило 1 - это обычный маскарад NAT, который используется с или без шпильки NAT
  • Правило 2 - переадресация портов независимо от того, где было установлено соединение.

При запросе локального HTTP-сервера изнутри, правило 2 работает сначала, а затем правило 0.

Также может быть, что что-то не так в ваших правилах фильтра.

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