antiCisco blogs


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

Опубликовано 12 Апрель , 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 выведет без разделения на страницы, даже если по умолчанию оно было.

Традиционные фильтры UNIX тоже работают, и к одной команде можно применить более одного фильтра (глупый пример: show interfaces|match ethernet|count для получения числа ethernet-интерфейсов в системе).

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 в интерактивном режиме.
Например,

#!/bin/vbash
/opt/vyatta/sbin/my_set protocols static route 10.0.0.0/8 next-hop 172.16.0.1
/opt/vyatta/sbin/my_comit

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

 

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

 

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

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