Не работает проброс портов

Обсуждение ПО и его настройки
Ответить
Zx
Сообщения: 4
Зарегистрирован: 04 июл 2020, 13:38

Добрый день! Прошу помощи с проблемой, борюсь уже пару дней.
Есть Mikrotik hap (rb951ui-2nd) с RouterOS 6.47.
Ether1 - wan, смотрит к провайдеру, там статический белый IP.
К Ether5 подключен видеорегистратор RVI с рабочими портами 8080,554,37777 и 37778. Регистратор доступен в локальной сети через браузер по 192.168.1.108:8080

Собственно, задача:
Реализовать доступ из интернета к регистратору (не столько важен веб-интерфейс, сколько остальные порты, но проверять удобнее всего именно его).
Проблема: не получается :) При обращении из интернета по адресу внешнийip:8080 ответ не приходит, но счётчик пакетов NAT и Filter rules на микротике растёт, да и в логах появляется запись о срабатывании нат правила:

Код: Выделить всё

Time    Jul/04/2020 13:19:21
Buffer    memory
Topics firewall info
Message    dvr dstnat: in:ether1 out:(unknown 0), src-mac 00:04:96:::**, proto TCP (SYN), мойip:9576->внешнийip:8080, len 52

Подскажите пожалуйста, в чём проблема может быть? Сам прочитал кучу веток и не допёр. Все правила с дропами отключал, это не помогало.

Правила вот:

Код: Выделить всё

/ip firewall filter
add action=accept chain=forward dst-address=192.168.1.0/24 dst-port=8080 protocol=tcp
add action=drop chain=forward comment="drop from guest network to private" dst-address=192.168.1.0/24 src-address=192.168.89.0/24
add action=accept chain=input comment="defconf: accept established,related,untracked" connection-state=established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=invalid
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=accept chain=input comment="defconf: accept to local loopback (for CAPsMAN)" dst-address=127.0.0.1
add action=drop chain=input comment="defconf: drop all not coming from LAN" in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept in ipsec policy" ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" ipsec-policy=out,ipsec
add action=accept chain=forward comment="defconf: accept established,related, untracked" connection-state=established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid
add action=drop chain=forward comment="defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat connection-state=new in-interface-list=WAN
/ip firewall nat
add action=dst-nat chain=dstnat dst-address=внешнийip dst-port=8080,554,37777,37778 in-interface=all-ethernet log=yes log-prefix=dvr protocol=tcp to-addresses=192.168.1.108
add action=masquerade chain=srcnat comment="defconf: masquerade" ipsec-policy=out,none out-interface-list=WAN


Аватара пользователя
Vlad-2
Модератор
Сообщения: 2531
Зарегистрирован: 08 апр 2016, 19:19
Откуда: Петропавловск-Камчатский (п-ов Камчатка)
Контактная информация:

1) проверяли точно не с этого же канала ?
(то есть надо брать смартфон, отключать вифи, и уже через оператора связи на смартфоне
смотреть через браузер, доступно или нет)

2) У Вас в микротике, локальный адрес задан на порту2 или на бридже.
Проверьте, должен быть на бридже (если конечно есть локальный бридж и в него входит порт5)

Ну и конечно желателен весь конфиг, а не его часть.

P.S.
У провайдера точно белый айпи?



На работе(ах): 2xCCR1016-12G, RB3011UiAS и hAP lite (RB941)
Дома: CCR1016-12G, RBcAP2n (standalone), RB wAP LTE kit
Для тестов(под рукой): RB3011UiAS, hAP mini (RB931) и что-то ещё по мелочи
MTCNA
MTCRE
Zx
Сообщения: 4
Зарегистрирован: 04 июл 2020, 13:38

Vlad-2 писал(а): 04 июл 2020, 18:22 1) проверяли точно не с этого же канала ?
да, всё как вы сказали.
Vlad-2 писал(а): 04 июл 2020, 18:22 2) У Вас в микротике, локальный адрес задан на порту2 или на бридже.
на бридже, я так понимаю
Vlad-2 писал(а): 04 июл 2020, 18:22 Ну и конечно желателен весь конфиг, а не его часть.
Правила минимально подкорректированы относительно первого поста, но так всё равно не работает.
 конфиг
***.***.***.... - внешний ip/шлюз провайдера

Код: Выделить всё

# jul/04/2020 18:42:42 by RouterOS 6.47
# software id = CLK8-D8NP
#
# model = 951Ui-2nD
# serial number = ***
/interface bridge
add admin-mac=64:D1:*** auto-mac=no comment=defconf name=bridge
/interface wireless
set [ find default-name=wlan1 ] band=2ghz-b/g/n channel-width=20/40mhz-XX country=russia disabled=no distance=indoors frequency=auto installation=indoor mode=ap-bridge ssid=office \
    wireless-protocol=802.11
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface wireless security-profiles
set [ find default=yes ] authentication-types=wpa-psk,wpa2-psk mode=dynamic-keys supplicant-identity=MikroTik wpa-pre-shared-key=*** wpa2-pre-shared-key=***
add management-protection=allowed name=guest_free supplicant-identity=MikroTik
/ip hotspot profile
set [ find default=yes ] html-directory=flash/hotspot
/ip pool
add name=dhcp ranges=192.168.1.100-192.168.1.254
add name=dhcp_pool1 ranges=192.168.89.2-192.168.89.254
/ip dhcp-server
add address-pool=dhcp disabled=no interface=bridge name=defconf
add address-pool=dhcp_pool1 disabled=no name=dhcp1
/queue type
add kind=pcq name=down-dyn pcq-classifier=dst-address pcq-dst-address-mask=0 pcq-dst-address6-mask=64 pcq-limit=10000000KiB pcq-src-address-mask=0 pcq-src-address6-mask=64
add kind=pcq name=up-dyn pcq-classifier=src-address pcq-dst-address-mask=0 pcq-dst-address6-mask=64 pcq-limit=10000000KiB pcq-src-address-mask=0 pcq-src-address6-mask=64
/interface bridge port
add bridge=bridge comment=defconf interface=ether2
add bridge=bridge comment=defconf interface=ether3
add bridge=bridge comment=defconf interface=ether4
add bridge=bridge comment=defconf interface=ether5
add bridge=bridge comment=defconf interface=wlan1
/ip neighbor discovery-settings
set discover-interface-list=LAN
/interface list member
add comment=defconf interface=bridge list=LAN
add comment=defconf interface=ether1 list=WAN
/ip address
add address=192.168.1.1/24 comment=defconf interface=ether2 network=192.168.1.0
add address=***.***.***.225/26 interface=ether1 network=***.***.***.192
add address=192.168.89.1/24 comment=guestwifi network=192.168.89.0
/ip arp
add address=192.168.1.11 comment="bar pc" interface=bridge mac-address=54:04:
add address=192.168.1.100 comment="office pc" interface=bridge mac-address=00:22:
add address=192.168.1.108 comment=dvr interface=bridge mac-address=90:02:
add address=192.168.1.101 comment="mikrotik 2nd floor" interface=bridge mac-address=CC:2D:
/ip dhcp-client
add comment=defconf interface=ether1
/ip dhcp-server lease
add address=192.168.1.108 comment=xvr mac-address=40:F4:
/ip dhcp-server network
add address=192.168.1.0/24 comment=defconf gateway=192.168.1.1 netmask=24
add address=192.168.89.0/24 gateway=192.168.89.1
/ip dns
set allow-remote-requests=yes servers=92.62.49.2,92.62.49.6
/ip dns static
add address=192.168.1.1 comment=defconf name=router.lan type=A
/ip firewall filter
add action=accept chain=input disabled=yes dst-port=80 protocol=tcp
add action=accept chain=forward dst-port=8080 log=yes log-prefix=rule protocol=tcp
add action=accept chain=forward dst-address=192.168.1.108 dst-port=8080,554,37777,37778 in-interface=all-ethernet protocol=tcp
add action=drop chain=forward comment="drop from guest network to private" dst-address=192.168.1.0/24 src-address=192.168.89.0/24
add action=accept chain=input comment="defconf: accept established,related,untracked" connection-state=established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=invalid
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=accept chain=input comment="defconf: accept to local loopback (for CAPsMAN)" dst-address=127.0.0.1
add action=drop chain=input comment="defconf: drop all not coming from LAN" in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept in ipsec policy" ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" ipsec-policy=out,ipsec
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" connection-state=established,related disabled=yes
add action=accept chain=forward comment="defconf: accept established,related, untracked" connection-state=established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid
add action=drop chain=forward comment="defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat connection-state=new in-interface-list=WAN
/ip firewall nat
add action=dst-nat chain=dstnat dst-address=***.***.***.225 dst-port=8080 log=yes log-prefix=dvr protocol=tcp to-addresses=192.168.1.108 to-ports=8080
add action=masquerade chain=srcnat comment="defconf: masquerade" out-interface-list=WAN
/ip route
add distance=1 gateway=***.***.***.193
/queue simple
add max-limit=3M/4M name=all target=*8
/system clock
set time-zone-name=Europe/Moscow
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN
Vlad-2 писал(а): 04 июл 2020, 18:22 У провайдера точно белый айпи?
Да. Если в файрволе открыть 80 порт, микротик доступен из интернета.


