Автор Тема: Mikrotik NAT: Не работает проброс SSH (и не только)  (Прочитано 4060 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Gekko

  • Постоялец
  • ***
  • Сообщений: 379
  • Рейтинг: 1
    • Просмотр профиля
  • Откуда: UTC+3
Странное поведение микротика при попытке пробросить порт для SSH на сервер. Вот вводные
Микротик 941-2nD. Прошивка версии 6.43.4.
При добавлении правила NAT для проброса SSH на сервер 192.168.111.101 подключение не происходит, хотя правило в NAT отсчитывает счетчик попыток подключения. Далее совсем интересно: при подключении с самого микротика на этот же сервер SSH работает - заходишь Tools-> Telnet -> SSH... адрес...  ОК.
Попробовал настроить проброс 81ого hhtps порта до веб-интерфейса этого же сервера - тоже не работает. Из локалки все работает: и SSH и веб-рожа. Застревание происходит где то после обработки nat.


Цитировать
[admin@Mikrotik] > ip firewall filter print
Flags: X - disabled, I - invalid, D - dynamic
 0  D ;;; special dummy rule to show fasttrack counters
      chain=forward action=passthrough

 1    ;;; defconf: fasttrack
      chain=forward action=fasttrack-connection connection-state=established,related

 2    ;;; defconf: accept established,related, untracked
      chain=forward action=accept connection-state=established,related,untracked

 3    ;;; defconf: drop invalid
      chain=forward action=drop connection-state=invalid log=no log-prefix=""

 4    ;;; Remote control
      chain=input action=accept protocol=tcp dst-port=80 log=no log-prefix=""

 5    chain=input action=accept protocol=tcp dst-port=8291 log=no log-prefix=""

 6    chain=input action=accept protocol=tcp dst-port=81 log=no log-prefix=""               (<--  не обращайте внимания - это я рыбу заворачивал.)

 7    ;;; accept SNMP
      chain=input action=accept protocol=udp dst-port=161 log=no log-prefix=""

 8    ;;; defconf: accept ICMP
      chain=input action=accept protocol=icmp

 9 X  ;;; defconf: drop all not coming from LAN
      chain=input action=drop in-interface-list=!LAN log=no log-prefix=""

10    ;;; defconf: accept in ipsec policy
      chain=forward action=accept ipsec-policy=in,ipsec

11    ;;; defconf: accept out ipsec policy
      chain=forward action=accept ipsec-policy=out,ipsec

12    ;;; defconf: drop invalid
      chain=input action=drop connection-state=invalid log=no log-prefix=""

13 X  ;;; defconf:  drop all from WAN not DSTNATed                                                                           ( отключил, поскольку за роутером все равно другая локалка,
      chain=forward action=drop connection-state=new connection-nat-state=!dstnat                               а некоторые службы через это правило пролезть не могут)
      in-interface-list=WAN log=no log-prefix=""

14    ;;; defconf: accept established,related,untracked
      chain=input action=accept connection-state=established,related,untracked log=no
      log-prefix=""


Что еще забыл?... Сам нат:
Цитировать
[admin@Mikrotik] > ip firewall nat export
# oct/19/2018 13:51:35 by RouterOS 6.43.4
# software id = MCCW-QVTI
#
# model = RouterBOARD 941-2nD
# serial number = 6B2C06B2B96E
/ip firewall nat
add action=netmap chain=dstnat comment="ClearOS WEB interface" dst-port=8081 in-interface=ether1 \
    protocol=tcp to-addresses=192.168.110.101 to-ports=81
add action=netmap chain=dstnat comment="SSH ClearOS" dst-port=8022 in-interface=ether1 log=yes \
    protocol=tcp to-addresses=192.168.110.101 to-ports=22
add action=masquerade chain=srcnat comment="defconf: masquerade" ipsec-policy=out,none \
    out-interface-list=WAN



Что еще проверить - не знаю. За микротиком только 3СОМ свич с дефолтным вланом и больше ничего (в смысле - ничего особенного, а так - одноранговая сетка, с пол дюжины компов и сервер).





Updated: 19 October 2018, 14:22:37

Два вопроса по ходу параходу:
1) Судя по схеме прохождения пакета, нат обрабатывается в "прероутинг" и далее уходит минуя всяческие правила файрвола. Или его дальше тащит по всем правилам "форвард" и "построутинг", пока он не споткнется обо что нибудь?
2) Второй вопрос касается логирования данной ситуации: как посмотреть подробнейший лог пакетов? Есть ли возможность по какому нибудь критерию зацепиться за этот трафик и отследить пошагово - а куда это собственно он уходит и где застриёт? В общем нужна либо возможность детализировать лог или как то сниферить пакеты прямо внутри цепочек микротика... Звучит бредово, но вдруг есть какой нибудь инструментарий?


Updated: 19 October 2018, 16:53:43

PS А вот когда попробовал прокинуть порт RDP до другого сервера в локалке - получилось. Надо смотреть iptables на этом "молчаливом" сервере.
« Последнее редактирование: 19 октября 2018, 16:53:43 от Gekko »
Зеленка понижает IQ всего IT подразделения. Не начинайте читать зеленку.