WLC 2504コントローラから設定をバックアップする自動化可能な方法はありますか?


11

自動プロセスを介してコントローラー構成ファイルをバックアップする方法を探しています。リモートホストへの設定の1回限りのtftpコピーを実行するように見えるWebインターフェイスへのリンクを見てきましたが、コピーをスケジュールする方法を探しています。

Cisco WLCの構成バックアップを自動化する方法を知っている人はいますか?


この質問を見ましたか?直接は当てはまりませんが、役立つ可能性があります...
Craig Constantine

1
@CraigConstantineに感謝しますが、WLCは "term len 0"のような一般的なIOS主義に準拠していないカスタムソフトウェアを実行します。おそらく、純粋な構成ダンプを許可するためのあいまいなコマンドがあるでしょうが、まだ見つけていませんそれ。
Peter Grace

1
... このシスコのサポートスレッドはどうですか?
クレイグコンスタンティン

2
理想的にはCisco Prime Infrastructureが使用されますが、OPはゼロコストのオプションを探していると思います。
generalnetworkerror 2013

回答:


8

スクリプトを使用してWLCにログインし、転送コマンドを実行します。http//www.cisco.com/en/US/docs/wireless/controller/6.0/command/reference/cli60.html#wp1327209

これを使用して、TFTP / SFTP / FTP経由でWLCから別のサーバーに構成をアップロードできます。

(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しか選択できません。
Peter Grace、

この方法はtftpで機能し、expectなどの方法で自動化できます。これは私の問題を解決します!
Peter Grace

SFTPは7.4で導入されました:リリースノート
some_guy_long_gone '18

5

期待は仕事のために検討するのに良い候補かもしれません。

以下は、私がまとめたテンプレートの例です。このテンプレートは、コメントアウトして遊んでいただけます。WLCにログインし、実行コンフィギュレーションを取得して、選択したファイルに追加します。

ファイル名と場所の例は /var/log/script-log/config-log.txt

WLCのユーザー名、パスワード、IPアドレスだけでなく、ファイル名と場所を(適切なアクセス許可を使用して)選択したファイルに変更する必要があります。

最後に、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

expectを使用することを望んでいましたが、legioxiの回答で述べられているように、run-configからの出力が「転送アップロード」の生の設定を上回ることはできません。私がやったことは、expectスクリプトを使用して、定期的にtransfer upload startコマンドをトリガーすることでした。
Peter Grace

4

私はこれが古い投稿であることを知っていますが、コントローラーからのバックアップを自動化する最善の方法は、cronから実行されるスクリプトでSNMPを使用することでした。

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 2014

4

お持ちのデバイスの数によっては、Rancidをハックして、Rancidで動作させることができます。次に、バージョン管理システムを使用してセットアップし、時間の経過とともに差分を表示する素晴らしいWeb GUIを作成できます。

デバイス数cloginが少ない場合は、crontab毎日から呼び出されるスクリプトで[ Rancidの一部]で十分です。アラ

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 forループです。


2
「show run」はWLCで有効なコマンドではありません。それはshow running-configであり、停止してもページごとに表示されます。「term len 0」を受け入れません-これが通常のIOSである場合、他のすべてのシスコデバイスのバックアップに使用するのと同じスクリプトを使用するだけです。:(
Peter Grace

3
config paging disabledIOS "term len 0"と同等です。show run-configそれが転がり始めたら中止しようとする幸運。最初の「続行するにはEnterキーを押してください」がまだあります。
generalnetworkerror 2013

@ generalnetworkerror、FYI構成のページングが無効になっていると、Telnetおよびsshセッションが、WLC4404にロックされます
Mike Pennington

1
@MikePennington:SSHセッションでWLC 5508 v7.5.102.0のロックアップなしでテストされたページング無効。
generalnetworkerror 2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.