Чи існує автоматичний спосіб резервного копіювання конфігурації з контролера WLC 2504?


11

Я шукаю спосіб резервного копіювання файлу конфігурації контролера за допомогою автоматичного процесу. Я бачив посилання на веб-інтерфейс, який, як видається, одноразово виконує tftp копію конфігурації на віддалений хост, проте я шукаю спосіб запланувати копію.

Хтось знає про спосіб автоматизації резервного копіювання конфігурації для Cisco WLC?


Ви бачили це питання ? Не піддається прямому застосуванню, але можливо корисно ...
Крейг Костянтин

1
Спасибі @CraigConstantine, проте WLC запускають користувальницьке програмне забезпечення, яке не дотримується деяких поширених IOS-образів, таких як "термін len 0" - можливо, десь незрозуміла команда, щоб дозволити чистий конфігураційний дамп, але мені ще потрібно знайти це.
Пітер Грейс


2
В ідеалі була б використана інфраструктура Cisco Prime, але я підозрюю, що ОП шукає варіанти з нульовою вартістю.
загальна мережева оператор

Відповіді:


8

Використовуйте сценарій для входу в WLC та запустіть команду передачі: http://www.cisco.com/en/US/docs/wireless/controller/6.0/command/reference/cli60.html#wp1327209

Ви можете використовувати це для завантаження конфігурації з WLC на інший сервер через TFTP / SFTP / FTP.

(Cisco Controller) >transfer upload mode sftp 

(Cisco Controller) >transfer upload username my-osx-user

(Cisco Controller) >transfer upload password my-os-password

(Cisco Controller) >transfer upload serverip 192.168.1.10

(Cisco Controller) >transfer upload path /Users/my-osx-user/

(Cisco Controller) >transfer upload filename wlc.config

(Cisco Controller) >transfer upload datatype config

(Cisco Controller) >transfer upload start

Mode............................................. SFTP
SFTP Server IP................................... 192.168.1.10
SFTP Server Port................................. 22
SFTP Path........................................ /Users/my-osx-user/
SFTP Filename.................................... wlc.config
SFTP Username.................................... my-osx-user
SFTP Password.................................... *********
Data Type........................................ Config File 
Encryption....................................... Disabled

                                                          **************************************************
                            ***  WARNING: Config File Encryption Disabled  ***
                                                                              **************************************************


Are you sure you want to start? (y/N) y

SFTP Config transfer starting.

File transfer operation completed successfully.

(Cisco Controller) >

Хоча посилання вказує на WLC 6.0, приклад був запущений на 7.4.


Чи sftp дійсний лише для певних контролерів / оборотів? Я можу вибрати лише tftp або ftp.
Пітер Грейс

Цей метод працює для tftp, і його можна автоматизувати через щось на кшталт очікування. Це вирішує мою проблему!
Пітер Грейс


5

Очікування може бути хорошим кандидатом для розгляду роботи.

Нижче наведено приклад шаблону, який я зібрав, який ви прокоментували для гри. Він увійде в WLC, захопить запущену конфігурацію і додасть її до обраного вами файлу.

Приклад імені файлу та місцезнаходження /var/log/script-log/config-log.txt

Вам потрібно буде змінити ім'я та місце розташування у обраному вами файлі (з відповідними дозволами), а також ім'ям користувача, паролем та IP-адресою вашого WLC.

Нарешті ви можете відредагувати свій crontab, щоб виконати сценарій резервного копіювання, використовуючи потрібний інтервал.

Приклад Crontab:

# Run configuration backup every night at midnight
0 0 * * * /path/to/script/script-name

Приклад сценарію резервного копіювання конфігурації:

#!/usr/bin/expect

set timeout 15

set user "username-here"
set password "password-here"
set ipaddress1 "ip-address-here"


# Store the current date in 'date' and add header to log for appending separation

catch { exec sh -c { date } } date
set env(date) "$date"
exec sh -c {
             {
               echo -e "\n\n==================================================="
               echo -e "= WLC Configuration - $date"
               echo -e "===================================================\n\n"
             } >>/var/log/script-log/config-log.txt
}

# Log to the log.txt file and append to the log on subsequent runs (a)

set log [open "/var/log/script-log/config-log.txt" a]
set accum {}

# Expect diagnostic information with 1 | off = 0

exp_internal 0

# View stdout with 1 | off = 0

log_user 0

# Connect to physical WLC (ipaddr) with ssh

