Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • 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
    Проблемы с NAT.

    Проблемы с NAT.

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Проблемы с NAT., RouterOS
     
    eKo1
    Guest
    #1
    0
    16.11.2005 20:48:00
    Привет всем! У меня сейчас две проблемы: я хотел перенаправить 22-й порт одного из компьютеров в моей локальной сети, чтобы можно было подключиться к нему извне. Для этого я настроил следующее правило DST-NAT: add dst-address=55.155.155.55/32:8022 action=nat to-dst-address=192.168.0.103 to-dst-port=22. К сожалению, когда я попытался подключиться к своему роутеру по SSH, это правило сработало, и меня перекинуло на компьютер в локальной сети, хотя я просто хотел подключиться к роутеру по SSH. Что происходит? У меня есть пара компьютеров с веб-серверами в моей локальной сети. Два из них должны быть доступны извне сети, это 192.168.0.98 и 192.168.0.103. У меня следующие правила NAT настроены: ip firewall dst-nat print 0   dst-address=55.155.155.55/32:80 protocol=tcp action=nat to-dst-address=192.168.0.98 1   dst-address=55.155.155.55/32:21 protocol=tcp action=nat to-dst-address=192.168.0.98 2   dst-address=55.155.155.55/32:90 protocol=tcp action=nat to-dst-address=192.168.0.103 to-dst-port=90 ip firewall src-nat print 0   src-address=192.168.0.103/32:90 out-interface=Local action=nat to-src-address=55.155.155.55 to-src-port=90 1   src-address=192.168.0.0/24 out-interface=Public action=masquerade. Так вот, если я открываю браузер и захожу на 55.155.155.55, мне корректно отображается то, что работает на веб-сервере на 192.168.0.98 (неважно, делаю ли я это изнутри локальной сети или откуда-то еще в интернете). Теперь, если я пытаюсь открыть 55.155.155.55:90 извне локальной сети, это работает. Если я пытаюсь открыть его изнутри локальной сети, это не работает, за исключением компьютера с IP 192.168.0.103 (того, на котором работает веб-сервер). Я совершенно в замешательстве. Может, кто-нибудь поможет?
     
     
     
    lastguru
    Guest
    #2
    0
    17.11.2005 14:40:00
    По поводу первого вопроса — добавь "protocol=tcp".
     
     
     
    Tonda
    Guest
    #3
    0
    17.11.2005 15:50:00
    Можешь, пожалуйста, выложить здесь все твои правила фильтрации файрвола? Кстати, зачем тебе нужен доступ к твоему внутреннему веб-серверу через WAN-адрес из внутренней сети?
     
     
     
    lastguru
    Guest
    #4
    0
    17.11.2005 17:40:00
    Ах, второй вопрос — распространенная загадка, когда вы запрашиваете страницу по ее внешнему адресу. Она проходит dst-natted и пересылается на локальный адрес сервера. Теперь сервер хочет отправить ответ и просматривает свою таблицу маршрутизации, чтобы выяснить, как отправить его, и обнаруживает, что ответ можно отправить напрямую исходному отправителю, без маршрутизатора, поэтому хост получает ответ с внутреннего адреса сервера. Однако, поскольку отправитель отправил запрос на внешний адрес сервера, он ожидает получить ответ с этого внешнего адреса и отбрасывает ответы с других IP-адресов, что вполне стандартное поведение. Одно из возможных решений — использовать внутренний адрес внутри сети и внешний — для других сетей. Другое решение — использовать src-nat на маршрутизаторе для этих запросов, чтобы сервер думал, что запросы поступают от маршрутизатора.
     
     
     
    eKo1
    Guest
    #5
    0
    17.11.2005 23:56:00
    Единственное правило у меня – это правило, которое отбрасывает весь p2p трафик. Потому что у меня есть программа на веб-сервере, которая использует WAN IP на всех соединениях. Что касается твоего другого решения, у меня уже есть это: 0 src-address=192.168.0.103/32:90 out-interface=Local action=nat to-src-address=55.155.155.55 to-src-port=90. Разве это не должно решить проблему?
     
     
     
    Tonda
    Guest
    #6
    0
    18.11.2005 06:47:00
    Я думаю, что лучшее решение, которое не требует никаких правил на роутере, — это правильно использовать внутренний DNS-сервер и обращаться к внутреннему веб-серверу по его имени, а не по IP-адресу. Внешние запросы к, скажем, webserver.domain.com разрешаются публичными DNS-серверами (DNS-ответ в этом случае 55.155.155.55), внутренние запросы — внутренним DNS-сервером (DNS-ответ в этом случае 192.168.0.103). Тогда вы можете обращаться к своему веб-серверу по его имени из обеих сетей одинаково.
     
     
     
    eKo1
    Guest
    #7
    0
    18.11.2005 15:48:00
    Согласен. К сожалению, домена у меня своего нет.
     
     
     
    lastguru
    Guest
    #8
    0
    21.11.2005 10:34:00
    Нет, всё наоборот: проблема не в исходном адресе ответа сервера, а в конечном. Тебе нужно применять SNAT или masquerade для всех запросов к серверу с локальных сетевых хостов. Я уже объяснял, в чём причина, пожалуйста, перечитай предыдущее сообщение.
     
     
     
    jeffevans62
    Guest
    #9
    0
    21.11.2005 20:12:00
    Насчет первой проблемы, с SSH, нужно отредактировать правило так, чтобы оно не применялось, когда dst-address – это роутер. Точную синтаксис уже не помню, в последний раз редактировал в Winbox.
     
     
     
    squintr
    Guest
    #10
    0
    21.11.2005 22:48:00
    Нет, всё наоборот: проблема не в исходном адресе ответа сервера, а в конечном. Тебе нужно настроить исходный NAT или маскировку для всех запросов к серверу, идущих с локальных хостов сети. Я уже объяснял, как это работает, пожалуйста, перечитай предыдущее сообщение. Привет, Lastguru, похоже, ты хорошо разбираешься в этом вопросе. У меня та же проблема, что и у Eko1, и я был бы признателен, если бы ты мог добавить правильный синтаксис правила src-nat/masquerade. Я перечитал этот пост много раз и пробовал разные правила, но ничего не получается.
     
     
     
    daskalos
    Guest
    #11
    0
    22.11.2005 07:36:00
    Для 192.168.0.98 порт 80 протокол tcp, например: ip firewall dst-nat add dst-address=55.155.155.55/32:80 protocol=tcp action=nat to-dst-address=192.168.0.98 и для внутренней сети: ip firewall src-nat add dst-address=192.168.0.98:80 protocol=tcp action=nat to-src-address= это заставит ответ приходить на Mikrotik, а не напрямую на внутреннюю машину, которая отправила запрос. Также обратите внимание, что dst-address — это 192.168.0.98, так как пакеты уже будут DNAT’ed. И, кстати, лучше отфильтруйте это правило дополнительными фильтрами, например, in-interface должно быть lan-интерфейсом Mikrotik. Надеюсь, это поможет.
     
     
     
    squintr
    Guest
    #12
    0
    22.11.2005 15:39:00
    Огромное спасибо, сработало как по маслу!!
     
     
     
    eKo1
    Guest
    #13
    0
    30.11.2005 00:12:00
    Окей, вот что у меня есть: [admin@windwireless] ip firewall src-nat> print
    Flags: X - disabled, I - invalid, D - dynamic
    0   dst-address=192.168.0.103/32:90 out-interface=Local protocol=tcp action=nat to-src-address=192.168.0.1 to-src-port=90
    [admin@windwireless] ip firewall dst-nat> print
    Flags: X - disabled, I - invalid, D - dynamic
    0   in-interface=Public dst-address=55.155.155.55/32:90 protocol=tcp action=nat to-dst-address=192.168.0.103 to-dst-port=90

    И всё равно не работает. Ну что за, блин, сложность с настройкой этого на Mikrotik, когда на обычном D-Link и Linksys всё легко настраивается.
     
     
     
    squintr
    Guest
    #14
    0
    30.11.2005 00:25:00
    Я всё ещё использую старую версию. Попробуйте убрать порт 90 в to-src-address в вашем source nat (оставьте значение по умолчанию для всех портов). Вот что у меня: dst-address=192.168.0.20/32:80 protocol=tcp action=nat to-src-address=192.168.0.1
     
     
     
    Tonda
    Guest
    #15
    0
    30.11.2005 20:00:00
    Представь себе поток пакетов: CLIENT X пытается подключиться к твоему ВНУТРЕННЕМУ WEB SERVER'у из интернета. Он использует ПУБЛИЧНЫЙ IP и порт 90 твоего Mikrotik в качестве адреса назначения и порта. Mikrotik должен изменить адрес назначения этого запроса на IP-адрес твоего ВНУТРЕННЕГО WEB SERVER'а и порт 90. Затем этот запрос направляется к твоему ВНУТРЕННЕМУ WEB SERVER'у. Итак, у нас первое правило: dst-nat правило с dst-address=ПУБЛИЧНЫЙ IP твоего Mikrotik и dst-port=90 и to-addresses=IP ВНУТРЕННЕГО WEB SERVER'а и to-ports=90.

    Затем ВНУТРЕННИЙ WEB SERVER отвечает на запрос, но адрес источника этого ответа — IP-адрес твоего ВНУТРЕННЕГО WEB SERVER'а. Mikrotik, в свою очередь, должен изменить адрес источника этого ответа на ПУБЛИЧНЫЙ IP твоего Mikrotik. Итак, у нас второе правило: правило Masquerading с out-interface, установленным на выходной интерфейс твоего Mikrotik.

    С точки зрения CLIENT X кажется, что он общается только с веб-сервером с ПУБЛИЧНЫМ IP твоего Mikrotik. Уф, стало чище?
     
     
     
    eKo1
    Guest
    #16
    0
    01.12.2005 18:27:00
    Я вытащил to-src-port, но проблема никуда не делась.
     
     
     
    Tonda
    Guest
    #17
    0
    01.12.2005 20:58:00
    Хм, пытаюсь нарисовать, что происходит при обращении к внутреннему веб-серверу из внутренней сети, используя публичный адрес, согласно твоим правилам src и dst nat, где: X.X.X.X – клиент из внутренней сети, 55.55.55.55 – публичный IP Mikrotik, 192.168.1.1 – внутренний IP Mikrotik, 192.168.1.103 – адрес веб-сервера только с примененным dst-nat.

    Запрос: адрес источника X.X.X.X:3456, адрес назначения 55.55.55.55:90 отправляется на Mikrotik.
    dst-nat выполняется, поэтому адрес источника X.X.X.X:3456, адрес назначения 192.168.1.103:90, и запрос отправляется на веб-сервер.

    Проблема: веб-сервер отправляет ответ напрямую на X.X.X.X:3456. Это не сработает ни с dst-nat, ни с src-nat.

    Запрос: адрес источника X.X.X.X:3456, адрес назначения 55.55.55.55:90 отправляется на Mikrotik.
    dst-nat выполняется, поэтому адрес источника X.X.X.X:3456, адрес назначения 192.168.1.103:90.
    src-nat выполняется, поэтому адрес источника 192.168.1.1:3456 и адрес назначения 192.168.1.103:90, и запрос отправляется на веб-сервер.

    Веб-сервер отправляет ответ на 192.168.1.1:3456, но вопрос в том, как перенаправить ответ обратно на X.X.X.X:3456? Благодаря применению dst-nat и src-nat мы потеряли исходный адрес источника из запроса…

    Поправь меня, если я не прав, но, IMHO, у этой задачи нет решения (без других помощников)…

    Ты написал, что твой второй веб-сервер (ты используешь порт 80) доступен как из внутренней, так и из внешней сети, поэтому хочу спросить, настроен ли прозрачный веб-прокси на Mikrotik? И второй вопрос: что произойдет, если ты настроишь веб-прокси на Mikrotik на порту 90?
     
     
     
    eKo1
    Guest
    #18
    0
    09.12.2005 17:32:00
    Вопрос: Выполняется ли src-nat раньше dst-nat? Вы написали, что мой второй веб-сервер (я использую порт 80) доступен как из внутренней, так и из внешней сети, поэтому я хотел спросить, настроен ли у вас прозрачный веб-прокси на Mikrotik? И второй вопрос: Что произойдет, если я настрою веб-прокси на Mikrotik на порту 90? Нет, я нигде не запускаю веб-прокси.
     
     
     
    Tonda
    Guest
    #19
    0
    09.12.2005 18:49:00
    Dst-nat — часть премаршрутинга, src-nat — часть постмаршрутинга. Думаю, нужно логировать поток пакетов, чтобы выяснить разницу в использовании порта 80 и порта 90. Можешь ли ты залогировать обмен пакетами между клиентом и твоим веб-сервером в обоих случаях? Нам нужно найти эту разницу.
     
     
     
    tinus
    Guest
    #20
    0
    22.12.2005 05:24:00
    Я тоже спрашивал про DMZ, но не получил ничего полезного. Мне просто сказали использовать доменное имя и прописать его в файле hosts... Никто не объяснил, как подключиться по IP-адресу напрямую. Спасибо за подсказки!
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры