Bir WLC 2504 kontrol cihazından yapılandırmayı yedeklemenin otomatik bir yolu var mı?


11

Denetleyici yapılandırma dosyasını otomatik bir işlemle yedeklemenin bir yolunu arıyorum. Yapılandırmanın bir kerelik bir tftp kopyasını uzak bir ana bilgisayara yaptığı anlaşılan web arayüzüne bağlantılar gördüm, ancak kopyayı planlamanın bir yolunu arıyorum.

Cisco WLC'ler için yapılandırma yedeklemelerini otomatikleştirmenin bir yolunu bilen var mı?


Bu soruyu gördün mü ? Doğrudan uygulanabilir değil, ama muhtemelen yararlı ...
Craig Constantine

1
Teşekkürler @CraigConstantine, ancak WLC'ler "term len 0" gibi yaygın IOS-izmlerinden bazılarını takip etmeyen özel bir yazılım çalıştırıyor - muhtemelen bir yerde saf bir yapılandırma dökümü için belirsiz bir komut var, ancak henüz bulamadım o.
Peter Grace

1
... bu Cisco destek dizisine ne dersiniz ?
Craig Constantine

2
İdeal olarak Cisco Prime Altyapısı kullanılacaktır, ancak OP'nin sıfır maliyetli seçenekler aradığından şüpheleniyorum.
generalnetworkerror

Yanıtlar:


8

WLC'de oturum açmak için bir komut dosyası kullanın ve aktarım komutunu çalıştırın: http://www.cisco.com/en/US/docs/wireless/controller/6.0/command/reference/cli60.html#wp1327209

Bunu, yapılandırmayı WLC'den TFTP / SFTP / FTP yoluyla başka bir sunucuya yüklemek için kullanabilirsiniz.

(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) >

Bağlantı WLC 6.0'ı gösterirken, örnek 7.4 üzerinde çalıştırıldı.


Sftp yalnızca belirli kontrolörler / devirler için mi geçerli? Yalnızca tftp veya ftp'yi seçebiliyorum.
Peter Grace

Bu yöntem tftp için çalışır ve beklemek gibi bir şeyle otomatikleştirilebilir. Bu benim sorunumu çözdü!
Peter Grace

SFTP 7.4
sürümünde

5

Beklenti , iş için düşünmek için iyi bir aday olabilir.

Aşağıda birlikte oynadığım için yorumladığım bir örnek şablon var. Bir WLC'de oturum açar, çalışan yapılandırmayı alır ve istediğiniz bir dosyaya ekler.

Örnek dosya adı ve konumu /var/log/script-log/config-log.txt

Dosya adını ve konumunu, seçtiğiniz bir dosyada (yeterli izinlerle) ve WLC'nizin kullanıcı adını, parolasını ve IP adresini değiştirmeniz gerekir.

Son olarak, crontab'ınızı istediğiniz bir aralığı kullanarak yedekleme komut dosyasını yürütmek üzere düzenleyebilirsiniz.

Crontab örneği:

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

Yapılandırma yedekleme komut dosyası örneği:

#!/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

Ben beklemek kullanmayı umuyordum ama run-config çıktı legioxi yanıtında belirtildiği gibi "transfer upload" ham yapılandırma üst olamaz. Ne yapıyorum yara düzenli olarak transfer upload start komutunu başlatmak için bir beklemek komut dosyası kullanmak oldu.
Peter Grace

4

Bu eski bir yazı olduğunu biliyorum, ama benim denetleyicileri yedekleme otomatikleştirmek için bulabildiğim en iyi yolu SNMP cron çalıştırmak bir komut dosyası kullanmak oldu.

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

Açıkça <> içindeki öğeleri kurulumunuza uyacak şekilde değiştirin. Umarım bir yerlerde birileri bunu faydalı bulabilir.


Güzel bulmak. SNMP yazma yeteneği her zaman küçümsenir!
RedShift

4

Kaç cihazınız olduğuna bağlı olarak, Rancid'i onlarla çalışmasını sağlamak için hackleyebilirsiniz . Sonra bir sürüm kontrol sistemi ile kurabilir ve zamanla diffs ile güzel bir web gui'ye sahip olabilirsiniz.

Çok fazla cihazınız yoksa, [ cloginRancid'in bir kısmı] crontabgünlük olarak adlandırılan bir komut dosyasında yeterli olmalıdır ,

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

Bu temel var bash için neredeyse sonsuz uzatılabilir döngüsü.


2
"show run" WLC'de geçerli bir komut değildir, show-config'i gösterir ve o zaman bile durur ve sizi sayfa sayfa yönlendirir. "Dönem len 0" kabul etmeyecek - bu düzenli bir IOS olsaydı, sadece diğer tüm cisco cihazlarını yedeklemek için kullandığım komut dosyasını kullanırdım .. :(
Peter Grace

3
config paging disabledIOS "len 0" terimi ile eşdeğerdir. İyi şanslar show run-configolsa haddeleme alır sonra durdurmaya çalışıyor . Hala bir ilk "Devam etmek için enter tuşuna basın" var.
generalnetworkerror

@generalnetworkerror, FYI yapılandırma çağrı devre dışı, telnet ve ssh oturumlarını sahip olduğumuz WLC4404'lere kilitler
Mike Pennington

1
@MikePennington: Sayfalama devre dışı bırakıldı, SSH oturumunda WLC 5508 v7.5.102.0'da kilitlenmeden test edildi.
generalnetworkerror
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.