spawn ssh $ipaddress1
match_max 100000
sleep 1

match_max [expr 32 * 1024]
while 1  {
      expect {
        "no)?" {send "yes\r"}
        "n as:*" {send "$user\r"}
        "ser:*" {send "$user\r"}
        "assword:*" {send "$password\r"}
        "r) >"             {break}
        "denied"        {send_user "Can't login\r"; exit 1}
        "refused"       {send_user "Connection refused\r"; exit 2}
        "failed"        {send_user "Host exists. Check ssh_hosts file\r"; exit 3}
         timeout         {send_user "Timeout problem\r"; exit 4}
      }
    }

# send carriage return (\r) to make sure we get back to CLI prompt

send "\r"
sleep 1

# Remove scroll limit and show running configuration

send "config paging disable\r"
sleep 1
send "show run-config\r"
sleep 1
expect {
         "nue..." {send "\r"}
}
sleep 1
send "logout\r"
sleep 1
# Upon logging out you can either save any pending changes with y or simply use n to ignore them
send "y\r"
sleep 4

# Grab string that matched the greedy regexp

expect {
        -regexp {..*} {
            set accum "${accum}$expect_out(0,string)"
            exp_continue
        }
    }

puts $log $accum

Я сподівався використати очікувати, але вихід з run-config не може перевищити необроблений конфігурацію "transfer upload", як згадується у відповіді legioxi. Що я завершив, це використовувати сценарій очікування, щоб запустити команду запуску передачі передачі через регулярний інтервал.
Пітер Грейс

4

Я знаю, що це стара публікація, але найкращий спосіб, який я міг би знайти для автоматизації резервного копіювання з моїх контролерів, - це використовувати SNMP у сценарії, запущеному з cron.

snmpset -v2c -c <snmp_RW> <WLC_IP> .1.3.6.1.4.1.14179.1.2.9.1.1.0 i 1
snmpset -v2c -c <snmp_RW> <WLC_IP> .1.3.6.1.4.1.14179.1.2.9.1.2.0 a TFTP_Server_IP
snmpset -v2c -c <snmp_RW> <WLC_IP> .1.3.6.1.4.1.14179.1.2.9.1.3.0 s /<TFTP_Path>
snmpset -v2c -c <snmp_RW> <WLC_IP> .1.3.6.1.4.1.14179.1.2.9.1.4.0 s <File_name>
snmpset -v2c -c <snmp_RW> <WLC_IP> .1.3.6.1.4.1.14179.1.2.9.1.5.0 i 2
snmpset -v2c -c <snmp_RW> <WLC_IP> .1.3.6.1.4.1.14179.1.2.9.1.6.0 i 1

Очевидно замініть елементи в межах <>, щоб відповідати вашим налаштуванням. Сподіваємось, хтось десь може виявити це корисним.


Приємна знахідка. Можливість запису SNMP завжди недооцінена!
RedShift

4

Залежно від того, скільки у вас пристроїв, ви можете зламати Rancid, щоб змусити його працювати з ними. Тоді ви можете налаштувати його за допомогою системи контролю версій і мати гарний веб-інтерфейс, який відрізняється з часом.

Якщо у вас не так багато пристроїв, [ cloginчастина Rancid] повинна бути достатньою для сценарію, що викликається crontabщодня, а-ля

for device in wlc1 wlc2 wlc3 (..) wlcN; do
    clogin -c "show run; show clock" $device > ~/WLC-config-backups/$(date +%Y-%m-%d)-$device-backup.txt
done

Це основний bash для циклу , який може бути продовжений майже нескінченно.


2
"show run" не є дійсною командою для WLC, це show running-config, і навіть тоді вона зупиняється та пропонує вам сторінку за сторінкою. Не буду приймати "термін len 0" - якби це був звичайний IOS, я б просто застосував той самий сценарій, який використовую, щоб створити резервну копію всіх інших своїх пристроїв cisco .. :(
Peter Grace

3
config paging disabledеквівалентний IOS "термін len 0". Удачі, намагаючись перервати, show run-configяк тільки вона отримує кочення. Все ще є початкове "Натисніть Enter, щоб продовжити".
generalnetworkerror

@generalnetworkerror, FYI конфігурація підключення вимкнено блокує сеанси telnet і ssh для WLC4404, які у нас є
Майк Пеннінгтон,

1
@MikePennington: Підключення підключення тестується без блокування на WLC 5508 v7.5.102.0 в сесії SSH.
generalnetworkerror
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.