Проброс одинаковых портов на разные ip

Тема в разделе "Маршрутизация", создана пользователем IGROKIP, 18 май 2016.

  1. IGROKIP

    IGROKIP Новый участник

    Доброго времени суток, есть задача пробросить порт и получить ответ с нужного сервера. Есть один внешний адрес на который обращаются с разным портами, необходимо выполнить проброс на одинаковый порт, но на разные ip серверов и получить ответ с нужного. С статье Ильи NAT. Часть 3 , описано нечто похожее , но на разных внешних адресах. Буду очень благодарен за помощь!
     
    Последнее редактирование модератором: 23 янв 2019
  2. Илья Князев

    Илья Князев Администратор Команда форума

    Я правильно понимаю, что вы снаружи используете разные порты, а внутри разные сервера с одним и тем же портом?
    Тогда так
    Код:
    /ip firewall nat 
    add action=dst-nat chain=dstnat dst-port=80 in-interface=WAN protocol=tcp \
    to-addresses=192.168.1.2 to-ports=80
    add action=dst-nat chain=dstnat dst-port=81 in-interface=WAN protocol=tcp \
    to-addresses=192.168.1.3 to-ports=80 
    Т.е. если снаружи постучаться в 80 порт, попадем на 192.168.1.2 порт 80, если постучаться на 81 порт - попадем на 192.168.1.3 порт 80...
     
  3. IGROKIP

    IGROKIP Новый участник

    Да именно так я и сделал, но я так понимаю сервер не знает куда отвечать после проброса, т.к. дальше необходимо работать с 9443 портом.
    мой конфиг :
    /ip firewall nat
    add action=dst-nat chain=dstnat dst-port=9444 in-interface="bridge vlan 111" \
    protocol=tcp to-addresses=192.168.22.93 to-ports=9443
    add action=dst-nat chain=dstnat dst-port=9445 in-interface="bridge vlan 111" \
    protocol=tcp to-addresses=192.168.22.92 to-ports=9443
     
  4. Илья Князев

    Илья Князев Администратор Команда форума

    Скорее или файрволл на сервере или маскарад/файрволл на микротике или сетевые настройки
    Сервер будет отвечать с порта 9443 на свой Default Gateway.
     
  5. IGROKIP

    IGROKIP Новый участник

    Спасибо буду проверять
     
  6. IGROKIP

    IGROKIP Новый участник

    Было замечено , что если правило вот такое:
    add action=dst-nat chain=dstnat dst-port=9445,9443 in-interface=\
    "bridge vlan 111" protocol=tcp to-addresses=192.168.22.93 to-ports=9443

    То все работает, но в таком случае будет отвечать только один сервер.
     
  7. IGROKIP

    IGROKIP Новый участник

    при этом в адресной строке сервер остается микротик , а порт меняется 9443, хотя запрос был на порт 9445
     
  8. IGROKIP

    IGROKIP Новый участник

    Спасибо большое , решил через web proxy и static DNS по аналогии статьи на WIKI
     
  9. Илья Князев

    Илья Князев Администратор Команда форума

    Дайте /ip firewall nat export
     
  10. IGROKIP

    IGROKIP Новый участник

    /ip firewall nat
    add action=masquerade chain=srcnat out-interface=ether1 src-address=\
    192.168.111.0/24
    add action=dst-nat chain=dstnat dst-address=192.168.22.55 dst-port=9445,9443 \
    in-interface="bridge vlan 111" protocol=tcp to-addresses=192.168.22.93 \
    to-ports=9443
    add action=dst-nat chain=dstnat dst-address=192.168.22.55 dst-port=9446,9443 \
    in-interface="bridge vlan 111" protocol=tcp to-addresses=192.168.22.98 \
    to-ports=9443
    add action=redirect chain=dstnat dst-address=192.168.22.55 dst-port=80 \
    in-interface="bridge vlan 111" protocol=tcp to-ports=8080
     
  11. Илья Князев

    Илья Князев Администратор Команда форума

    Код:
    add action=dst-nat chain=dstnat dst-address=192.168.22.55 dst-port=9445,9443 \
    in-interface="bridge vlan 111" protocol=tcp to-addresses=192.168.22.93 \
    to-ports=9443
    add action=dst-nat chain=dstnat dst-address=192.168.22.55 dst-port=9446,9443 \
    in-interface="bridge vlan 111" protocol=tcp to-addresses=192.168.22.98 \
    to-ports=9443
    Вы дважды пробрасываете порт 9443 снаружи. При этом будет работать только первое правило.
    Так же непонятно, у вас явно внешний интерфейс Ehter1, а пробрасываете вы трафик с "bridge vlan 111".
     
  12. IGROKIP

    IGROKIP Новый участник

    да да вот этом и проблема, что если не указать порт 9443 , то ответа от сервера нет, но правило отрабатывает только первое, т.е. один сервер , как я и говорил в коментарии №6.
    А правило маскарада , для 111-ой подсети. Запросы действительно все поступают с "bridge vlan 111"
     
  13. Илья Князев

    Илья Князев Администратор Команда форума

    Я правильно понимаю что у вас адреса в одной сети?
    add action=dst-nat chain=dstnat dst-address=192.168.22.55 dst-port=9445,9443 \
    in-interface="bridge vlan 111" protocol=tcp to-addresses=192.168.22.93 \
    to-ports=9443
     
  14. IGROKIP

    IGROKIP Новый участник

    Совершенно верно! Это тестовая апробация.
     
  15. Илья Князев

    Илья Князев Администратор Команда форума

    Тогда у вас NAT не будет работать. Хосты общаются напрямую.
     
  16. IGROKIP

    IGROKIP Новый участник

    изменил dst-address , но к сожалению результата тоже нет.
    /ip firewall nat
    add action=masquerade chain=srcnat out-interface=ether1 src-address=192.168.111.0/24
    add action=dst-nat chain=dstnat dst-address=192.168.111.1 dst-port=9081 in-interface="bridge vlan 111" protocol=tcp \
    to-addresses=192.168.22.93 to-ports=9443
    Остается только вариант с реверс-прокси.
     
  17. Илья Князев

    Илья Князев Администратор Команда форума

    Вам нужно чтобы трафик пришел на роутер. Счетчики на правилах срабатывают?
     
  18. IGROKIP

    IGROKIP Новый участник

    счетчики срабатывают, пакеты бегают
     
  19. Илья Князев

    Илья Князев Администратор Команда форума

    Так. Давайте конфу роутера (команда /export) и схему сети.
     
  20. IGROKIP

    IGROKIP Новый участник

    Спасибо Илья , на серверах изменили шлюз и все завелось.