rtfm
Сообщения: 54
Зарегистрирован: 24 апр 2020, 14:02

Попробуйте в правиле поменять dst-address=внешнийip на src а лучше вообще убрать это значение, и значение in-interface=all-ethernet поменять на in-interface-list=WAN

Извиняюсь недоглядел. у вас используется action=dst-nat погладите мануал на action=netmap. У меня с ним все работает.


Аватара пользователя
Vlad-2
Модератор
Сообщения: 2531
Зарегистрирован: 08 апр 2016, 19:19
Откуда: Петропавловск-Камчатский (п-ов Камчатка)
Контактная информация:

Zx писал(а): 04 июл 2020, 18:49 на бридже, я так понимаю
А как Вы проверили/поняли?

А по конфигу у Вас вот что:
Zx писал(а): 04 июл 2020, 18:49

Код: Выделить всё

/ip address
add address=192.168.1.1/24 comment=defconf interface=ether2 network=192.168.1.0
Короче, лёгкий итог: я дал рекомендацию, Вы не проверили, ответили, а по факту?
Исправляйте. БРИДЖ должен иметь локальный адрес
Zx писал(а): 04 июл 2020, 18:49 Правила минимально подкорректированы относительно первого поста, но так всё равно не работает.

Код: Выделить всё

/interface wireless
set [ find default-name=wlan1 ] band=2ghz-b/g/n channel-width=20/40mhz-XX country=russia disabled=no distance=indoors frequency=auto installation=indoor mode=ap-bridge ssid=office \
    wireless-protocol=802.11
Скажите, зачем выставлять "старые" стандарты. Поставьте параметр band - 2N-only
Zx писал(а): 04 июл 2020, 18:49

Код: Выделить всё

/interface wireless security-profiles
set [ find default=yes ] authentication-types=wpa-psk,wpa2-psk mode=dynamic-keys supplicant-identity=MikroTik wpa-pre-shared-key=*** wpa2-pre-shared-key=***
add management-protection=allowed name=guest_free supplicant-identity=MikroTik
Тип WPA-PSK давно не используют, зачем Вы активизировали и пароль задали.
ТОЛЬКО WPA2-PSK
Zx писал(а): 04 июл 2020, 18:49

Код: Выделить всё

/ip dhcp-server
add address-pool=dhcp disabled=no interface=bridge name=defconf
add address-pool=dhcp_pool1 disabled=no name=dhcp1
Первый DHCP сервер "сидит" на локальном бридж, это Хорошо,
а второй на чём сидит? Я не могу увидеть и понять?
Zx писал(а): 04 июл 2020, 18:49

Код: Выделить всё

/ip address
add address=192.168.1.1/24 comment=defconf interface=ether2 network=192.168.1.0
add address=***.***.***.225/26 interface=ether1 network=***.***.***.192
add address=192.168.89.1/24 comment=guestwifi network=192.168.89.0
Последний адрес, 89.1 на каком интерфейсе сидит? Тоже не могу понять?
Zx писал(а): 04 июл 2020, 18:49

Код: Выделить всё

/ip dns
set allow-remote-requests=yes servers=92.62.49.2,92.62.49.6
/ip dhcp-server network
add address=192.168.1.0/24 comment=defconf gateway=192.168.1.1 netmask=24
add address=192.168.89.0/24 gateway=192.168.89.1
Вы включит локальный ДНС на микротике (команда set allow-remote-requests=yes),
это означает что микротик будет резолвить имена, но почему Вы параметр
ДНСа не задали в DHCP ? Маска там прописана, шлюз прописана..а дальше?
Что у Вас на компах стоит в качестве ДНСа? Надо до-настроить DHCP и клиенты
будут получать автоматом многие данные. Ещё и точное время.
Zx писал(а): 04 июл 2020, 18:49

Код: Выделить всё

/ip firewall nat
add action=dst-nat chain=dstnat dst-address=***.***.***.225 dst-port=8080 log=yes log-prefix=dvr protocol=tcp to-addresses=192.168.1.108 to-ports=8080
уберите из проброса адрес, который Вы звёздочками замазали, зачем явно задавать адрес,
который у Вас в единственном числе и другого быть не может.
И ещё:
а) адрес 8080 может сам провайдер блокировать (да, у нас Ростелеком на динамических даже 22 порт режет)
==> попробуйте внешний порт сменить на другой.
б) если заработает проброс, то потом, для логики и корректности явно укажите входящий интерфейс,
но подчёркиваю, позже. Первоначально, чем правило общего плана, для тестов лучше.
Zx писал(а): 04 июл 2020, 18:49 Да. Если в файрволе открыть 80 порт, микротик доступен из интернета.
Лучше отключите веб-админку и используйте только винбокс.

P.S.
Ну и если читали форум, хотя слегка сомневаюсь, знаете, что использовать дополнительную
конфигурацию поверх пре-заводского конфига = плохая мера, и часто бывают глюки.
В комментариях я часто вижу слово "defconf" что означает пре-заводские настройки.
Плюс как я вижу по Вашим настройкам - слегка над конфигом поиздевались.
Поэтому в будущем (в самом скором) желательно сделать копию конфига,
очистить роутера и заново мышкой и руками (но смотря в конфиг) настроить.
Поверьте, будет лучше.



На работе(ах): 2xCCR1016-12G, RB3011UiAS и hAP lite (RB941)
Дома: CCR1016-12G, RBcAP2n (standalone), RB wAP LTE kit
Для тестов(под рукой): RB3011UiAS, hAP mini (RB931) и что-то ещё по мелочи
MTCNA
MTCRE
Zx
Сообщения: 4
Зарегистрирован: 04 июл 2020, 13:38

Vlad-2 писал(а): 04 июл 2020, 19:58 А как Вы проверили/поняли?
плохо смотрел
Vlad-2 писал(а): 04 июл 2020, 19:58 Первый DHCP сервер "сидит" на локальном бридж, это Хорошо,
а второй на чём сидит? Я не могу увидеть и понять?
второй отключен. Это был задел на гостевую сетку, но её сделал на другом роутере.
Vlad-2 писал(а): 04 июл 2020, 19:58 Исправляйте. БРИДЖ должен иметь локальный адрес
исправил:

Код: Выделить всё

add address=192.168.1.1/24 interface=bridge network=192.168.1.0
Vlad-2 писал(а): 04 июл 2020, 19:58
Zx писал(а): 04 июл 2020, 18:49

Код: Выделить всё

/ip dns
set allow-remote-requests=yes servers=92.62.49.2,92.62.49.6
/ip dhcp-server network
add address=192.168.1.0/24 comment=defconf gateway=192.168.1.1 netmask=24
add address=192.168.89.0/24 gateway=192.168.89.1
Вы включит локальный ДНС на микротике (команда set allow-remote-requests=yes),
это означает что микротик будет резолвить имена, но почему Вы параметр
ДНСа не задали в DHCP ? Маска там прописана, шлюз прописана..а дальше?
Что у Вас на компах стоит в качестве ДНСа? Надо до-настроить DHCP и клиенты
будут получать автоматом многие данные. Ещё и точное время.
На компах в кач-ве днса а)микротик б)один из днс провайдера

Vlad-2 писал(а): 04 июл 2020, 19:58
Zx писал(а): 04 июл 2020, 18:49

Код: Выделить всё

/ip firewall nat
add action=dst-nat chain=dstnat dst-address=***.***.***.225 dst-port=8080 log=yes log-prefix=dvr protocol=tcp to-addresses=192.168.1.108 to-ports=8080
уберите из проброса адрес, который Вы звёздочками замазали, зачем явно задавать адрес,
который у Вас в единственном числе и другого быть не может.
И ещё:
а) адрес 8080 может сам провайдер блокировать (да, у нас Ростелеком на динамических даже 22 порт режет)
==> попробуйте внешний порт сменить на другой.
dst-address убрал
а) попробовал порт 32345(хотя 80 работает же, а я и его пробовал до этого)


В итоге скорректировал правило и поставил бриджу локальный адрес, но это не помогло.
Не может быть ведь проблема в днс? Мануал по нему пока не открывал, но это, вроде, не про мою ситуацию.
Уже грешу на рег сам, но не может же он только по локалке работать, верно? Врядли он в курсе, откуда запросы прилетают.


Zx
Сообщения: 4
Зарегистрирован: 04 июл 2020, 13:38

Vlad-2 писал(а): 04 июл 2020, 19:58 Ну и если читали форум, хотя слегка сомневаюсь, знаете, что использовать дополнительную
конфигурацию поверх пре-заводского конфига = плохая мера, и часто бывают глюки.
В комментариях я часто вижу слово "defconf" что означает пре-заводские настройки.
Плюс как я вижу по Вашим настройкам - слегка над конфигом поиздевались.
Поэтому в будущем (в самом скором) желательно сделать копию конфига,
очистить роутера и заново мышкой и руками (но смотря в конфиг) настроить.
Поверьте, будет лучше.
Спасибо вам большое за рекомендации, обязательно всё внедрю!

Ошибка была крайне тупая в итоге, и обнаружилась после просмотра мною логов: в ARP был неправильно статически указан мас регистратора.


Ответить