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

    [CONTRIB] Обновлены автоматизированные пакетные команды…

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    [CONTRIB] Обновлены автоматизированные пакетные команды…, RouterOS
     
    nexgenaccess
    Guest
    #1
    0
    19.05.2007 10:56:00
    В продолжение идеи, предложенной предыдущим автором [iredden], я создал скрипт для автоматизации пакетных команд с Linux-хоста. Сначала нужно настроить SSH для сервера, с которого будет выполняться этот скрипт. Смотрите http://wiki.mikrotik.com/wiki/Use_SSH_to_execute_commands_(DSA_key_login). Создайте список Mikrotik роутеров… admin@watchdog:/$ cat /opt/ros/routers.txt
    172.16.48.1
    172.16.48.35
    172.16.48.37 Создайте список команд… admin@watchdog:/$ cat /opt/ros/ros-commands
    /system identity print
    /system resource print Создайте файл имени пользователя/пароля admin@watchdog:/usr/sbin# cat /etc/monitor.passwd
    remote||password И затем запустите скрипт, как показано ниже… ros-remote /opt/ros/ros-commands #!/usr/bin/perl
    # By Matthew D. Smith © 2007 with help of the orignal script by
    # by Ian Redden
    # Purpose: To get info or execute commands on a Mikrotik RouterOS.
    #
    # Prerequisites: Expect, IO::Tty, IO:Stty
    #
    # Script will log into each router one a time (from ROUTER_LIST) and issue the commands from CMD_LIST one at a time.
    #
    # Usage: ros-remote [filename] ie; #ros-remote /opt/ros/ros-commands.txt
    #
    #
    #######################CONFIGURATION########################################

    # Text Listing of Routers - Insert Your Filename Here
    my $ROUTER_LIST = '/opt/ros/routers.txt';

    ######################END CONFIGURATION#####################################
    #############DO NOT ALTER BELOW THIS LINE###################################

    # Open File
    open DATA, "$ROUTER_LIST" or die "can't open $ROUTER_LIST $!";

    # Assign array to Router List
    my @routers_array = <DATA>;

    # Close File - Done.
    close (DATA);

    # Assign variable to command file passed to script
    my $CMD_LIST = "$ARGV[0]";

    # Loop through each router in Array
    foreach my $line (@routers_array)
    {

    # Use Expect
     use Expect;

    # Where is SSH?
     $ssh = "/usr/bin/ssh";

    # Get Username/Password
     open(PS,"/etc/monitor.passwd");
      while (<PS>) {
        chomp;
        ($usernm,$pass) = split(/\|\|/, $_);
      }
     close(PS);

           # Command to launch SSH
           $command = "$ssh -l $usernm -i /root/.ssh/id_dsa $line";

           # Use Expect to connect to Router
             $ssh = Expect->spawn("$command");
           # Do not echo Router Banner
             $ssh->log_stdout(0);

    # Send Password - enable if user account has password
    #   if ($ssh->expect(undef, "password:")) {
    #     print $ssh "$pass\r";
    #   }

    # Send Commands From File
      open( FILE, "< $CMD_LIST" ) or die "can't open $CMD_LIST $!";
      if ($ssh->expect(undef, ">")) {
              while ($cmd = <FILE>) {
                 # Echo Commands
                 $ssh->log_stdout(1);
                 print $ssh "$cmd\r";
                 $ssh->expect(undef, ">");
              }
     }
     # Close File
     close FILE;

     #Quit SSH Session
     print $ssh "/quit\r";

    }

    print "\r"; Я планирую использовать это для распространения общего списка правил брандмауэра на все мои роутеры, как только разберусь, как либо удалить все существующие правила брандмауэра, либо как избежать дублирования правил… Планирую в дальнейшем расширять функциональность, например, осуществлять опрос соседа MT для получения списка роутеров, создавать некий php/mysql интерфейс для поддержки списка команд/роутеров и т. д. Буду благодарен за любую помощь! Я знаю, что SNMP Write появится в версии 3.0, но надеюсь, это поможет тем, кто планирует использовать версию 2.x на некоторое время… -Matt
     
     
     
    jo2jo
    Guest
    #2
    0
    27.02.2019 05:57:00
    Спасибо за это. Попробую, и надеюсь, всё ещё работает (через 13 лет, и это всё ещё единственное решение, которое я знаю для массовой настройки/обновления настроек множества MT).
     
     
     
    Jotne
    Guest
    #3
    0
    27.02.2019 06:15:00
    В моей первой версии Splunk для MikroTik много информации с маршрутизаторов собиралось через скрипты с Linux. Это работает нормально, пока у тебя всего несколько маршрутизаторов, но когда их много, становится сложнее. И если у тебя есть маршрутизатор за ISP, где нельзя открыть SSH, то это не будет работать. Поэтому я отказался от этого способа сбора данных и начал использовать скрипты на самом маршрутизаторе для отправки данных на syslog udp/514. Тогда мне нужен всего один скрипт, который одинаков для всех маршрутизаторов, работает за ISP и не требует Linux-сервера. Так что я перешел от сбора данных с помощью: Syslog SNMP Remote scripts К: Syslog для логов + локальный скрипт, отправляющий SNMP и другие данные через Syslog. SNMP имеет ту же проблему, что и Remote Script. Нужно настраивать каждое устройство отдельно для мониторинга, не работает за NAT (который вне твоего контроля).
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры