CÔNG TY CỔ PHẦN DỊCH VỤ CÔNG NGHỆ DATECH

Số 23E4 KĐT Cầu Diễn, Tổ 7, Phú Diễn, Bắc Từ Liêm, Hà Nội


Backup và Khôi Phục Cấu Hình Tự Động trên Switch Cisco Catalyst

Backup và Khôi Phục Cấu Hình Tự Động trên Switch Cisco Catalyst

Trong bài viết này, mình sẽ hướng dẫn các bạn 2 tính năng khá hay trên các dòng switch Catalyst của Cisco, nó rất hữu ích trong trường hợp các bạn muốn test thử cấu hình, hoặc các bạn đang cấu hình remote từ xa. Đó là tính năng Config Archive, hay còn gọi là backup cấu hình, và Config Revert, là tính năng tự động khôi phục lại cấu hình.

Tổng quan

Tính năng Config Archive và Config Revert có trên các dòng switch Cisco sử dụng hệ điều hành IOS như các dòng Catalyst 1000, 2960, 3650, 3850, và các dòng switch Catalyst 9000 Series

Mặc dù tính năng này khá hay, tuy nhiên mình thấy ít người sử dụng trong thực tế, có thể là do các bạn chưa biết đến tính năng này, hoặc nếu các bạn đang ngồi cạnh switch thì nó có thể nó không thực sự cần thiết. Do vậy chúng ta sẽ cùng xem nó có thể làm được gì, và giúp chúng ta trong các tình huống nào nhé.

Tự động backup cấu hình - Config Archive

Nhiều tình huống mà khi các bạn cấu hình 1 số tính năng để test, hoặc khi các bạn cấu hình xong nhưng không hoạt động. Các bạn đã thử kiểm tra nhưng vẫn không tìm ra lỗi. Lúc này các bạn muốn xóa toàn bộ những cấu hình liên quan đến các tính năng đó để làm lại từ đầu. Tuy nhiên việc xóa những đoạn cấu hình này không hề đơn giản, hoặc tốn nhiều thời gian.

Đây là lúc mà tính năng Config Archive sẽ cực kỳ hữu dụng. Đây là tính năng cho phép các bạn tạo ra các bản backup config. Các bạn có thể cài đặt tạo bản backup mỗi khi lưu cấu hình, hoặc tự động backup sau 1 khoảng thời gian nhất định. Khi đó, mỗi khi các bạn cấu hình xong 1 tính năng nào đó, và nó hoạt động bình thường, chúng ta sẽ tạo ra 1 bản backup và có thể khôi phục lại khi cần.

Để cấu hình Config Archive, các bạn vào mode config và kích hoạt bằng lệnh archive.

switch(config)#archive

switch(config-archive)#

Chúng ta sẽ có 1 số option:

Đầu tiên các bạn chỉ định nơi sẽ lưu trữ file backup bằng lệnh path. Có nhiều lựa chọn, các bạn có thể lưu trong ổ flash của switch hoặc lưu trên các server ftp, https đều được. Nếu các bạn để nguyên đường dẫn là flash:ftp:, thì tên file backup sẽ được lưu theo định dạng thời gian, bao gồm ngày tháng, và giờ mà bản backup được tạo ra, ví dụ Fer--5-09-11-09.281-0. Các bạn cũng có thể chỉ định tên file luôn ở phía sau flash:. Ví dụ mình đặt tên là flash:switch-backup, thì khi đó file backup sẽ có tên là switch-backup cộng với thời gian mà bản backup được tạo, cộng với số từ 0 trở đi, bản backup đầu tiên là 0, tiếp theo là 1 2… File backup đầu tiên khi đó sẽ là switch-backup-Fer--5-09-11-09.281-0.

Cisco hỗ trợ backup ra nhiều loại Server khác nhau, các bạn có thể cấu hình tùy theo yêu cầu.

switch(config-archive)#path ?

bootflash: Write archive on bootflash: file system

crashinfo: Write archive on crashinfo: file system

flash: Write archive on flash: file system ftp: Write archive on

ftp: file system http: Write archive on

http: file system

https: Write archive on https: file system

rcp: Write archive on rcp: file system

scp: Write archive on scp: file system sftp: Write archive on

sftp: file system tftp: Write archive on tftp: file system

switch(config-archive)#path

Backup vào flash:

switch(config-archive)#path flash:switch-backup

Backup vào TFTP Server:

switch(config-archive)#path tftp://172.16.1.10/switch-backup

Backup vào FTP Server

switch(config)#ip ftp username admin
switch(config)#ip ftp password Admin@123
switch(config)#archive
switch(config-archive)#path ftp://172.16.1.10/switch-backup

Tiếp theo các bạn giới hạn số lượng bản backup bằng lệnh maximum. Các switch Catalyst có thể tạo tối đa 14 bản backup, khi bản thứ 15 được tạo thì bản đầu tiên sẽ bị xóa.

switch(config-archive)#maximum 14

Tùy chọn write-memory nghĩa là bất cứ khi nào các bạn lưu cấu hình thì switch sẽ tạo ra 1 bản backup.

switch(config-archive)#write-memory

Các bạn cũng có thể cài đặt tự động backup bằng lệnh time-period, phía sau sẽ là thời gian switch tự động tạo backup, tính bằng phút. Ví dụ các bạn muốn tạo backup hàng ngày, thì các bạn sẽ nhập time là 1440 phút, tương đương với 24 giờ.

switch(config-archive)#time-period 1440

Nếu các bạn bật cả 2 tùy chọn write-memory và time-period, thì cứ khi nào các bạn lưu cấu hình, hoặc sau 24 giờ switch sẽ tạo thêm 1 bản backup.

Dưới đây là toàn bộ cấu hình của Config Archive.

switch(config)#archive
switch(config-archive)#path flash:switch-backup
switch(config-archive)#write-memory
switch(config-archive)#maximum 14
switch(config-archive)#time-period 1440

Ok phần cấu hình như vậy là xong, mình sẽ test thử bằng cách đặt hostname cho switch và lưu cấu hình lại

switch#configure terminal
switch(config)#hostname DATECH
DATECH(config)#end
DATECH#write memory
Building configuration...
[OK]
DATECH#

Để kiểm tra các bản backup, các bạn show archive. Các bạn sẽ thấy đang có 1 bản backup được tạo ra khi mình vừa lưu cấu hình. Phía trên cũng thể hiện các thông số mà các bạn đã cấu hình, và tên file backup tiếp theo. Bản backup gần nhất sẽ có chữ most recent.

DATECH#show archiveThe maximum archive configurations allowed is 14.
There are currently 1 archive configurations saved.
The next archive file will be named flash:switch-backup--1 Archive # Name 1 flash:switch-backup-Aug--5-02-59-40.992-0 <- Most Recent 2 3 4 5 6 7 8 9 10 11 12 13 14
DATECH#

Mình sẽ shutdown cổng g1/0/1 đi và tạo thêm 1 bản backup bằng lệnh write memory.

DATECH#configure terminal
DATECH(config)#interface gigabitEthernet 1/0/1
DATECH(config-if)#shutdown
DATECH(config-if)#end
DATECH#write memory
Building configuration...
[OK]
DATECH#

Bây giờ mình đã có 2 bản backup.

DATECH#show archive
The maximum archive configurations allowed is 14.
There are currently 2 archive configurations saved.
The next archive file will be named flash:switch-backup--2 Archive # Name 1 flash:switch-backup-Aug--4-02-59-40.992-0 2 flash:switch-backup-Aug--4-03-05-32.040-1 <- Most Recent 3 4 5 6 7 8 9 10 11 12 13 14
DATECH#

Để so sánh sự khác nhau, các bạn sử dụng lệnh show archive config diff, sau đó là tên 2 file backup. Các bạn sẽ thấy các câu lệnh khác nhau giữa 2 bản backup này, dấu cộng nghĩa là bản backup phía sau được cấu hình thêm, còn dấu trừ là đã bị loại bỏ đi bằng lệnh no. Trường hợp của mình là thêm câu lệnh shutdown trong cổng g1/0/1.

DATECH#show archive config diff flash:switch-backup-Fer--5-02-59-40.992-0 flash:switch-backup-Fer--5-03-05-32.040-1
!Contextual Config Diffs:
interface GigabitEthernet1/0/1
 +shutdown

DATECH#

Để khôi phục lại các bản backup trước, ở mode EXEC, các bạn dùng lệnh configure replace, sau đó là tên file backup muốn khôi phục, mình sẽ khôi phục lại file backup mà mình chưa shutdown cổng.

DATECH#configure replace flash:switch-backup-Fer--5-02-59-40.992-0
This will apply all necessary additions and deletions to replace the current running configuration with the contents of the specified configuration file, which is assumed to be a complete configuration, not a partial configuration. Enter Y if you are sure you want to proceed. ? [no]: Y
Total number of passes: 0 Rollback Done

Đơn giản vậy thôi

Tự đông khôi phục cấu hình - Config Revert

Config Archive là cách đơn giản để các bạn quay lại cấu hình cũ, tuy nhiên có 1 số trường hợp nó sẽ không giúp ích gì nếu các bạn mất quyền truy cập vào thiết bị khi đang cấu hình. Ví dụ các bạn đang remote vào switch để cấu hình bằng TELNET, SSH, hoặc remote qua teamview để cấu hình cho khách. Các bạn cấu hình 1 access-list để chặn 1 dịch vụ nhưng nó vô tình chặn luôn máy tính của các bạn, hoặc các bạn thay đổi IP và mất quyền truy cập vào switch hoặc làm mất kết nối internet đến switch, đồng nghĩa với việc các bạn mất kết nối remote. Khi đó các bạn có thể sẽ phải đi đến tận nơi để cắm dây console, hoặc nhờ người thao tác hộ. Nó sẽ khá rắc rối. Config Revert là 1 tính năng hữu ích trong các trường hợp này.

Tính năng này đơn giản là nó sẽ tạo ra 1 bản backup tại thời điểm các bạn cấu hình revert, và tự động khôi phục lại bản backup này sau 1 khoảng thời gian nhất định.

Để cấu hình tính năng này, tại mode EXEC, các bạn gõ lệnh config terminal revert timer, sau đó là khoảng thời gian các bạn muốn khôi phục lại cấu hình hiện tại, được tính bằng phút, ví dụ mình sẽ đặt là 1 phút. Switch sẽ tạo 1 bản backup cho cấu hình hiện tại và thông báo sẽ rollback lại trong 1 phút.

Trong khoảng thời gian đó, mình sẽ thay đổi hostname sang 1 tên khác là ABCD. Các bạn có thể thấy sau 1 phút thì switch sẽ tự động khôi phục lại cấu hình ban đầu với hostname là DATECH.

DATECH#configure terminal revert timer 1
Rollback Confirmed Change: Backing up current running config to flash:switch-backup-Fer--5-03-26-22.103-2

Enter configuration commands, one per line.  End with CNTL/Z.
Rollback Confirmed Change: Rollback will begin in one minute.
Enter "configure confirm" if you wish to keep what you've configured
*Fer  5 03:26:19.357: %ARCHIVE_DIFF-5-ROLLBK_CNFMD_CHG_BACKUP: Backing up current running config to flash:switch-backup-Fer--5-03-26-19.103-2
*Fer  5 03:26:19.358: %ARCHIVE_DIFF-5-ROLLBK_CNFMD_CHG_START_ABSTIMER: User: console(Priv: 15, View: 0): Scheduled to rollback to config flash:switch-backup-Fer--5-03-26-19.103-2 in 1 minutes
*Fer  5 03:26:19.358: %ARCHIVE_DIFF-5-ROLLBK_CNFMD_CHG_WARNING_ABSTIMER: System will rollback to config flash:switch-backup-Fer--5-03-26-19.103-6 in one minute. Enter "configure confirm" if you wish to keep what you've configured
DATECH(config)#
DATECH(config)#hostname ABCD
ABCD(config)#
ABCD(config)#Rollback Confirmed Change: rolling to:flash:switch-backup-Fer--5-03-26-19.103-6

Total number of passes: 1
Rollback Done

*Fer 5 03:27:19.358: %ARCHIVE_DIFF-5-ROLLBK_CNFMD_CHG_ROLLBACK_START: Start rolling to: flash:switch-backup-Fer--5-03-26-19.103-2
*Fer 5 03:27:19.377: Rollback:Acquired Configuration lock.
*Fer 5 03:27:19.377: %SYS-5-CONFIG_R: Config Replace is Done
*Fer 5 03:27:19.638: %SYS-5-CONFIG_P: Configured programmatically by process Policy Manager from console as console
DATECH(config)#

Khi cấu hình, các bạn có thể cấu hình timer là 10 hoặc 20 phút tùy vào các bạn tính toán mất bao lâu để cấu hình xong 1 tính năng cụ thể, sau đó chúng ta cấu hình các tính năng tiếp theo như routing, Access-list, thay đổi IP. Nếu chúng ta bị mất kết nối đến switch, hoặc thay đổi làm mất kết nối internet, thì các bạn chỉ cần chờ hết thời gian timer là cấu hình lại quay lại trạng thái bình thường và các bạn có thể truy cập lại.

Nếu trong khoảng thời gian timer, các bạn xác nhận cấu hình đúng và không có vấn đề gì, các bạn có thể hủy bỏ timer bằng lệnh config confirm, khi đó thì lệnh revert sẽ bị hủy bỏ. Các bạn có thể tạo lại lệnh revert cho các cấu hình tiếp theo.

DATECH#configure confirm

Để kiểm tra timer có hoạt động hay không, các bạn có thể sử dụng lênh show archive config rollback timer. Nếu không có timer nào được cấu hình thì switch sẽ báo là no rollback confirm. Nếu có timer thì các bạn sẽ thấy khoảng thời gian bắt đầu tính rollback.

DATECH#show archive config rollback timer
%No Rollback Confirmed Change pending

DATECH#
DATECH#show archive config rollback timer
Time configured(or reconfigured): 03:37:30 UTC Fri Fer 5 2023
Timer type: absolute timer
Timer value: 10 min
User: console

DATECH#

Tuy nhiên file backup không có tác dụng như lệnh write memory, do vậy thì khi cấu hình xong, các bạn vẫn phải write để lưu cấu hình vào startup-config nhé.

Ok như vậy là mình đã hướng dẫn các bạn 2 tính năng khá hữu ích khi các bạn test tính năng hoặc cấu hình remote thiết bị từ xa. Hi vọng bài viết này sẽ giúp ích cho các bạn trong công việc. Nếu bạn có vấn đề gì thắc mắc đừng ngần ngại liên hệ với chúng tôi theo thông tin dưới đây để được hỗ trợ thêm.

Hẹn gặp lại các bạn trong các bài viết tiếp theo !

CÔNG TY CỔ PHẦN DỊCH VỤ CÔNG NGHỆ DATECH

• Địa chỉ: Số 23E4 KĐT Cầu Diễn, Tổ 7, Phú Diễn, Bắc Từ Liêm, Hà Nội

• Điện thoại: 02432012368

• Hotline: 098 115 6699

• Email: info@datech.vn

• Website: https://datech.vn