antiCisco blogs


блоги по технологиям и оборудованию cisco от инструкторов

Опубликовано 31 Декабрь , 2010

Здесь я собрал некоторые не вполне очевидные, но полезные факты о внутреннем устройстве и настройке Vyatta, которые могут сделать общение с ней более комфортным и продуктивным.

1. Что внутри?

Многие функции Vyatta представляют собой обертки над существующими
открытыми программами. В частности:

2. Как просмотреть команды, ввод которых дает текущий конфиг?

В отличии от IOS, скопировать и вставить фрагмент конфига здесь не получится. Но есть скрипт
/opt/vyatta/sbin/vyatta-config-gen-sets.pl , который выведет текущий конфиг в виде
набора команд. Вытащить нужное из вывода по ключевому слову можно путем |match KEYWORD,
или традиционного |grep KEYWORD.

Конечно, хотелось бы видеть что-то в стиле show firewall LAN|display-sets, но пока не
реализовано.

3. Управление выводом команд.

На вывод команд вроде show можно повлиять. В частности, следующими способами:

  • show ...|count — выведет число строк в выводе.
  • show ...|match KEYWORD — выведет все строки, содержащие KEYWORD.
  • show ...|no-match KEYWORD
  • — выведет все строки, не содержащие KEYWORD.

  • show ...|more будет принудительно разделять вывод на страницы.
  • show ...|no-more выведет без разделения на страницы, даже если по умолчанию оно было.

4. Операции над фрагментами конфига

Начиная с Vyatta 6 (Kenwood), фрагменты вроде правил МСЭ и NAT, наборов правил и прочего можно копировать и переименовывать.

Для этого нужно зайти на уровень выше, чем находятся элементы, над которыми мы будем производить эти манипуляции (например, edit firewall для управления наборами правил МСЭ, или edit policy route-map eBGP для управления правилами карты маршрутов) и использовать команды вида:

rename name FromLAN to name FromLabNetwork (для МСЭ)
copy rule 10 to rule 20

5. Выполнение команд из скрипта.

К сожалению, просто написать в скрипт команды и выполнить его не получится.
Нужно использовать исполняемые файлы /opt/vyatta/sbin/my_set,
/opt/vyatta/sbin/my_delete и /opt/vyatta/sbin/my_commit. Делают они то же
самое, что команды set, delete и commit в интерактивном режиме.
Например, /opt/vyatta/sbin/my_set protocols ospf.

Знакомого с UNIX не затруднит написать к этому красивую обертку (пожалуй, сделаю, но позже).

 

Опубликовано: Vyatta

 

3 комментария “Vyatta: хитрости и тонкости”

comment rss - Trackback

  1. Ilya:

    о. то что нужно. Только я собрался изнасиловать свой мозг и осознать синтаксис вьятты и тут вот на тебе, такое замечательное пособие. Дикуи!

  2. Временной парадокс какой-то. Я же эту запись несколько месяцев назад опубликовал, почему у нее дата 31.12? Пространство-время в опасности! 🙂
    Пользуясь случаем, дополню, что в 6.1 таки сделали обертку для вывода команд: «show configuration cmds». А в 7.0 нас ждет API для скриптов.

  3. Непонятно почему, но твой пост был в черновиках, ожидающих модерацию. Я его разрешил 31.12. Но я его точно видел раньше! Правда возможно из-под админки.

    ЗЫ А возможно все дело в том, что Илюха только сейчас собрался помучить Виатту 🙂

» Оставить комментарий

Вы должны войти чтобы прокомментировать.