1. Backup and Restore Router cisco
Đối với vị trí Network Administrator thì việc backup/restore và update firmware của Switch/Router gần như là một việc được thực hiện khá thường xuyên. Khi làm tốt công tác này thì chúng ta sẽ giảm thiểu được thời gian downtime của hệ thống trong trường hợp có sự cố liên quan đến cấu hình và thay đổi cài đặt không như mong đợi.
2. Cách thực hiện
Thủ công, các bước thực hiện:
- Kết nối máy tính vào hệ thống mạng
- Chuẩn bị TFTP server (hoặc FTP, SCP server)
- Copy dữ liệu của từng Router, Switch lên TFTP server
Với phương thức này, ta thấy mức độ phức tạp cũng như khối lượng công việc cần thực hiện của người quản trị mạng sẽ tăng theo số lượng thiết bị, do phải thực hiện lặp đi lặp lại trên từng Router và Switch.
Đặt lịch tự động chạy script backup
Mô hình:
Cách 1: viết script backup cấu hình Router, Switch và tạo lịch tự động thực thi script
Các bước thực hiện:
- Cấu hình SSH (telnet) trên các Router, Switch
- Tạo script backup cấu hình lên FTP server
- Tạo lịch thực thi script
Triển khai:
Bước 1: cấu hình ssh và telnet:
ip domain-name bkap.edu.vn
username admin password bkap
username admin priv 15
line vty 0 4
transport input all
login local
privilege level 15
crypto key generate rsa modulus 1024
Bước 2: Viết script backup cấu hình lên FTP server
Script 1: kết nối ssh đến các Router và Switch rồi thực hiện copy file cấu hình lên FTP server
from netmiko import ConnectHandler
from datetime import datetime
Router1= {
'device_type': 'cisco_ios',
'ip': '192.168.122.118',
'username': 'admin',
'password': 'bkap',
'verbose': False,
}
Switch1={
'device_type': 'cisco_ios',
'ip': '192.168.122.190',
'username': 'admin',
'password': 'bkap',
'verbose': False,
}
all_devices=[Router1,Switch1]
current_time=datetime.now()
current_date=current_time.strftime("%d")
current_month=current_time.strftime("%m")
current_year=current_time.strftime("%Y")
for devices in all_devices:
net_connect=ConnectHandler(**devices)
net_connect.enable()
command="copy running-config ftp://192.168.137.133/cfg_device_bk/"
send_bk_command = net_connect.send_command_timing(command)
if ("Address or name of remote host" in send_bk_command):
send_Enter= net_connect.send_command_timing("\n")
if ("Destination filename" in send_Enter):
index1=send_Enter.find("[")+1
index2=send_Enter.find("]")
device_hostname=send_Enter[index1:index2]
send_Filename= net_connect.send_command_timing(device_hostname+"_"+current_date+"_"+current_month+"_"+current_year)
if ("Error" in send_Filename):
print (send_Filename)
print("Success "+device_hostname)
Chạy thử script:
Script 2: Telnet đến Router, Switch rồi show file cấu hình và lưu trữ trên máy admin
Chuẩn bị file chứa danh sách các thiết bị:
Viết script:
import getpass
import telnetlib
user = input('Enter your telnet username: ')
password = getpass.getpass()
f = open('mydevice')
for IP in f:
IP=IP.strip()
print ('Get running config from ' + (IP))
HOST = IP
tn = telnetlib.Telnet(HOST)
tn.read_until(b'Username: ')
tn.write(user.encode('ascii') + b'\n')
if password:
tn.read_until(b'Password: ')
tn.write(password.encode('ascii') + b'\n')
tn.write(b"terminal length 0\n")
tn.write(b"show run\n")
tn.write(b'exit\n')
readoutput = tn.read_all()
saveoutput = open("Device: " + HOST, "w")
saveoutput.write(readoutput.decode('ascii'))
saveoutput.write("\n")
saveoutput.close
Chạy script và kiểm tra kết quả:
Bước 3: Tạo lịch tự động chạy script
Sử dụng công cụ crontab trên linux (hoặc task scheduler trên windows):
Thực thi vào 1AM từ Thứ Hai đến Thứ Bảy:
0 1 * * 1-6 /usr/bin/env python3 /root/script-backup.py
Cách 2: sử dụng công cụ kron và archive
Kron script: kron là công cụ lên kế hoạch và thực thi các câu lệnh của hệ điều hành cisco IOS
Bước 1: Tạo kron policy chứa danh sách các lệnh mà thiết bị sẽ thực hiện vào thời gian chỉ định
(config)#kron policy-list backupconfig
(config-kron-policy)#cli show running-config | redirect ftp://192.168.137.133/cfg_device_bk/r1.cfg
Bước 2: Đặt lịch thực thi script
Đặt lịch backup mỗi 30 phút hằng ngày và Backup vào 23h chủ nhật hằng tuần:
(config)#kron occurrence Backuptime in 30 recurring
(config-kron-occurrence)#policy-list backupconfig
(config)#kron occurrence backupweekly at 23:00 Sun recurring
(config-kron-occurrence)#policy-list backupconfig
Verify:
show kron schedule
debug kron all
Archive script: archive là công cụ lưu trữ, quản lý các file cấu hình trong cisco IOS
Bước 1: Bật mode archive
(config)# archive
Bước 2: Chỉ định file backup, đường dẫn lưu backup và đặt thời gian tự động backup (30 phút / 1 lần)
(config)#archive
(config-archive)#log config
(config-archive-log-cfg)#logging enable
R1(config-archive-log-cfg)#hidekeys
R1(config-archive-log-cfg)#exit
R1(config-archive)#path ftp://192.168.137.133/$h-
R1(config-archive)#write-memory
R1(config-archive)#time-period 30
Verify:
Show archive
Mặc định số bản backup mà archive lưu trữ sẽ là 10, ta có thể thay đổi giá trị này:
(config-archive)# maximum 15
Với phương thức lên lịch thực hiện backup, mọi thứ diễn ra tự động và nằm trong kế hoạch của người quản trị, từ đó giúp cho việc quản lý cấu hình các thiết bị trở nên đơn giản và nhẹ nhàng, không phụ thuộc vào số lượng Router và Switch cần quản trị trong hệ thống.
Phần kiến thức về tạo lịch tự động backup cấu hình cho switch, router đã được chia sẻ chi tiết ở trên. Phần học này hỗ trợ tốt cho các bạn đang học tập và làm việc trong ngành quản trị mạng, đặc biệt là những bạn chuẩn bị đi làm hay đang đi thực tập ở các công ty công nghệ.
Việc ứng dụng được thực tiễn trong quá trình học tập rất quan trọng với vị trí của một Network Administrator. Tuy nhiên, nhân lực của ngành quản trị mạng hay quản trị hệ thống nói chung ra trường vẫn khó tìm được việc hoặc nhận việc với mức lương thấp. Mặc dù ngành nghề hot với mức lương cao. Lý giải cho điều này nằm ở việc sinh viên ra trường thiếu kiến thức thực chiến, khả năng thực hành kém, phải đào tạo lại thậm chí là phải học lại từ đầu. Do đó, mức lương của các bạn chỉ được trả như một thợ học việc.
Đã đến lúc cách học truyền thống phải thay đổi. Thay vì chỉ chăm chú vào phần lý thuyết, các bạn phải thực hành nhiều hơn, ứng dụng kiến thức đã học vào thực tiễn ngay khi còn đang đi học. Nếu có cơ hội hãy đi thực tập doanh nghiệp ngay khi có thể. Đó cũng là cách Bachkhoa-Aptech định hướng cho các bạn học viên chuyên ngành Quản trị mạng và Bảo mật Quốc tế. Thay vì chỉ học lý thuyết suông, nhà trường đầu tư một phòng Net để các bạn có thể tự mày mò, ứng dụng và trải nghiệm kiến thức. Với khả năng làm việc thực tế nhiều học viên được doanh nghiệp đặt hàng và săn đón ngay khi còn đang đi học. Nhiều bạn vừa ra trường đã giữ chức vụ cao như team leader, trưởng phòng của các công ty,...
Bên cạnh những khóa học chuyên sâu 2,5 năm, Bachkhoa-Aptech cũng có những khóa học ngắn hạn kéo dài từ 3-6 tháng dành cho sinh viên công nghệ, người đang làm trong ngành quản trị mạng, quản trị hệ thống và người muốn chuyển đổi ngành nghề.
Tham khảo thêm tại:
Khóa học Python Developer For Network Engineer: https://bit.ly/3rnyYHg
Khóa học Python Developer For System Engineer: https://bit.ly/3odHvuj
Khóa học MCSA Plus: https://bit.ly/2ZLw8QR
Khóa học CEH+ PRO: https://bit.ly/3EfC043
Khóa học Linux - DevOps Engineer: https://bit.ly/3I8UvJE
HỆ THỐNG ĐÀO TẠO CNTT QUỐC TẾ BACHKHOA-APTECH
📌 Địa chỉ: Tòa nhà HTC, 236B & 250 Hoàng Quốc Việt, Bắc Từ Liêm, Hà Nội
📌 Hotline: 0968 27 6996