Может кто-нибудь сталкивался.У vtysh есть командный режим, типа vtysh -c "command string"
Проверяю последовательность в интерактивном режиме:
zebra# configure terminal
zebra(config)# interface eth2
zebra(config-if)# ip address 10.3.3.98/24Проверяю из системной консоли с помощью vtysh -c, всё проходит:
# vtysh -c "show interface eth2"
...
Когда пытаюсь последовательность конфигурирования повторить из vtysh# vtysh -c "configure terminal interface eth2 ip address 10.3.3.99/24"
возвращается ошибка %Unknown command
В чём может быть косяк?
Написал в quagga mailing list, там посоветовали выполнить по разделениям, вроде того:
# vtysh -c "configure terminal" -c "interface eth2" -c "ip address 10.3.3.99/24"
Ничего не изменилось, та же ошибка.
Во vtysh.conf задано "user root nopassword"
ОС CentOS 5.3. Пакет quagga 0.98.6
покажи конфиг кваги
>покажи конфиг квагиzebra.conf:
! -*- zebra -*-
!
! zebra sample configuration file
!
! $Id: zebra.conf.sample,v 1.1.1.1 2002/12/13 20:15:30 paul Exp $
!
hostname quagga
password zebra
enable password zebra
!
! Interface's description..
!
!interface lo
! description test of desc.
!
!interface sit0
! multicast!
! Static default route sample.
!
ip route 0.0.0.0/0 10.3.3.133
!!log file zebra.log
ripd.conf:! -*- rip -*-
!
! RIPd sample configuration file
!
! $Id: ripd.conf.sample,v 1.1.1.1 2002/12/13 20:15:30 paul Exp $
!
hostname quagga
password zebra
!
! debug rip events
! debug rip packet
!
router rip
! network 11.0.0.0/8
! network eth0
! route 10.0.0.0/8
! distribute-list private-only in eth0
!
!access-list private-only permit 10.0.0.0/8
!access-list private-only deny any
!.
!log file ripd.log
!
log stdout
vtysh.conf:!
! Sample configuration file for vtysh.
!
!service integrated-vtysh-config
hostname quagga
username root nopassword
!Взал дефолтные конфиги чтобы запустить без настроек зебру и рипд и потестить возможности режима vtysh -c
Порывшись в архиве майл-листа квагги, нашел такой синтаксис:vtysh -c enable -c 'config term' -c 'interface eth0' -c 'bandwidth 427' -c exit -c exit -c 'show interface eth0'
Теперь команда отрабатывает без ошибки, но настройки не применяются. По-прежнему работает только show. Чё ж за фигня такая?
>Порывшись в архиве майл-листа квагги, нашел такой синтаксис:
>
>vtysh -c enable -c 'config term' -c 'interface eth0' -c 'bandwidth 427'
>-c exit -c exit -c 'show interface eth0'
>
>Теперь команда отрабатывает без ошибки, но настройки не применяются. По-прежнему работает только
>show. Чё ж за фигня такая?возможно после изменения надо вызывать write?
>возможно после изменения надо вызывать write?райт просто сбрасывает то, что в сессии наконфигуряли, в файлы.
> enable password zebraчтобы выполнить команду назначения ip, надо войти в привилегированный режим
>> enable password zebra
>
>чтобы выполнить команду назначения ip, надо войти в привилегированный режимНу да. vtysh -c enable -c бла-бла-бла
В завершение нашей передачи.Правильный синтаксис:
vtysh -c 'configure terminal' -c 'interface eth2' -c 'ip address 10.9.9.9/24' -c exit -c exit'
vtysh -c 'show interface eth2'
Параметры режима конфигурирования vtysh умеет применять только начиная с версии 0.99. Во всех младших версиях работают только команды show.Информация получена от одного из мантейнеров проекта, Andrew J. Schorr.
>Правильный синтаксис:
>
>vtysh -c 'configure terminal' -c 'interface eth2' -c 'ip address 10.9.9.9/24' -c
>exit -c exit'
>Последняя кавычка случайно попала. То есть
vtysh -c 'configure terminal' -c 'interface eth2' -c 'ip address 10.9.9.9/24' -c
exit -c exit