Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • 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
    Mangle + NAT + Policy Routing.

    Mangle + NAT + Policy Routing.

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Mangle + NAT + Policy Routing., RouterOS
     
    Chupaka
    Guest
    #1
    0
    26.06.2006 10:21:00
    / ip firewall mangle
    add chain=prerouting src-address=192.168.1.150 dst-address=213.206.94.83 action=mark-connection new-connection-mark=dip_kav passthrough=yes

    add chain=prerouting connection-mark=dip_kav action=mark-packet new-packet-mark=dip_kav passthrough=yes

    add chain=prerouting connection-mark=dip_kav action=mark-routing new-routing-mark=dip_kav passthrough=yes

    / ip route
    add dst-address=0.0.0.0/0 gateway=81.25.36.1 scope=255 target-scope=10 routing-mark=dip_kav comment="ftp.kaspersky.ru" disabled=no

    / ip firewall nat
    add chain=srcnat packet-mark=dip_kav action=masquerade comment="" disabled=no

    Когда я пытаюсь подключиться с 192.168.1.150 к 213.206.94.83, я вижу в ConnTrack, что соединение помечено как ‘dip_kav’ и TCP State — ‘syn received’. Затем моя программа выдаёт 'Connection timeout'. Но когда / ip firewall mangle
    add chain=prerouting src-address=192.168.1.150 dst-address=213.206.94.83 action=mark-routing new-routing-mark=dip_kav passthrough=yes comment="KAV Updates" disabled=no

    / ip route
    add dst-address=0.0.0.0/0 gateway=81.25.36.1 scope=255 target-scope=10 routing-mark=dip_kav comment="ftp.kaspersky.ru" disabled=no

    / ip firewall nat
    add chain=srcnat src-address=192.168.1.150 dst-address=213.206.94.83 action=masquerade comment="ftp.kaspersky.ru" disabled=no всё в порядке. Что не так?
     
     
     
    Mitak
    Guest
    #2
    0
    26.06.2006 10:47:00
    / ip firewall mangle
    add chain=prerouting src-address=192.168.1.150 dst-address=213.206.94.83 action=mark-connection new-connection-mark=dip_kav passthrough=yes

    add chain=prerouting connection-mark=dip_kav action=mark-routing new-routing-mark=dip_kav passthrough=no

    / ip route
    add dst-address=0.0.0.0/0 gateway=81.25.36.1 scope=255 target-scope=10 routing-mark=dip_kav comment="ftp.kaspersky.ru" disabled=no

    / ip firewall nat
    add chain=srcnat src-address=192.168.1.150 action=masquerade comment="" disabled=no
     
     
     
    Chupaka
    Guest
    #3
    0
    26.06.2006 11:12:00
    Ох, спасибо! Но что не так с этими настройками? Я не хочу везде указывать IP-адреса, у меня более сложные структуры, и я хотел бы описывать их, используя метки соединений и пакетов.
     
     
     
    Mitak
    Guest
    #4
    0
    26.06.2006 11:27:00
    Используй адресную книгу `address-list 1-st add` и добавляй туда все IP-адреса, которые хочешь пометить: `/ip firewall address-list add list=list1 address=192.168.1.51 disabled=no`

    `/ip firewall address-list add list=list1 address=192.168.1.52 disabled=no`

    .
    .
    .

    `/ip firewall address-list add list=list1 address=192.168.1.100 disabled=no` и затем меняй другие правила: `/ip firewall mangle`
    `add chain=prerouting src-address-list=list1 dst-address=213.206.94.83 action=mark-connection new-connection-mark=dip_kav passthrough=yes`

    `add chain=prerouting connection-mark=dip_kav action=mark-routing new-routing-mark=dip_kav passthrough=no`

    `/ip route`
    `add dst-address=0.0.0.0/0 gateway=81.25.36.1 scope=255 target-scope=10 routing-mark=dip_kav comment="ftp.kaspersky.ru" disabled=no`

    `/ip firewall nat add chain=srcnat address-list=list1 action=masquerade`  Затем, если тебе нужно добавить новый IP в эти правила mangle, достаточно сделать: `/ip firewall address-list add name=list1 address=<NEW-IP> disabled=no`
     
     
     
    Chupaka
    Guest
    #5
    0
    26.06.2006 13:18:00
    Ну, может быть… Но мне интересно, почему отметки соединения не работают.
     
     
     
    nichky
    Guest
    #6
    0
    11.09.2021 10:07:00
    Все равно не работает, мне это нужно для OpenVPN, не могу заставить это работать.

    Цитата
    /ip firewall mangle
    add action=mark-connection chain=prerouting comment=OpenVPN in-interface=ether9 new-connection-mark=ovpn.conn passthrough=yes protocol=tcp src-port=1198

    /ip firewall nat
    add action=masquerade chain=srcnat connection-mark=ovpn.conn
     
     
     
    sindy
    Guest
    #7
    0
    11.09.2021 12:57:00
    Что на самом деле не работает, или скорее работает слишком хорошо, это правило, которое переводит connection-mark в routing-mark. У тебя в таблице маршрутизации dip-kav есть только один (по умолчанию) маршрут, и твое правило action=mark-routing не обращает внимания на in-interface. Так как ответные пакеты для 192.168.1.150, приходящие через WAN, получают routing-mark с dip_kav, они также маршрутизируются через WAN-шлюз. Связанные маршруты (distance=0) не переопределяют routing-mark. Так как ты явно не хочешь сопоставлять по IP-адресам, используй что-то вроде in-interface-list=!WAN в правиле action=mark-routing.
     
     
     
    sindy
    Guest
    #8
    0
    11.09.2021 13:03:00
    @nichky, скажи, в твоём случае, этот Mikrotik с этими правилами — OpenVPN клиент или сервер? Или он ни то, ни другое, а просто перенаправляет чужие OpenVPN-соединения? В любом случае, просто назначение connection-mark не влияет на маршрутизацию, нужно где-то переводить connection-mark в routing-mark. Если сам Mikrotik является клиентом или сервером OpenVPN, тебе, возможно, придётся назначить connection-mark, и однозначно нужно назначить routing-mark в цепочке output в mangle, а не в цепочке prerouting.
     
     
     
    nichky
    Guest
    #9
    0
    11.09.2021 23:29:00
    Привет, Синди! MT с этими правилами — OVPN-сервер. Какова моя цель: с помощью этих правил я хочу маскировать трафик, идущий к OVPN-клиентам, чтобы получить к ним доступ без добавления каких-либо маршрутов со стороны клиента. Сейчас я использую это правило, и оно работает: NAT add action = masquerade chain = srcnat out-interface = ovpn-client. Проблема в том, что не хочу добавлять это для всех клиентов. Поэтому я заставляю mangel+nat сделать это за меня.
     
     
     
    sindy
    Guest
    #10
    0
    12.09.2021 07:24:00
    Окей, так вот, тебе нужно src-nat трафик полезной нагрузки (отправленного внутри туннеля). Но твое правило action=mark-connection срабатывает на protocol=tcp src-port=1198, что, кажется, относится к транспортным пакетам OpenVPN (составляющим туннель). Поскольку IP-файрвол не знает о взаимосвязи между пакетами полезной нагрузки и транспортными, эта идея не работает. К тому же, само правило action=mark-connection на самом деле никогда не срабатывает, потому что транспортные пакеты отправляются самим роутером, а не пересылаются с ether9, и потому что пакеты, отправленные самим роутером, никогда не попадают в цепочку prerouting. Вот почему я и спрашивал о роли роутера в общей топологии OpenVPN. Так что чтобы получить то, что тебе нужно, забудь о маркировке соединения, и сделай следующее (в точном порядке):
    /interface list add name=ovpn-client
    create an action=masquerade rule matching on out-interface-list=ovpn-client
    just before or just after the current individual rules matching on out-interface= __
    /ppp profile add copy-from=[/interface ovpn-server server get default-profile] name=ovpn-profile interface-list=ovpn-client
    at a time when a short-time disconnection of all clients is acceptable :
    /interface ovpn-server server set default-profile=ovpn-profile
    (if you refer to customized /ppp profile rows from the /ppp secret rows, add interface-list=ovpn-client to these customized profiles instead).
    Когда ты меняешь настройку OpenVPN сервера, сервер завершает все соединения, и клиенты переподключаются (жаль, но именно так реализовано сейчас). Каждый раз, когда клиент подключается, динамически создаваемый интерфейс будет добавлен как член в список интерфейсов, указанный в профиле, так что новое правило action=masquerade будет обрабатывать соединения, установленные через этот динамический порт. Я не уверен, будет ли это работать, если у тебя есть вручную созданные статические /interface ovpn-server строки для клиентов, тебе нужно попробовать - если нет, добавь эти статические интерфейсы как членов списка интерфейсов вручную, или просто удали статические элементы, если они не имели другой цели, кроме правила masquerade.
     
     
     
    nichky
    Guest
    #11
    0
    12.09.2021 08:07:00
    Вау, спасибо, братан! Это мне даже трогать не пришлось "/interface ovpn-server server set default-profile=ovpn-profile". Насколько я знаю, /ppp profile имеет приоритет над /interface xxx-server, это правда? Не знаю, с какой дизи вы точно, но когда я на Балканах, зовите, каждые два часа, мастер!!
     
     
     
    sindy
    Guest
    #12
    0
    12.09.2021 08:38:00
    Более точно, значение профиля из /ppp secret переопределяет значение default-profile из /interface xxx-server server. Так что да, если вы указываете профиль в каждой строке /ppp secret, нет необходимости менять “профиль последнего средства”, связанный с сервером. То, что я немного говорю на каком-то языке, ещё не значит, что я с Балкан. Но он мне ближе, чем сейчас тебе.
     
     
     
    Kove
    Guest
    #13
    0
    14.07.2022 00:50:00
    Привет, Синди! Просто хотел сказать спасибо. За последние пару лет, когда у меня возникали проблемы с настройками MikroTik, решения очень часто находились в твоих ответах. Ты, как и очень немногие гуру на этом форуме, всегда можешь объяснить сложные вещи так, чтобы новички, вроде меня, не просто заставили что-то работать, а и точно поняли, почему. Этот конкретный пример с маркировкой соединений в mangle-правилах мучил меня днями. Я прочитал кучу обсуждений в интернете и посмотрел много видео; только когда увидел твоё объяснение, всё наконец-то стало понятно. Очень благодарен.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры