Apakah ada cara otomatis untuk membuat cadangan konfigurasi dari pengontrol WLC 2504?

11

Saya mencari cara untuk mencadangkan file konfigurasi pengontrol melalui proses otomatis. Saya telah melihat tautan ke antarmuka web yang tampaknya melakukan salinan tftp konfigurasi untuk host jarak jauh, namun saya sedang mencari cara untuk menjadwalkan salinan.

Apakah ada yang tahu cara untuk mengotomatisasi cadangan konfigurasi untuk Cisco WLCs?

Peter Grace
sumber
Sudahkah Anda melihat pertanyaan ini ? Tidak secara langsung berlaku, tetapi mungkin bermanfaat ...
Craig Constantine
1
Terima kasih @CraigConstantine, namun WLC menjalankan perangkat lunak khusus yang tidak mengikuti beberapa IOS-isme umum seperti "istilah len 0" - mungkin ada perintah yang tidak jelas di suatu tempat untuk memungkinkan dump konfigurasi murni, tapi saya belum menemukan Itu.
Peter Grace
1
... bagaimana dengan thread dukungan Cisco ini ?
Craig Constantine
2
Idealnya Cisco Prime Infrastructure akan digunakan, tetapi saya menduga OP sedang mencari opsi tanpa biaya.
generalnetworkerror

Jawaban:

8

Gunakan skrip untuk masuk ke WLC dan jalankan perintah transfer: http://www.cisco.com/en/US/docs/wireless/controller/6.0/command/reference/cli60.html#wp1327209

Anda dapat menggunakan ini untuk mengunggah konfigurasi dari WLC ke server lain melalui 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) >

Sementara tautan menunjuk ke WLC 6.0, contoh dijalankan pada 7.4.

some_guy_long_gone
sumber
Apakah sftp hanya valid untuk pengontrol / revs tertentu? Saya hanya dapat memilih tftp atau ftp.
Peter Grace
Metode ini berfungsi untuk tftp, dan dapat diotomatisasi melalui sesuatu seperti harapkan. Ini menyelesaikan masalah saya!
Peter Grace
SFTP diperkenalkan di 7.4: Catatan Rilis
some_guy_long_gone
5

Harapkan mungkin calon yang baik untuk dipertimbangkan untuk pekerjaan itu.

Di bawah ini adalah contoh template yang telah saya kumpulkan yang dikomentari untuk Anda mainkan. Ini akan masuk ke WLC, ambil konfigurasi yang sedang berjalan dan menambahkannya ke file pilihan Anda.

Contoh nama file dan lokasi adalah /var/log/script-log/config-log.txt

Anda harus mengubah nama file dan lokasi menjadi file pilihan Anda (dengan izin yang memadai) serta nama pengguna, kata sandi, dan alamat IP WLC Anda.

Akhirnya Anda dapat mengedit crontab Anda untuk menjalankan skrip cadangan menggunakan interval yang diinginkan.

Contoh crontab:

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

Contoh skrip cadangan konfigurasi:

#!/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
satu kali
sumber
Saya berharap untuk menggunakan harapan tetapi output dari run-config tidak dapat melebihi konfigurasi baku "transfer upload" seperti yang disebutkan dalam jawaban legioxi. Apa yang akhirnya saya lakukan adalah menggunakan skrip ekspektasi untuk memicu perintah mulai unggah transfer pada interval reguler.
Peter Grace
4

Saya tahu ini adalah posting lama, tetapi cara terbaik yang bisa saya temukan untuk mengotomatiskan pencadangan dari pengontrol saya adalah dengan menggunakan SNMP dalam skrip yang dijalankan dari 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

Jelas ganti item dalam <> agar sesuai dengan pengaturan Anda. Semoga seseorang di suatu tempat dapat menemukan ini bermanfaat.

Will N
sumber
Temuan yang bagus. Kemampuan menulis SNMP selalu dianggap remeh!
RedShift
4

Bergantung pada berapa banyak perangkat yang Anda miliki, Anda dapat meretas Rancid untuk membuatnya berfungsi dengan mereka. Kemudian Anda dapat mengaturnya dengan sistem kontrol versi dan memiliki web gui yang bagus dengan diffs dari waktu ke waktu.

Jika Anda tidak memiliki banyak perangkat, [ cloginbagian dari Rancid] harus mencukupi dalam skrip yang dipanggil dari crontabdaily, á la

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

Ini adalah dasar bash untuk loop yang dapat diperpanjang hampir tanpa batas.

Jan
sumber
2
"show run" bukan perintah yang valid di WLC, itu menunjukkan running-config dan bahkan kemudian berhenti dan meminta Anda halaman demi halaman. Itu tidak akan menerima "istilah len 0" - jika ini adalah IOS biasa, saya hanya akan menggunakan script yang sama yang saya gunakan untuk membuat cadangan semua perangkat cisco saya yang lain .. :(
Peter Grace
3
config paging disabledsetara dengan iOS "term len 0". Semoga berhasil menggugurkan show run-configsetelah itu bergulir. Masih ada inisial "Tekan enter untuk melanjutkan."
generalnetworkerror
@generalnetworkerror, FYI paging konfigurasi dinonaktifkan mengunci sesi telnet dan ssh ke WLC4404 yang kami miliki
Mike Pennington
1
@MikePennington: Paging dinonaktifkan diuji tanpa penguncian pada WLC 5508 v7.5.102.0 di sesi SSH.
generalnetworkerror