Ответы пользователя по тегу Сетевое администрирование
  • Как сделать доступ "изнутри" по внешнему IP роутера?

    bevice
    @bevice
    А все просто:
    например у вас клиент 10.10.1.3 пытает подключить через роутер
    На роутер пакет приходит вида src: 10.10.1.3 dst: WAN_IP dport 1021

    /ip firewall nat chain=dstnat  action=dst-nat to-addresses=10.10.1.2 protocol=tcp dst-port=1021 dst-address=WAN_IP

    - это правило, наверное уже есть (обратите внимание пакеты фильтруются только по адресу назначения, протоколу и порту, у вас может быть еще по интерфесу - это следует убрать)
    после него пакет будет вида src: 10.10.1.3 dst: 10.10.1.2 и с роутера успешно уйдет по назначению, там обработается и вернется на src (т.е. 10.10.1.3), но клиент-то ждет обратно пакет от роутера, ну и сбросит его как хлам, поэтому надо чтобы на выходе с роутера был пакет с src-адресом роутера, тогда роутер завернет его в нат и вернет клиенту.

    соответственно поможет маркировка
    /ip firewall mangle add chain=prerouting action=mark-packet new-packet-mark=1 protocol=tcp src-address=10.10.1.0/24 dst-address=WAN_IP dst-port=1021
    это правило выполнится до DNAT и пометит нужные пакет соединения
    А дальше мухлюем с адресами
    /ip firewall nat add chain=dstnat action=dst-nat to-addresses=10.10.1.2 packet-mark=1 
    /ip firewall nat add chain=srcnat action=src-nat to-addresses=LAN_IP packet-mark=1

    WAN_IP - это внешний адрес роутера,
    LAN_IP - это его внутренний адрес
    Ответ написан
    1 комментарий