Назад | Перейти на главную страницу

Переадресация портов Mikrotik hEX не работает

У меня роутер hEX Mikrotik, заводские настройки по умолчанию, последняя прошивка.

По умолчанию он поставляется с мостом от eth2 к eth5 и eth1 в качестве порта «WAN», плюс несколько правил межсетевого экрана. По умолчанию мостовая сеть 192.168.0.0/24.

У меня есть сервер (192.168.0.96) с HTTP-службой, прослушивающей порт 9090, подключенный к одному из мостовых интерфейсов Ethernet. Фиксированный IP со статической арендой DHCP.

Если я следую любому из примеров / руководств по переадресации портов, они упоминают:

/ip firewall nat
add chain=dstnat dst-address=10.42.0.2 protocol=tcp dst-port=9090 action=dst-nat to-address=192.168.0.96 to-port=9090
add chain=srcnat out-interface=WAN action=masquerade

Где dst-address = 10.42.0.2 - это публичный адрес из WAN, а 192.168.0.96 - это внутренний адрес сервера, на который мы хотим перенаправить. Порт, используемый в этом примере, соответствует отображению 1: 1, то есть поступает с 9090 и перенаправляется на порт 9090. Я также видел варианты, в которых вместо dst-address указывается in-interface.

Это вообще не работает. Если я настрою правило NAT для регистрации, оно регистрирует следующее:

dstnat: in: ether1 out: (unknown 0), src-mac ab: cd: f1: ab: cd: f2, proto TCP (SYN), 10.42.0.1:58940->10.42.0.2:9090, len 60

Как будто он не может разрешить адрес назначения. Я вижу, как в правиле увеличивается счетчик пакетов, но на это ничего не реагирует.

Я просто сбросил Mikrotik hEX до заводских настроек, добавил статическую аренду, добавил правило dst-nat и ничего больше. В каждом примере, который я читал, ничего не упоминается о том, чтобы делать что-либо еще с настройками по умолчанию (дополнительные правила, удаление существующих и т. Д.). Все они просто упоминают добавление правила переадресации и, самое большее, правила маскарада.

Я могу легко запросить службу HTTP на порту 9090 с компьютера, который также подключен к любому из интерфейсов Ethernet с мостовым подключением (все они находятся в сети 192.168.0.0/24).

Чего еще может не хватать?

РЕДАКТИРОВАТЬ: отредактированы детали вопроса, чтобы они соответствовали конфигурации, которая у меня есть сейчас, после того, как я попробовал больше вещей и изменил сети.

Еще я удалил ether5 с моста и настроил его отдельно в собственной подсети, чтобы избежать сбоев и невозможности доступа к панели администратора маршрутизатора.

У меня нет реальной глобальной сети, чтобы проверить это прямо сейчас, поэтому я настраиваю статический адрес на ether1 (10.42.0.2) и подключаю к нему Raspberry Pi с адресом 10.42.0.1, а затем выдаю

wget http://10.42.0.2:9090 Подключение к 10.42.0.2:9090 ...

Он остается там навсегда. Выполнение этого изнутри мостовой сети маршрутизатора работает нормально (скажем, запрос от 192.168.0.99 до 192.168.0.96:9090). Выполнение этого извне / ether1 через правило NAT ничего не делает, как я описал. Счетчики растут, но пересылки не происходит.

Вот экспорт:

/ ip dhcp-сервер

добавить отключено = нет интерфейса = имя моста = dhcp-мост

/ IP профиль точки доступа

установить [найти по умолчанию = да] html-directory = flash / hotspot

/ IP пул

добавить комментарий = "пул администратора" name = диапазон пула-администратора = 192.168.3.2

/ ip dhcp-сервер

добавить пул адресов = администратор пула отключен = нет интерфейса = время аренды ether5 = 5 мин имя = dhcp-admin

/айпи адрес

добавить адрес = 192.168.0.1 / 24 комментарий = адрес-мост интерфейс = мост сеть = 192.168.0.0

добавить адрес = 10.42.0.2 / 24 interface = ether1 network = 10.42.0.0

добавить адрес = 192.168.3.1 / 24 комментарий = адрес-админ интерфейс = сеть ether5 = 192.168.3.0

/ ip dhcp-клиент

добавить комментарий = defconf dhcp-options = hostname, clientid interface = ether1

/ ip аренда dhcp-сервера

добавить адрес = 192.168.0.96 mac-address = A1: B1: D1: F1: AA: BB server = dhcp-bridge

добавить адрес = 192.168.0.99 mac-адрес = A2: B2: D2: F2: AA: BB server = dhcp-bridge

добавить адрес = 192.168.0.98 mac-адрес = A3: B3: D3: F3: AA: BB server = dhcp-bridge

/ ip сеть dhcp-сервера

добавить адрес = 10.42.0.0 / 24 шлюз = 10.42.0.1 сетевая маска = 24

добавить адрес = 192.168.0.0 / 24 комментарий = шлюз сетевого моста = 192.168.0.1 маска сети = 24

добавить адрес = 192.168.3.0 / 24 comment = network-admin dns-none = yes gateway = 192.168.3.1 netmask = 24

/ IP DNS

установить allow-remote-requests = да

/ ip dns static

добавить адрес = 192.168.0.1 имя = router.lan

/ ip настройки обнаружения соседа

установить список-интерфейс-обнаружение = LAN

/ ip фильтр межсетевого экрана

добавить действие = принять цепочку = пересылать dst-port = 9090 список-интерфейсов = протокол WAN = tcp src-port = ""

добавить действие = принять цепочку = входной комментарий = "defconf: принять установленное, связанное, неотслеживаемое" состояние соединения = установлено, связанное, неотслеживаемое

add action = drop chain = input comment = "defconf: drop invalid" состояние соединения = недопустимое

добавить действие = принять цепочку = входной комментарий = "defconf: принять ICMP" протокол = icmp

add action = drop chain = input comment = "defconf: отбросить все, что не поступает из LAN" in-interface-list =! LAN

добавить действие = accept chain = forward comment = "defconf: accept in ipsec policy" ipsec-policy = in, ipsec

добавить действие = accept chain = forward comment = "defconf: принять политику ipsec" ipsec-policy = out, ipsec

добавить действие = цепочка соединений fasttrack = forward comment = "defconf: fasttrack" состояние соединения = установлено, связанное

добавить действие = принять цепочку = вперед комментарий = "defconf: принять установленное, связанное, неотслеживаемое" состояние соединения = установлено, связано, не отслеживается

add action = drop chain = forward comment = "defconf: drop invalid" состояние соединения = недопустимое

add action = drop chain = forward comment = "defconf: отбросить все из WAN без DSTNATed" connection-nat-state =! dstnat-состояния-соединения = new in-interface-list = WAN

/ IP брандмауэр нат

добавить действие = dst-nat chain = dstnat dst-port = 9090 in-interface = ether1 log = yes protocol = tcp to-addresses = 192.168.0.96 to-ports = 9090

add action = masquerade chain = srcnat comment = "defconf: masquerade" log = yes out-interface-list = WAN