Как сделать доступ «изнутри» по внешнему IP роутера?

Всем доброго времени суток!
Был у меня раньше zyxel keenetic 4g, был он хорош - но слабоват.
Прикупили rb2011uas-2hnd-in
Вроде все правила для NAT настроили так-же как на zyxel, из интернета доступ есть, все хорошо
Одна беда:
Раньше можно было обращаться к машине, допустим 10.10.1.2, (в локалке) по внешнему ip и соответственно проброшенному порту
Примерно так:
подключаюсь к ftp
ftp://user:pass@xxxx.xxxx.xxxx.xxxx:1021
порт 1021 проброшен на машину 10.10.1.2, и видимо пакеты шедшие в интернет разворачивались в роутере и дальше шли по правилам NAT приходя на нужную машину.

С приходом кинетика такой трюк не удается :)

Думается мне, что нужно создать какое-то еще правило...
Поигравшись с src-nat и dst-nat решил, что своего опыта пока маловато :)
  • Вопрос задан
  • 6205 просмотров
Решения вопроса 1
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
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы