Информация
Настройка
Новости
Контакты
Новинка
Распродажа
Оплата
Доставка
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • Changelogs
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    RouterOS
    Маршрутизация запросов из локальной сети обратно в локальную сеть.

    Маршрутизация запросов из локальной сети обратно в локальную сеть.

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Маршрутизация запросов из локальной сети обратно в локальную сеть., RouterOS
     
    Andys
    Guest
    #1
    0
    04.08.2012 07:35:00
    Привет! Я пока ещё осваиваю основы, всё настроено для домашней конфигурации, но есть одна проблема, которую я сам решить не могу. У меня RB751G-2HnD, подключение к интернету настроено через PPTP-клиента на самом роутере. Внешний IP динамически назначается интерфейсу PPTP. У меня есть скрипт dyndns, который отлично и корректно обновляет моё доменное имя третьего уровня dyndns. Порт 80 перенаправлен на внутренний веб-сервер, всё работает нормально, если я получаю доступ к нему из интернета (пробовал веб-прокси и Tor для проверки). Теперь я хочу, чтобы запросы к внешнему IP из локальной сети маршрутизировались обратно к моему веб-серверу, как будто они пришли из интернета. Как это: HTTP-запрос приходит из локальной сети (bridge-local), а целевой IP-адрес назначен внешнему интерфейсу роутера. Я хочу, чтобы этот пакет был передан на IP, расположенный внутри локальной сети. Внешний IP (целевой) динамический, поэтому я не могу использовать его в каких-либо правилах брандмауэра. Я понимаю, что могу просто добавить локальный IP веб-сервера в статические DNS-хосты и получить доступ к нему по доменному имени, но я хотел бы использовать внешний IP (для единообразия).
     
     
     
    hassibi
    Guest
    #2
    0
    06.08.2012 07:54:00
    Привет, думаю, если ты используешь dst-nat для доступа твоих локальных клиентов к твоему WAN IP-адресу, твоя проблема решится. Проверь это..
     
     
     
    Andys
    Guest
    #3
    0
    06.08.2012 08:20:00
    У этого два бага - добавление chain=dstnat protocol=tcp dst-port=80 action=dst-nat to-address=192.168.1.2 (то же самое, что и правило переадресации порта, но без in-interface) не работает. Браузер не может получить страницу, и логи Apache не показывают никаких запросов. Если бы это правило работало, мне пришлось бы добавить фильтр, чтобы игнорировать мои обычные исходящие запросы в Интернет. Именно это правило фильтрации меня беспокоит (мой внешний IP динамический).
     
     
     
    hassibi
    Guest
    #4
    0
    06.08.2012 15:59:00
    Пришли схему своей сети и напиши, что именно тебе нужно, тогда я смогу помочь тебе лучше.
     
     
     
    Andys
    Guest
    #5
    0
    06.08.2012 16:32:00
    Мой интернет-канал – Pptp-соединение. Ext lan нужен лишь для обеспечения пути к pptp-серверу провайдера. Домен myserv.dyndns.org назначен на IP-адрес этого pptp-интерфейса (обновляется через скрипт dyndns). На RB715G есть правило брандмауэра `/ip firewall nat chain=dstnat action=dst-nat to-addresses=192.168.1.2 protocol=tcp in-interface=pptp-out1 dst-port=80` для переадресации порта. Это правило работает отлично, но только если запрос соединения приходит с pptp-интерфейса (напрямую из интернета). Теперь я хочу, чтобы моя машина с веб-сервером (или любой клиент во внутренней LAN 192.168.1.0) могла получить доступ к тому же веб-сайту (myserv.dyndns.org). И сделать это без статических записей хостов или dns, подключаясь к точному внешнему IP-адресу. Что-то вроде того, как – клиент запрашивает соединение с myserv.dyndns.org, запрос приходит к роутеру, он замечает, что запрос предназначен для IP-адреса, назначенного его собственному локальному интерфейсу, соединение прозрачно переадресовывается к конечному пункту правила (внутренний веб-сервер, согласно правилу). Клиент думает, что он подключается к какому-то внешнему IP-адресу, а не к 192.168.1.2.

    P.S. Физически это возможно, поскольку мой старый роутер ASUS так себя вел сразу после того, как я настроил переадресацию порта 80.
     
     
     
    neticted
    Guest
    #6
    0
    07.08.2012 06:17:00
    Ты не можешь перенаправить трафик обратно на тот же интерфейс, через который он вошел в роутер. Но можно создать отдельную локальную сеть для сервера, с другим диапазоном IP-адресов и подключить ее к отдельному интерфейсу, а затем уже перенаправлять туда.
     
     
     
    Andys
    Guest
    #7
    0
    07.08.2012 07:42:00
    Ну и почему бы нет? RRAS в Windows мог бы это сделать, мой старый роутер Asus тоже мог. RouterOS намного лучше этих, и не может выполнять ту же задачу? Ну, даже если я сделаю так – какое именно правило будет фильтровать запросы к внутреннему веб-серверу от запросов к веб-сайтам в интернете? Мой внешний IP динамический. //обновление. Оказывается, это возможно. Подумав логически, я создал два правила: chain=dstnat action=dst-nat to-addresses=192.168.1.2 protocol=tcp dst-address= dst-port=80 chain=srcnat action=masquerade protocol=tcp src-address=192.168.1.0/24 out-interface=bridge-local dst-port=80. В общем, я сделал NAT всех запросов, которые приходят с внутренних IP-адресов и идут во внутреннюю сеть. Теперь осталось только понять, как избавиться от 'dst-address=' в первом правиле. Я думаю, можно переписать правило, используя тот же скрипт dyndns, который я уже использую. Он будет обновлять его текущим внешним IP. Но может быть, есть лучшее решение без скриптов? Например, установить 'dst-address = ‘any_local’ ? Возможно ли такое правило в ROS? И похоже, что я не могу напрямую использовать глобальные переменные внутри правил файрвола. Эх, жаль.
     
     
     
    RomelSan
    Guest
    #8
    0
    07.08.2012 21:36:00
    Отличный вопрос. Обычно для навигации по серверу используют локальное имя или локальный IP-адрес сервера + порт. И если нужно просто проверить соединение (без логина), то использование внешнего прокси, TOR или VPN вполне нормально. Но в вашем случае установленное вами правило заставит Mikrotik OS разрешить dyndns IP… Для решения читайте и используйте небольшой скрипт с: http://wiki.mikrotik.com/wiki/Use_host_names_in_firewall_rules У меня, к примеру, Synology NAS как этот. Если найдёте другой способ без скриптов, то дайте знать в этом посте. Всего доброго!
     
     
     
    ditonet
    Guest
    #9
    0
    08.08.2012 17:04:00
    @Andys Следуй этому примеру: http://wiki.mikrotik.com/wiki/Hairpin_NAT, и используй свой DynDNS-скрипт, чтобы заменить ‘1.1.1.1’ из примера выше на разрешенный адрес ‘myserv.dyndns.org’. Надеюсь, поможет.
     
     
     
    satman1w
    Guest
    #10
    0
    02.10.2012 09:42:00
    Статью написал пользователь “Fewi”, и раз я не знаю другого способа отметить его вклад, сделаю это здесь! Fewi, отличная и очень полезная статья!! Спасибо
     
     
     
    sam9s
    Guest
    #11
    0
    02.07.2017 21:40:00
    Всем привет, искренне извиняюсь за то, что поднимаю старую тему, но я АБСОЛЮТНО в такой же ситуации, и ни один из скриптов, которые я пробовал, для меня не работает. Вот моя текущая ситуация. Мой модем работает по pppoe и настроен как bridge. MT роутер правильно настроен для подключения по pppoe. (Интернет работает). Мне удалось настроить правила брандмауэра для моего NAS и я смог получить к нему доступ через DDNS из Интернета (поначалу). Я поискал больше информации и наткнулся на эту тему и с помощью предоставленных здесь советов смог настроить маршрутизацию с LAN обратно в LAN, и теперь я МОГУ получить доступ к моему NAS через DDNS из LAN. Далее была задача обновить публичный IP, так как в Firewall-NAT dst-Address — это мой публичный динамический IP, и я хочу убедиться, что если он изменится, DDNS будет продолжать работать правильно. Вот тут я застрял и потратил 3-4 часа, чтобы запустить скрипт и добиться желаемого результата. Согласно этой теме, я следовал туториалу, написанному на https://wiki.mikrotik.com/wiki/Use_host_names_in_firewall_rules.

    a. Шаг один :: /ip firewall address-list add address=0.0.0.0 comment=sam9s.synology.me list=host_synology — это добавляет запись под firewall->adress list.
    b. Шаг два :: /ip firewall filter add chain=ouput dst-address-list=host_synology action=accept — это добавляет запись под firewall->filter.

    Теперь, когда я запускаю скрипт, который там размещен… НИЧЕГО не происходит… адрес под Firewall->Address Lists все еще просто 0.0.0.0. Исправьте меня, если я не прав, но когда скрипт запускается, 0.0.0.0 должно измениться на мой публичный IP, верно? Но этого не происходит. Я пробовал другие скрипты, но ничего не работает, может быть, я что-то упускаю. Могу ли я попросить "гуру" ПОМОЧЬ мне здесь? Я уже несколько часов кручусь на месте без успеха.

    С уважением,
    Sammy
     
     
     
    Sob
    Guest
    #12
    0
    03.07.2017 00:52:00
    Тебе не нужен скрипт, можно просто сделать: /ip firewall address-list
    add address=sam9s.synology.me list=host_synology. Если у тебя нет какой-то совсем старой версии RouterOS, то обновись. И не откапывай такие старые темы. Представляешь, сколько людей откроют её, начнут читать с самого начала, подумают над проблемой… чтобы через несколько минут понять, что это всё просто история? Если тебе кажется, что старая тема актуальна, лучше просто дай ссылку на неё из своей.
     
     
     
    sam9s
    Guest
    #13
    0
    03.07.2017 08:17:00
    Окей, сделано. Можешь объяснить, как этот шаг помогает, когда мой публичный IP меняется, под NAT -> Dst Address, где я сделал LAN обратно в LAN-конфиг, отразится ли там автоматически измененный публичный IP? Если да, то для чего этот скрипт? (Тот, что я присылал?) ROS последняя, как я понимаю, Winbox v6.39.2. И не выкапывай такие старые темы, знаешь же, сколько людей откроют её, начнут читать от начала, думать над проблемой… только чтобы через несколько минут поняли, что это всё просто история? Если старая тема тебе кажется важной, лучше просто дай ссылку на неё из своей. Понял. Буду создавать новые темы отсюда и далее и буду давать ссылки на любые нужные старые, если потребуется. Извини за это на этот раз.
     
     
     
    karlisi
    Guest
    #14
    0
    03.07.2017 08:30:00
    Вам нужно добавить запись в список адресов точно так, как сказано, используя DNS-имя, а не IP-адрес /ip firewall address-list.
    add address=sam9s.synology.me list=host_synology. Если роутер имеет правильные DNS-записи (IP → DNS), он разрешит IP-адрес и добавит их в эту запись. Тогда адресный список будет работать корректно.
     
     
     
    sam9s
    Guest
    #15
    0
    03.07.2017 09:19:00
    Ладно, и что считать корректными DNS? Я ничего там не менял, так что записи там по умолчанию… ниже прикладываю, что у меня сейчас. Не понимаю, почему там 192.168.1.1, это не IP моего роутера. IP роутера у меня 192.168.88.1.
     
     
     
    w177f
    Guest
    #16
    0
    03.07.2017 11:57:00
    Привет! А есть какая-то конкретная причина использовать hairpin NAT? Лично у меня в локальных DNS-серверах есть записи, чтобы разрешать соответствующие FQDN в их LAN-адреса.
     
     
     
    sam9s
    Guest
    #17
    0
    03.07.2017 17:05:00
    Нет, никакой конкретной причины не было. Если бы был другой способ это сделать, который кто-то предложил до того, как я начал этот поток, я бы выбрал его, но в любом случае, этот вопрос был решен. Однако это была только первая часть всей проблемы. (Если вы прочитали мои сообщения) Теперь вторая часть заключалась в том, чтобы иметь возможность обновлять Firewall-NAT dst-Address по моему публичному IP, если он меняется, и я подумал, что скрипт - решение, но, согласно SOB "“”“”/ip firewall address-list add address=sam9s.synology.me list=host_synology"“”“” запуск этого решит проблему, что я и сделал. НО я просто хотел понять, КАК это помогает, и когда мой публичный IP меняется, в NAT -> Dst Address, где я сделал настройку LAN обратно в LAN, будет ли это автоматически отражать измененный публичный IP??? ЕСЛИ ДА, то какова роль скрипта, о котором я упоминал, что он делает? Затем последовал ответ, что если у меня есть правильный DNS, то команда"“”“”“”“”“”“” “ip firewall address-list add address=sam9s.synology.me list=host_synology”“”“”“”“”“”’ будет работать корректно… НО я не уверен, что значит "правильный DNS", ведь можно использовать даже DNS от Google для достижения результата. Прилагаю скриншот моих настроек DNS. Жду любого ответа от тех, кто писал в ответ на мой вопрос на предыдущей странице, чтобы лучше понять, как это работает… Но ответа пока не получил.
     
     
     
    w177f
    Guest
    #18
    0
    03.07.2017 18:41:00
    Прошу прощения, если был немного краток. Когда я сказал, что можно просто использовать локальный DNS, я имел в виду это вместо всего, что касается hairpin NAT. Сейчас я не уверен, у вас ли что-то работает с hairpin NAT, и просто хотел бы получить подробное объяснение, или вы все еще пытаетесь заставить все работать для вашего случая использования. Сосредоточимся на вашем сценарии и приведем все в рабочее состояние (прошу прощения, если следующее объяснение покажется вам повторением): Ваша Synology может видеть ваш публичный IP, запрашивая серверы Synology, они затем обновляют свои name servers для synology.me, чтобы записать соответствующий IP для sam9s.synology.me, и вот – WAN-доступ к sam9s.synology.me разрешается к вашему WAN IP. На стороне LAN, если добавить статическую запись в ваш DNServer для разрешения sam9s.synology.me к LAN-адресу Synology, ваши устройства будут напрямую общаться с Synology, когда находятся в локальной сети. Важно отметить в этом сценарии, что у вас должна быть соответствующая запись для sam9s.synology.me на всех DNServer, которые обслуживают вашу сеть, или если Mikrotik является единственным DNServer в вашей сети, вы не говорите вашим ПК также использовать Google через ваш DHCP-сервер или локальную статическую запись. Если вы хотите, чтобы я подробно рассказал о том, как на самом деле работает Hairpin NAT и зачем он нужен, напишите мне в личку, так как, по моему мнению, использование DNS – это простой и понятный подход для новичков. #DNS #HairpinNAT #Synology #Networking
     
     
     
    Sob
    Guest
    #19
    0
    04.07.2017 00:03:00
    Я перечитал это снова и немного запутался в скрипте разрешения домена. То, что я предложил, заменяло бы только эту часть. На самом деле, DNS-разрешение вам вообще не нужно (ну, возможно, смотрите ниже). У вас есть два варианта:

    а) Используйте hairpin NAT. Пример предполагает, что ваша локальная сеть — 192.168.88.0/24, роутер — 192.168.88.1, внутренний сервер — 192.168.88.100, и вы хотите перенаправить TCP-порт 80. Замените это на свои цифры. Сначала добавьте правило dstnat: `/ip firewall nat`
    `add action=dst-nat chain=dstnat dst-address-type=local dst-address=!192.168.88.1 dst-port=80 protocol=tcp to-addresses=192.168.88.100`
    Оно будет соответствовать соединениям к порту 80 и любому адресу, принадлежащему роутеру, за исключением его внутреннего (так что вы все равно сможете получить доступ к WebFig по адресу http://192.168.88.1, если вы его используете). Затем добавьте правило srcnat для hairpin NAT: `/ip firewall nat`
    `add action=masquerade chain=srcnat dst-address=192.168.88.0/24 out-interface=<LAN> src-address=192.168.88.0/24`
    Это универсальное правило, которое будет работать со всеми перенаправленными портами. И, наконец, разрешите перенаправленные порты через файрвол роутера: `/ip firewall filter`
    `add action=accept chain=forward connection-nat-state=dstnat`

    б) Используйте DNS, как предлагает w177f: `/ip dns static`
    `add address=192.168.88.100 name=sam9s.synology.me`
    Вашим устройствам в локальной сети нужно использовать роутер в качестве DNS-разрешателя, и благодаря этому, при переходе по адресу http://sam9s.synology.me, они будут подключаться напрямую к внутреннему адресу.

    У каждого способа есть свои преимущества и недостатки: использование статического DNS кажется проще на первый взгляд. Оно также лучше для производительности, потому что пакеты не нужно отправлять на роутер и обратно, они идут напрямую к серверу. Но есть некоторые ограничения, например, подключите устройство со статически настроенным DNS-разрешателем к чему-то, отличному от вашего роутера, и оно не будет работать. Если вы укажете больше доменных имен, потребуется статическая запись для каждого. И вам придется следить за изменениями (если вы добавите или удалите доменные имена). Но, вероятно, можно с уверенностью предположить, что это не будет проблемой в вашем случае. Оно также не позволяет подключения к числовому адресу, потому что вы не можете перенаправить его с помощью DNS. Hairpin NAT — это "настрой и забудь", оно будет автоматически работать с любым доменным именем, указанным на ваш текущий WAN-адрес. Но оно менее эффективно, как упоминалось ранее. Но это проблема только при большом объеме трафика.
     
     
     
    sam9s
    Guest
    #20
    0
    04.07.2017 11:24:00
    Окей, похоже, я усложнил свои сообщения. Прошу прощения, SOB и другие. Давайте я изложу всё проще. Hairpin NAT работает (поэтому я остаюсь на нём, а не выбираю статический DNS): Я МОГУ получить доступ к sam9s.synology.me как из локальной сети, так и из внешней сети. (Раньше я мог это делать только из внешней сети, после настройки правил переадресации портов и всего остального). Затем, после настройки Hairpin NAT, я смог получить доступ к своему NAS по FQDN как из локальной сети, так и из внешней. Проблема решена. SOB, ваше предположение, что вы написали, верно. И как вы и сказали, Hairpin NAT - это "настрой и забудь", и я теперь чувствую себя комфортно, теперь что я понимаю, как это работает.

    Теперь о ПРОБЛЕМЕ: При настройке Hairpin NAT, когда я применил правило, в таблице Firewal->NAT была создана запись (что и ожидалось). См. скриншот ниже. Как видите, там мой публичный IP-адрес (не беспокойтесь, это не текущий публичный IP-адрес). Моя проблема в том, что когда публичный IP-адрес меняется, IP-адрес под Dst Address тоже должен меняться. Посмотрите ещё один скриншот. Если вы увидите под ip->CLOUD, я вижу свой ТЕКУЩИЙ публичный IP-адрес (я его замаскировал). Это НЕ то же самое под IP->Firewal->NAT->Dst Address, где я настроил HairPIN NAT. Если это не будет обновляться автоматически, HairPIN NAT не будет работать, и так и происходит... Мне нужно решение, чтобы автоматически обновлять мой публичный IP-адрес @ IP->Firewal->NAT-> Dst Address при его изменении. И я думал, что скрипт, который я изначально поделил в этой ветке, должен это делать. Но я, должно быть, ошибся, так как он не сработал... Надеюсь, я смог объяснить вам и другим, в чем именно заключается моя проблема. Еще раз прошу прощения за то, что всё звучит сложнее, чем есть на самом деле...

    С уважением,
    Sammy
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2025 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры