• Главная
  • Заказать Услуги
  • Статьи
  • Контакты
  • Рубрики
    • Asterisk (2)
    • bash (6)
    • cmd (1)
    • Linux (123)
    • Mikrotik (27)
    • TheDude (1)
    • WordPress (3)
    • Видео (6)
    • Заказать Услуги (2)
    • Статьи (51)
02 Июн2015

Скрипт смены настроек на коммутаторе, через по телнету.

02/06/2015. Written by . Posted in Linux

Для смены настроек на одном, или 10ке коммутаторов можно воспользоваться веб интерфейсом, или телнетом. Но даже при работе на таком кол-ве коммутаторов, можно совершить ошибку. А когда коммутаторов больше 100 сотни, или тысячи то данная задача становится уже слишком сложной.

Скрипт простенький, и даже не скрипт, а рабочий набросок

Spoiler SelectПоказать
#!/usr/bin/expect -f
set ip [lindex $argv 0] set user [lindex $argv 1] set password [lindex $argv 2] set prompt "(%|#|\\$) $";
catch {set prompt $env(EXPECT_PROMPT)}
log_file -noappend expect_log.log
# Отключим вывод
log_user 0
set timeout 10
spawn telnet $ip
# Вывод отладки
#exp_internal 1
expect "UserName:"
send "$user\n"
expect "PassWord:"
send "$password\n"
log_user 1
expect -re $prompt
expect "Fail!" {
send_user "\n\nПароль не верный!\n"
exit 1
}
# Отлов ошибки в авторизации
#expect eof
send "enable snmp\r"
#puts stdout "Snmp was enabled.\r"
send "enable sntp\r"
send "config sntp primary ntp.1.ru secondary ntp.2.ru poll-interval 720\r"
send "config time_zone operator + hour 3 min 0\r"
send "delete snmp community public\r"
send "delete snmp community private\r"
send "create snmp community publicity view CommunityView read_write\r"
send "create snmp view all 1 view_type included\r"
send "create snmp group mon v3 auth_nopriv read_view all write_view all notify_view all\r"
send "create snmp user snmpuser mon encrypted by_password auth md5 snmppass priv des snmppass\r"
send "save all\r"
# Запоминаем результат в переменной. Он может быть отображён, или записан на диск.
# set results $expect_out(buffer)
sleep 5
send "logout\r"
send eof

Параметры запуска:

./sw.exp ipaddress user password

Параметры в скрипте:

  • ntp.1.ru и ntp.2.ru ip адреса ваших ntp серверов.
  • snmpuser имя для snmp пользователя
  • snmppass ваш snmp пароль.

 

Теги: expect, switch, telnet

  • Настройка syslog-ng для сбора логов с устройств в сети. 13/01/2023
  • Отключить ipv6 протокол 25/12/2022
  • Быстрый доступ в сетевые подключения 23/05/2022
Пишите нам
Яндекс.Метрика
Powered by Warp Theme Framework