Có cách nào tự động để sao lưu cấu hình từ bộ điều khiển WLC 2504 không?


11

Tôi đang tìm cách để sao lưu tập tin cấu hình bộ điều khiển thông qua một quy trình tự động. Tôi đã thấy các liên kết đến giao diện web dường như thực hiện sao chép cấu hình một lần cho máy chủ từ xa, tuy nhiên tôi đang tìm cách lên lịch sao chép.

Có ai biết cách tự động hóa các bản sao lưu cấu hình cho các WLC của Cisco không?


Bạn đã thấy câu hỏi này ? Không trực tiếp có thể áp dụng, nhưng có thể hữu ích ...
Craig Constantine

1
Cảm ơn @CraigConstantine, tuy nhiên, các WLC chạy một phần mềm tùy chỉnh không tuân theo một số định dạng IOS phổ biến như "thuật ngữ len 0" - có thể có một lệnh tối nghĩa ở đâu đó để cho phép kết xuất cấu hình thuần túy, nhưng tôi vẫn chưa tìm thấy nó
Peter Grace

1
... làm thế nào về chủ đề hỗ trợ này của Cisco ?
Craig Constantine

2
Cơ sở hạ tầng lý tưởng của Cisco Prime sẽ được sử dụng, nhưng tôi nghi ngờ OP đang tìm kiếm các lựa chọn không chi phí.
generalnetworkerror

Câu trả lời:


8

Sử dụng tập lệnh để đăng nhập vào WLC và chạy lệnh chuyển: http://www.cisco.com/en/US/docs/w châu / contcont / 6/6 / command / reference / cli60.html # wp1327209

Bạn có thể sử dụng điều này để tải cấu hình từ WLC lên máy chủ khác thông qua 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) >

Trong khi liên kết trỏ đến WLC 6.0, ví dụ đã được chạy trên 7.4.


Là sftp chỉ hợp lệ cho các bộ điều khiển / vòng quay nhất định? Tôi chỉ có thể chọn tftp hoặc ftp.
Peter Grace

Phương pháp này hoạt động cho tftp và có thể được tự động hóa thông qua một cái gì đó như mong đợi. Điều này giải quyết vấn đề của tôi!
Peter Grace

SFTP được giới thiệu trong 7.4: Ghi chú phát hành
some_guy_long_gone

5

Hy vọng có thể là một ứng cử viên tốt để xem xét cho công việc.

Dưới đây là một ví dụ mẫu mà tôi đã tổng hợp lại để nhận xét cho bạn chơi. Nó sẽ đăng nhập vào WLC, lấy cấu hình đang chạy và nối nó vào một tệp bạn chọn.

Tên và vị trí tệp ví dụ là /var/log/script-log/config-log.txt

Bạn sẽ cần sửa đổi tên tệp và vị trí thành tệp bạn chọn (có đủ quyền) cũng như tên người dùng, mật khẩu và địa chỉ IP của WLC của bạn.

Cuối cùng, bạn có thể chỉnh sửa crontab của mình để thực thi tập lệnh sao lưu bằng khoảng thời gian mong muốn.

Ví dụ về Crontab:

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

Ví dụ tập lệnh sao lưu cấu hình:

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

Tôi đã hy vọng sử dụng kỳ vọng nhưng đầu ra từ run-config không thể vượt qua cấu hình thô của "chuyển tải lên" như được đề cập trong câu trả lời của legioxi. Những gì tôi cố gắng làm là sử dụng một tập lệnh mong đợi để kích hoạt lệnh bắt đầu tải lên chuyển đổi theo định kỳ.
Peter Grace

4

Tôi biết đây là một bài viết cũ, nhưng cách tốt nhất tôi có thể tìm thấy để tự động sao lưu từ bộ điều khiển của mình là sử dụng SNMP trong tập lệnh chạy từ 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

Rõ ràng thay thế các mục trong <> để phù hợp với thiết lập của bạn. Hy vọng ai đó ở đâu đó có thể tìm thấy điều này hữu ích.


Đẹp tìm thấy. Khả năng ghi SNMP luôn bị đánh giá thấp!
RedShift

4

Tùy thuộc vào số lượng thiết bị bạn có, bạn có thể hack Rancid để thiết bị hoạt động với chúng. Sau đó, bạn có thể thiết lập nó với một hệ thống kiểm soát phiên bản và có một gui web đẹp với khác biệt theo thời gian.

Nếu bạn không có nhiều thiết bị, [ cloginmột phần của Rancid] sẽ có đủ trong một tập lệnh được gọi từ crontabhàng ngày, á 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

Đó là một cơ sở bash cho vòng lặp có thể được mở rộng gần như vô hạn.


2
"show run" không phải là một lệnh hợp lệ trên WLC, nó hiển thị running-config và thậm chí sau đó nó dừng lại và nhắc bạn từng trang một. Nó không chấp nhận "hạn len 0" - nếu đây là một iOS thông thường, tôi sẽ chỉ sử dụng cùng một tập lệnh mà tôi sử dụng để sao lưu tất cả các thiết bị cisco khác của mình .. :(
Peter Grace

3
config paging disabledtương đương với iOS "hạn len 0". Chúc may mắn cố gắng phá thai show run-configmột khi nó được lăn. Vẫn còn một "Nhấn enter để tiếp tục" ban đầu.
generalnetworkerror

@generalnetworkerror, FYI cấu hình phân trang bị vô hiệu hóa khóa các phiên telnet và ssh vào WLC4404 mà chúng ta có
Mike Pennington

1
@MikePennington: Paging bị vô hiệu hóa được kiểm tra mà không bị khóa trên WLC 5508 v7.5.102.0 trong phiên SSH.
generalnetworkerror
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.