Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • 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
    Добавить интерфейс в VRF с помощью скрипта / API

    Добавить интерфейс в VRF с помощью скрипта / API

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Добавить интерфейс в VRF с помощью скрипта / API, RouterOS
     
    rtorto
    Guest
    #1
    0
    02.07.2015 13:41:00
    Всем привет! Я пытаюсь написать скрипт, который добавит 2 интерфейса на мой Mikrotik, а потом добавит эти интерфейсы в уже созданный VRF. Скрипт для добавления интерфейсов с IP-адресами работает отлично. Но я не могу найти решение для проблемы с VRF. Как многие, наверное, знают, команда «/ip route vrf edit number=1 value-name=interfaces» просто запускает редактор на Mikrotik. Есть ли у кого-нибудь идеи, как добавить интерфейс в уже запущенный VRF через скрипт или API?
     
     
     
    amorsen
    Guest
    #2
    0
    02.05.2025 09:33:00
    Вот мы и спустя десять лет, а вы всё ещё не можете добавить интерфейс в существующую VRF без замены уже настроенных… Зато, похоже, работает другой способ — использовать список интерфейсов вместо конкретных имён. Тогда можно динамично добавлять и удалять участники по мере необходимости.
     
     
     
    rextended
    Guest
    #3
    0
    02.05.2025 10:18:00
    Ненужный некропостинг. Оригинальное сообщение написано очень плохо, а объяснено ещё хуже. Не пиши ерунду. Проблема не в других, а в тебе. MikroTik не исправит твою некомпетентность. Открой winbox и добавь интерфейс — ПРОСТО, или научись делать это через CLI/скрипты.

    [rex@example] /ip route vrf> add routing-mark=test
    [rex@example] /ip route vrf> pri
    Flags: X - отключено, I - неактивно  
    0 routing-mark=test interfaces=“”  

    [rex@example] /ip route vrf> set [find where routing-mark=test] interfaces=sfp9
    [rex@example] /ip route vrf> pri
    Flags: X - отключено, I - неактивно  
    0 routing-mark=test interfaces=sfp9  

    sfp9 как и ожидалось установился  

    [rex@example] /ip route vrf> set [find where routing-mark=test] interfaces=sfp10
    [rex@example] /ip route vrf> pri
    Flags: X - отключено, I - неактивно  
    0 routing-mark=test interfaces=sfp10  

    при использовании SET sfp9 заменяется, а не добавляется на sfp10, как и должно быть  

    [rex@example] /ip route vrf> set [find where routing-mark=test] interfaces=sfp9,sfp10
    [rex@example] /ip route vrf> pri
    Flags: X - отключено, I - неактивно  
    0 routing-mark=test interfaces=sfp9,sfp10  

    при SET sfp10 заменяется, а не добавляется на sfp9 И sfp10, как и ожидалось  

    [rex@example] /ip route vrf> set [find where routing-mark=test] interfaces=([get [find where routing-mark=test] interfaces],“sfp11”)
    [rex@example] /ip route vrf> pri
    Flags: X - отключено, I - неактивно  
    0 routing-mark=test interfaces=sfp9,sfp10,sfp11  

    так правильно добавляет sfp11 к остальным интерфейсам, работает и если предыдущий список пустой  

    Всё работает так, как ожидает человек, знакомый с RouterOS. Очевидно, нужно перед добавлением проверять, есть ли уже такой интерфейс в списке… Очевидно, что скрипт будет сложнее, если нужно удалить интерфейс из списка, а не просто добавить… но в winbox это один клик… Очевидно, что очевидное — это очевидно…
     
     
     
    jaclaz
    Guest
    #4
    0
    02.05.2025 11:02:00
    @rextended Пока ты этим занимаешься, и, конечно, только если захочешь, не мог бы ты еще выложить подход для версии 7.x? Я видел кое-где упоминания, что в vrf для 7.x можно использовать списки интерфейсов, но не встречал ни одного практического примера, как это именно реализовать и управлять ими.
     
     
     
    nichky
    Guest
    #5
    0
    02.05.2025 11:47:00
    Я ещё не тестировал в версии 7, там так же работает?
     
     
     
    rextended
    Guest
    #6
    0
    02.05.2025 11:50:00
    Добавлять и удалять намного проще по сравнению с v6, если использовать список интерфейсов: создаёте vrf и список, а лучше сначала список, потом vrf…

    /interface list add name=listForVRFtest  
    /ip vrf add interfaces=listForVRFtest name=vrfTEST

    Добавить интерфейс  
    /interface list member add list=listForVRFtest interface=ether3

    Удалить интерфейс  
    /interface list member remove [find where list=listForVRFtest and interface=ether3]

    /ip vrf add interfaces=ether3 name=vrfTEST — должен быть хотя бы один интерфейс

    /ip vrf set [find where name=vrfTEST] interfaces=ether5 — сменить интерфейс на ether5

    /ip vrf set [find where name=vrfTEST] interfaces=([get [find where name=vrfTEST] interfaces], “ether4”) — добавить интерфейс ether4
     
     
     
    jaclaz
    Guest
    #7
    0
    02.05.2025 11:57:00
    Понятно. Несомненно, версия v7.x с интерфейсным списком проще и гораздо понятнее, спасибо.
     
     
     
    rextended
    Guest
    #8
    0
    02.05.2025 12:01:00
    Добавляю к предыдущему посту «пример на v7 без кода списка».
     
     
     
    rextended
    Guest
    #9
    0
    02.05.2025 12:03:00
    Я забыл уточнить, что в определении VRF версии 7 можно указать и список, и интерфейс одновременно. Например: /ip vrf add name=vrfTEST interfaces=listForVRFtest,ether3 — и оба предыдущих способа из версии 7 при этом будут работать. Дальше я не стал выяснять, что происходит, если интерфейс указан и в списке, и напрямую…
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры