Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • 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 При использовании Route Marking и NAT возникают интересные вещи. Например, Route Marking позволяет вам точно указать, какой трафик соответствует какому маршруту, а NAT (Network Address Translation) позволяет вам скрыть внутренн

    Маркировка маршрутов и NAT При использовании Route Marking и NAT возникают интересные вещи. Например, Route Marking позволяет вам точно указать, какой трафик соответствует какому маршруту, а NAT (Network Address Translation) позволяет вам скрыть внутренн

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Маркировка маршрутов и NAT При использовании Route Marking и NAT возникают интересные вещи. Например, Route Marking позволяет вам точно указать, какой трафик соответствует какому маршруту, а NAT (Network Address Translation) позволяет вам скрыть внутренн, RouterOS
     
    Hammy
    Guest
    #1
    0
    16.04.2006 12:24:00
    У меня есть клиенты, подключенные через беспроводную вышку к провайдеру, а затем ещё один канал через DSL. Когда я устанавливаю маршрут по умолчанию через беспроводную вышку (с публичными IP), всё хорошо (ну, хорошо не всё, но мы на пару шагов впереди альтернативного варианта). Когда трафик идёт через DSL (через NAT), тоже всё хорошо. Torch показывает адрес назначения как публичный IP DSL-соединения (когда Torch назначен на DSL). Когда я настраиваю метки маршрутизации, чтобы часть трафика уходила с вышки через DSL, кажется, что NAT пропускается. К этому выводу я пришёл, потому что в Torch отображается настоящий адрес назначения, а не публичный IP DSL. Вот маскировка на интерфейсе Verizon-PPPoE: chain=srcnat out-interface=Verizon-PPPoE action=masquerade Вот метка маршрутизации, которую я настроил на DSL-роутере и на вышке: chain=forward protocol=tcp dst-port=443 action=mark-routing new-routing-mark=DSL passthrough=yes У меня настроен статический маршрут по умолчанию для метки маршрутизации, чтобы он выходил через Verizon-PPPoE. Я бы вставил то, что показывает терминал для этого, но, видимо, GUI показывает поле метки маршрутизации, а терминал — нет. Я попробовал добавить ещё одну маскировку на интерфейсе Verizon-PPPoE с меткой маршрутизации, но это не изменило ситуацию.
     
     
     
    pekr
    Guest
    #2
    0
    18.04.2006 08:58:00
    Привет, у меня похожая проблема, у нас есть публичные интерфейсы public1 и public2: я делаю маршрутизацию по исходным сетям: 0 chain=prerouting src-address=10.0.0.0/24 action=mark-routing new-routing-mark=public1 passthrough=yes 1 chain=prerouting src-address=10.0.5.0/24 action=mark-routing new-routing-mark=public2 passthrough=yes и тут я не уверен, правильно ли passthrough=yes, но вижу, что оба правила увеличивают количество переданных пакетов, так что, вероятно, работает.

    2) Настроил два шлюза: dst-address=0.0.0.0/0 gateway=x.x.x.x scope=255 target-scope=10 routing-mark=public1 dst-address=0.0.0.0/0 gateway=y.y.y.y scope=255 target-scope=10 routing-mark=public2 Маскирую обе сети… chain=srcnat out-interface=public1 routing-mark=public1 action=masquarade chain=srcnat out-interface=public2 routing-mark=public2 action=masquarade И – работает только один исходящий интерфейс, второй не работает – счетчики стоят на 0. Не уверен, но может быть, для NAT мне не нужно указывать эти routing-marks, раз пакеты уже идут через нужный интерфейс?

    Спасибо,
    -pekr-
     
     
     
    butche
    Guest
    #3
    0
    19.04.2006 15:29:00
    Всё в порядке. Passthrough может быть либо yes, либо no. Это важно только в том случае, если какое-то последующее правило может изменить метку, и вы этого не хотите. В вашем случае, поскольку вы используете src-address для идентификации трафика, вы можете просто настроить это в правилах маршрутизации (/ip route rule) вместо mangle. Я настроил два шлюза: dst-address=0.0.0.0/0 gateway=x.x.x.x scope=255 target-scope=10 routing-mark=public1 dst-address=0.0.0.0/0 gateway=y.y.y.y scope=255 target-scope=10 routing-mark=public2. Это правильно, но помните, что у вас также будет основная таблица, в которой будут все ваши локальные (DC) маршруты. Вам нужно учесть это в правилах (см. ниже). Masquarade обе сети … chain=srcnat out-interface=public1 routing-mark=public1 action=masquerade chain=srcnat out-interface=public2 routing-mark=public2 action=masquerade. И – только один исходящий интерфейс работает, второй не работает – счетчики показывают 0. Не уверен, но может быть, для NAT мне не нужно указывать эти routing-marks, поскольку пакеты уже идут через правильный интерфейс? Вам не нужно указывать routing mark в src-nat. Хорошей практикой является указание src-address, но это не требуется для того, чтобы это работало. Вот пример, используя следующую информацию: public1 IP:10.10.10.1/30 public1 gateway:10.10.10.2 ether1 public2 IP:10.10.11.1/30 public2 gateway:10.10.11.2 ether2 клиенты: 192.168.1.0/24 на ether3 использовать public1 192.168.2.0/24 на ether4 использовать public2. Конфигурация: /ip firewall nat add chain=src-nat out-interface=public1 action=masquerade add chain=src-nat out-interface=public2 action=masquerade (ВНИМАНИЕ: возможно, вам стоит указать src-address в вышеупомянутых двух правилах). /ip route add gateway=10.10.10.2 add gateway=10.10.11.2 routing-mark=public2 add gateway=10.10.10.2 routing-mark=public1 /ip route rule add dst-address=10.10.10.0/30 action=lookup table=main add dst-address=10.10.11.0/30 action=lookup table=main add dst-address=192.168.0.0/16 action=lookup table=main add src-address=192.168.1.0/24 action=lookup table=public1 add src-address=192.168.2.0/24 action=lookup table=public2. Это можно сделать и с routing marks, но мне нравится то, как я это показал. Если вы используете routing marks, вы настраиваете правила (и метки) так: /ip firewall mangle add chain=prerouting dst-address=10.10.10.0/30 action=mark-routing new-routing-mark=maintable add chain=prerouting dst-address=10.10.11.0/30 action=mark-routing new-routing-mark=maintable add chain=prerouting dst-address=192.168.0.0/16 action=mark-routing new-routing-mark=maintable add chain=prerouting src-address=192.168.1.0/24 action=mark-routing new-routing-mark=public1 add chain=prerouting src-address=192.168.2.0/24 action=mark-routing new-routing-mark=public2 /ip route rule add routing-mark=maintable action=lookup table=main add routing-mark=public1 action=lookup table=public1 add routing-mark=public2 action=lookup table=public2. Обратите внимание: необходимость добавления правил для основной таблицы – это то, чего, кажется, чаще всего не хватает людям. Было несколько версий (я не помню, что именно), где этот тип политической маршрутизации, казалось, работал без использования правил для указания маршрутизатору использовать основную таблицу. Надеюсь, это поможет.
     
     
     
    pekr
    Guest
    #4
    0
    20.04.2006 09:47:00
    public1 IP:10.10.10.1/30 public1 gateway:10.10.10.2
    ether1 public2 IP:10.10.11.1/30 public2 gateway:10.10.11.2
    ether2 clients: 192.168.1.0/24 on ether3 use public1
    192.168.2.0/24 on ether4 use public2

    Конфигурация:
    /ip firewall nat add chain=src-nat out-interface=public1 action=masquerade
    add chain=src-nat out-interface=public2 action=masquerade
    (ВНИМАНИЕ: возможно, стоит указать src-address в этих двух правилах)

    Окей, но нужно ли это? Я знаю, что более точная настройка лучше. Но в случае NAT это применяется после принятия решения о маршрутизации, поэтому, думаю, уже понятно, какая исходная сеть маскируется под какой IP…
    /ip route add gateway=10.10.10.2
    add gateway=10.10.11.2 routing-mark=public2
    add gateway=10.10.10.2 routing-mark=public1

    Интересно… нужна ли первая строка? Есть ли другая сеть, которой потребуется маршрут по умолчанию (0.0.0.0/0), не входящая в public1 или public2?
    /ip route rule add dst-address=10.10.10.0/30 action=lookup table=main
    add dst-address=10.10.11.0/30 action=lookup table=main
    add dst-address=192.168.0.0/16 action=lookup table=main
    add src-address=192.168.1.0/24 action=lookup table=public1
    add src-address=192.168.2.0/24 action=lookup table=public2

    Это можно сделать и с помощью маршрутизационных меток, тоже (мне просто нравится способ, который я показал). Если используете маршрутизационные метки, правила (и метки) устанавливаются так:
    /ip firewall mangle add chain=prerouting dst-address=10.10.10.0/30 action=mark-routing new-routing-mark=maintable
    add chain=prerouting dst-address=10.10.11.0/30 action=mark-routing new-routing-mark=maintable
    add chain=prerouting dst-address=192.168.0.0/16 action=mark-routing new-routing-mark=maintable
    add chain=prerouting src-address=192.168.1.0/24 action=mark-routing new-routing-mark=public1
    add chain=prerouting src-address=192.168.2.0/24 action=mark-routing new-routing-mark=public2
    /ip route rule add routing-mark=maintable action=lookup table=main
    add routing-mark=public1 action=lookup table=public1
    add routing-mark=public2 action=lookup table=public2

    Примечание: необходимость добавления правил для основной таблицы — это то, чего, кажется, многие упускают. Есть одна-две версии (я не помню, какие именно), в которых этот тип политической маршрутизации, похоже, работал без использования правил, чтобы указать маршрутизатору использовать основную таблицу.
    Надеюсь, это поможет.
    Да, огромное спасибо, очень помогло. У меня теперь есть новые идеи, что попробовать. Я просто следовал документации, и насколько я помню, там не было ничего о необходимости работы с остальным трафиком с помощью mangle, или просто о необходимости делать lookups (я следовал разделу по политической маршрутизации с переключением в случае отказа).
    Петр
     
     
     
    butche
    Guest
    #5
    0
    20.04.2006 13:39:00
    Вы правы, что NAT применяется после принятия решения о маршрутизации. Эти правила распространяются на всё, что выходит через интерфейс public1 (или public2). Это не является частью политики маршрутизации. Вам не нужно указывать src-address, если вы не хотите. Я добавил эту заметку для ясности. /ip route add gateway=10.10.10.2 add gateway=10.10.11.2 routing-mark=public2 add gateway=10.10.10.2 routing-mark=public1 Интересно… есть ли необходимость в первой строке? Есть ли еще какие-нибудь сети, которым нужен маршрут по умолчанию (0.0.0.0/0), которые не принадлежат к public1 или public2? В этом случае нет необходимости в маршруте по умолчанию в первой строке. Это моя личная практика, чтобы убедиться, что в "основной" таблице маршрутизации есть маршрут по умолчанию, и вот для чего нужна первая строка.
     
     
     
    user19
    Guest
    #6
    0
    24.04.2006 16:17:00
    Привет, я сделал ровно так (с моими собственными адресами): [/quote]/ip firewall nat add chain=src-nat out-interface=public1 action=masquerade add chain=src-nat out-interface=public2 action=masquerade (ВНИМАНИЕ: возможно, стоит указать src-address в этих двух правилах выше) /ip route add gateway=10.10.10.2 add gateway=10.10.11.2 routing-mark=public2 add gateway=10.10.10.2 routing-mark=public1 /ip route rule add dst-address=10.10.10.0/30 action=lookup table=main add dst-address=10.10.11.0/30 action=lookup table=main add dst-address=192.168.0.0/16 action=lookup table=main add src-address=192.168.1.0/24 action=lookup table=public1 add src-address=192.168.2.0/24 action=lookup table=public2 И работает, но пакеты, идущие за роутером из локальной сети, иногда не проходят. Пробовал с 2.9.20 и 2.9.22 – всё то же самое. Если использовать 1:1 NAT для клиентов, всё работает отлично, но не с masquerade. Пожалуйста, помогите, потому что у меня не так много публичных IP для всех моих клиентов. Димас
     
     
     
    pekr
    Guest
    #7
    0
    28.04.2006 09:48:00
    Бутче, не мог бы ты еще объяснить мне, для чего нужны таблицы подстановки (look-up tables) и когда они создаются? Я правильно понимаю, что они создаются на этапе mangle? И почему ты их используешь? В чем причина “подсматривать” в “таблицу”, если роутер может принимать решения на основе routing-mark, указанного когда я определяю свой gateway? Что именно делает следующее утверждение? /ip route rule add src-address=192.168.1.0/24 action=lookup table=public1 Это "создает" таблицу подстановки public1, которую можно использовать позже в: /ip route add gateway=10.10.10.2 routing-mark=public1… или мне все равно нужно mangle для создания routing-mark public1? И если да, то для чего хороши правила маршрутизации? Спасибо, Петр.

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