backup-restore
روتر سودار مجهز به ابزارهای قدرتمند پشتیبان گیری و بازیابی است که امکان مدیریت امن تنظیمات را فراهم میکند.
محتویات هر Snapshot
هر snapshot شامل موارد زیر است:
تنظیمات روتر: شامل running-config یا startup-config به همراه پروفایل های Tune
کلیدهای خصوصی و گواهینامهها: Private keys و CAs/Certificates وارد شده (قابل حذف با گزینه
no-pki)مواد مجوز: License و license request و کلیدهای مجوز روتر
انواع فایلهای قابل پشتیبانگیری
running-config: تنظیمات فعلی روتر - قابل backup (فقط restore به startup-config)startup-config: تنظیمات ذخیره شده - قابل backup و restorescripts: اسکریپت های ذخیره شده - قابل backup و restore
مکانهای ذخیرهسازی Backup
سودار از سه روش ذخیرهسازی پشتیبان پشتیبانی میکند:
sftp:- پشتیبانگیری به سرور راه دور از طریق SFTPbackup:- پشتیبانگیری به حافظه محلی روترdevice:- پشتیبانگیری به حافظه جداشدنی (USB، هارد اکسترنال)
مفاهیم پایه
Repository (مخزن)
Repository ها مخازن رمزگذاری شدهای هستند که snapshot ها در آن ذخیره میشوند:
هر repository با رمز عبور محافظت میشود
کاربران مختلف میتوانند repository های جداگانه داشته باشند
Repository پیشفرض:
router-backupتمامی snapshot ها رمزگذاری شده و در برابر دستکاری محافظت میشوند
مشخصات Repository
Repository path: مسیر ذخیرهسازی در سرور (پیشفرض: home کاربر)Repository name: نام فولدر مخزنRepository password: رمز عبور برای رمزگذاری و کنترل دسترسی
Tag (برچسب)
هر snapshot با یک tag منحصر به فرد شناسایی میشود
برای restore از همان tag استفاده میشود
Tag پیشفرض:
router-config
گزینههای مهم
no-pki
به صورت پیشفرض تمام کلیدهای PKI و Wireguard در backup ذخیره میشوند. با no-pki فقط config ذخیره میشود.
هشدار امنیتی
پشتیبانگیری از کلیدها به خصوص روی سرورهای راه دور به لحاظ امنیتی توصیه نمیشود زیرا private key ها انتقال پیدا میکنند. در صورت نیاز، اقدامات امنیتی اضافی برای snapshot های راه دور اعمال کنید.
license
در زمان restore میتوانید مشخص کنید license بازیابی شود یا خیر:
بدون گزینه: license بازیابی نمیشود (پیشفرض - توصیه شده)
license: license هم بازیابی میشود
توجه
به صورت پیشفرض، license بازیابی نمیشود. این رفتار برای جلوگیری از مشکلات license در هنگام restore به روتر دیگر طراحی شده است. تنها در صورتی که میخواهید license را هم بازیابی کنید، از گزینه license استفاده کنید.
در ادامه سناریوهای کامل پشتیبانگیری و بازیابی را بررسی میکنیم.
سناریو 1: پشتیبانگیری محلی ساده
هدف
ایجاد snapshot محلی از startup-config در خود روتر
پیکربندی
مرحله 1: پشتیبانگیری با backup: URI
n1# copy system:startup-config backup:
Destination tag [router-config]? daily-backup-1
Backup successful!
n1#
این سادهترین روش backup است که snapshot در حافظه محلی روتر با نام daily-backup-1 ذخیره میشود.
مرحله 2: پشتیبانگیری با repository دلخواه
n1# copy system:startup-config backup:site1-bkp
Repository name [router-backup]? site1-repo
Repository password []? SecurePass123
Destination tag [router-config]? site1-bkp
Backup successful!
n1#
در این روش:
Repository جدید
site1-repoبا رمزSecurePass123ساخته میشودSnapshot با tag
site1-bkpذخیره میشود
مرحله 3: پشتیبانگیری بدون PKI
n1# copy system:startup-config backup:config-only no-pki
Destination tag [router-config]? config-only
Backup successful!
n1#
این backup فقط شامل تنظیمات است و کلیدهای PKI/Wireguard در آن نیست.
بررسی و تست
مشاهده لیست backup ها
n1# show archive snapshots backup:
Repository name [router-backup]?
Repository password []?
Tag Host Time Type
==================================================================
daily-backup-1 n1 Sun Jan 15 09:30:22 2024 Config
------------------------------------------------------------------
config-only n1 Sun Jan 15 09:35:10 2024 Config
n1#
مشاهده محتوای snapshot
n1# show archive config backup:daily-backup-1
Repository name [router-backup]?
Repository password []?
Destination tag [daily-backup-1]?
daily-backup-1
==============
hostname n1
!
interface ge0
ip address 192.168.1.1/24
!
interface ge1
ip address 10.0.0.1/30
!
router ospf
network 192.168.1.0/24 area 0
!
end
n1#
سناریو 2: پشتیبانگیری به سرور SFTP
هدف
ارسال snapshot به سرور backup راه دور برای امنیت بیشتر
توپولوژی
[n1] ge0: 192.168.1.10/24 ---- [Backup Server] 192.168.1.100
SFTP user: backup
SFTP pass: BackupPass2024
پیشنیازها
الزامی
قبل از استفاده از SFTP باید یک بار به سرور SSH زده و کلید host را تأیید کنید:
n1# ssh backup@192.168.1.100
Are you sure you want to continue connecting (yes/no)? yes
در غیر این صورت با خطای Connection reset by peer مواجه میشوید.
پیکربندی
مرحله 1: پشتیبانگیری با URI کامل
n1# copy system:startup-config sftp:backup:BackupPass2024@192.168.1.100:/backups/router1:r1pass/daily1
Address or name of remote host [192.168.1.100]?
Remote host user [backup]?
Remote host password [*************]?
Repository path [/backups]?
Repository name [router1]?
Repository password [******]?
Destination tag [daily1]?
Backup successful!
n1#
مرحله 2: پشتیبانگیری تعاملی
n1# copy system:startup-config sftp:
Address or name of remote host []? 192.168.1.100
Remote host user []? backup
Remote host password []? BackupPass2024
Repository path []? /backups
Repository name [router-backup]? edge-router
Repository password []? EdgePass999
Destination tag [router-config]? manual-backup-1
Backup successful!
n1#
مرحله 3: استفاده از ip host
n1(config)# ip host backupserver 192.168.1.100
n1(config)# exit
n1# copy system:startup-config sftp:backup@backupserver
Address or name of remote host [backupserver]?
Remote host user [backup]?
Remote host password []? BackupPass2024
Repository path []? /backups
Repository name [router-backup]? edge-router
Repository password []? EdgePass999
Destination tag [router-config]? host-backup
Backup successful!
n1#
مرحله 4: پشتیبانگیری از running-config
n1# copy system:running-config sftp:backup@192.168.1.100
Address or name of remote host [192.168.1.100]?
Remote host user [backup]?
Remote host password []? BackupPass2024
Repository path []? /backups
Repository name [router-backup]? live-configs
Repository password []? LivePass123
Destination tag [router-config]? current-state
Backup successful!
n1#
توجه
running-config فقط قابل backup است و نمیتوان آن را مستقیماً restore کرد. تنها startup-config قابل restore است.
مرحله 5: پشتیبانگیری از script
n1# copy scripts:script1 sftp:backup@192.168.1.100
Address or name of remote host [192.168.1.100]?
Remote host user [backup]?
Remote host password []? BackupPass2024
Backup successful!
n1#
مرحله 6: پشتیبانگیری بدون کلیدهای خصوصی
n1# copy system:startup-config sftp:backup@192.168.1.100 no-pki
Address or name of remote host [192.168.1.100]?
Remote host user [backup]?
Remote host password []? BackupPass2024
Repository path []? /backups
Repository name [router-backup]? safe-configs
Repository password []? SafePass456
Destination tag [router-config]? config-only
Backup successful!
n1#
بررسی و تست
مشاهده snapshot های راه دور
n1# show archive snapshots sftp:backup@192.168.1.100
Address or name of remote host [192.168.1.100]?
Remote host user [backup]?
Remote host password []? BackupPass2024
Repository path []? /backups
Repository name [router-backup]? edge-router
Repository password []? EdgePass999
Tag Host Time Type
==================================================================
manual-backup-1 n1 Sun Jan 15 10:15:30 2024 Config
------------------------------------------------------------------
host-backup n1 Sun Jan 15 10:20:45 2024 Config
n1#
مشاهده محتوای snapshot راه دور
n1# show archive config sftp:backup@192.168.1.100
Address or name of remote host [192.168.1.100]?
Remote host user [backup]?
Remote host password []? BackupPass2024
Repository path []? /backups
Repository name [router-backup]? edge-router
Repository password []? EdgePass999
Destination tag [router-config]? manual-backup-1
manual-backup-1
===============
hostname n1
!
interface ge0
ip address 192.168.1.10/24
!
end
n1#
سناریو 3: پشتیبانگیری به حافظه جداشدنی (USB)
هدف
ذخیره snapshot روی USB یا هارد اکسترنال
پیشنیازها
USB متصل به روتر (مثلاً
/dev/sdb1)
پیکربندی
مرحله 1: پشتیبانگیری به USB
n1# copy system:startup-config device:sdb1/backups/router1/repo1:Pass123/usb-backup1
Repository path [/backups/router1]?
Repository name [repo1]?
Repository password [*******]?
Destination tag [usb-backup1]?
Backup successful!
n1#
در این دستور:
sdb1: نام دستگاه USB/backups/router1: مسیر در USBrepo1: نام repositoryPass123: رمز repositoryusb-backup1: tag
مرحله 2: پشتیبانگیری ساده به USB
n1# copy system:startup-config device:sdb1
Repository path []? /router-backups
Repository name [router-backup]? usb-repo
Repository password []? USBPass999
Destination tag [router-config]? emergency-backup
Backup successful!
n1#
بررسی و تست
مشاهده snapshot های USB
n1# show archive snapshots device:sdb1
Repository path []? /backups/router1
Repository name [router-backup]? repo1
Repository password []? Pass123
Tag Host Time Type
==================================================================
usb-backup1 n1 Sun Jan 15 11:00:00 2024 Config
n1#
هشدار
هنگام بوت شدن روتر، هیچ حافظه جداشدنی نباید متصل باشد وگرنه boot با شکست مواجه میشود.
سناریو 4: بازیابی Backup
هدف
restore کردن snapshot ها به startup-config
پیکربندی
مرحله 1: بازیابی از حافظه محلی
n1# copy backup:daily-backup-1 system:startup-config
Repository name [router-backup]?
Repository password []?
Tag to restore [daily-backup-1]?
Restore successful! Restart your device to load new startup config
n1#
مهم
تنظیمات restore شده تنها پس از reload اعمال میشوند.
مرحله 2: بازیابی از سرور SFTP
n1# copy sftp:backup@192.168.1.100 system:startup-config
Address or name of remote host [192.168.1.100]?
Remote host user [backup]?
Remote host password []? BackupPass2024
Repository path []? /backups
Repository name [router-backup]? edge-router
Repository password []? EdgePass999
Tag to restore [router-config]? manual-backup-1
Restore successful! Restart your device to load new startup config
n1#
مرحله 3: بازیابی از USB
n1# copy device:sdb1 system:startup-config
Repository path []? /backups/router1
Repository name [router-backup]? repo1
Repository password []? Pass123
Tag to restore [router-config]? usb-backup1
Restore successful! Restart your device to load new startup config
n1#
مرحله 4: بازیابی از روتر دیگر (بدون license)
برای restore کردن config از روتر دیگر، به صورت پیشفرض license بازیابی نمیشود:
n1# copy sftp:backup@192.168.1.100 system:startup-config
Address or name of remote host [192.168.1.100]?
Remote host user [backup]?
Remote host password []? BackupPass2024
Repository path []? /backups
Repository name [router-backup]? router2-backups
Repository password []? R2Pass123
Tag to restore [router-config]? router2-config
Restore successful! Restart your device to load new startup config
n1#
نکته
به صورت پیشفرض license بازیابی نمیشود، بنابراین میتوانید backup از روتر دیگر را بدون نگرانی از license نادرست restore کنید.
مرحله 5: بازیابی همراه با license
اگر میخواهید license هم restore شود:
n1# copy backup:full-backup system:startup-config license
Repository name [router-backup]?
Repository password []?
Tag to restore [full-backup]?
Restore successful! Restart your device to load new startup config
n1#
مرحله 6: اعمال تنظیمات
n1# reload
Proceed with reload? [confirm] yes
n1#
سناریو 5: مقایسه و مدیریت Snapshot ها
هدف
مقایسه تنظیمات و مدیریت snapshot های قدیمی
پیکربندی
مرحله 1: مقایسه running-config با backup
n1# show archive config differences system:running-config backup:daily-backup-1
Repository name [router-backup]?
Repository password []?
Destination tag [daily-backup-1]?
running-config daily-backup-1
============== ==============
hostname n1 hostname n1
! !
interface ge0 interface ge0
ip address 192.168.1.10/24 ip address 192.168.1.10/24
! !
interface ge1 interface ge1
ip address 10.0.0.1/30 > no ip address
! !
router ospf <
network 10.0.0.0/30 area 0 <
! <
end end
n1#
علامت > و < تفاوتها را نشان میدهند.
مرحله 2: مقایسه دو backup مختلف
n1# show archive config differences backup:daily-backup-1 sftp:backup@192.168.1.100
Repository name [router-backup]?
Repository password []?
Destination tag [daily-backup-1]?
Address or name of remote host [192.168.1.100]?
Remote host user [backup]?
Remote host password []? BackupPass2024
Repository path []? /backups
Repository name [router-backup]? edge-router
Repository password []? EdgePass999
Destination tag [router-config]? manual-backup-1
daily-backup-1 manual-backup-1
============== ===============
hostname n1 hostname n1
! !
interface ge0 interface ge0
ip address 192.168.1.10/24 ip address 192.168.1.10/24
! !
interface ge1 interface ge1
ip address 10.0.0.1/30 > ip address 10.0.0.2/30
! !
end end
n1#
مرحله 3: مقایسه startup با running
n1# show archive config differences system:startup-config system:running-config
startup-config running-config
============== ==============
hostname n1 hostname n1
! !
interface ge0 interface ge0
ip address 192.168.1.10/24 ip address 192.168.1.10/24
! !
> interface ge2
> ip address 172.16.0.1/24
> !
end end
n1#
این نشان میدهد ge2 در running-config تنظیم شده اما هنوز save نشده است.
مرحله 4: حذف snapshot قدیمی از محلی
n1# delete backup:old-backup
Repository name [router-backup]?
Repository password []?
Destination tag [router-config]? old-backup
Snapshot deleted successfully!
n1#
مرحله 5: حذف snapshot از سرور SFTP
n1# delete sftp:backup@192.168.1.100
Address or name of remote host [192.168.1.100]?
Remote host user [backup]?
Remote host password []? BackupPass2024
Repository path []? /backups
Repository name [router-backup]? edge-router
Repository password []? EdgePass999
Destination tag [router-config]? obsolete-backup
Snapshot deleted successfully!
n1#
مرحله 6: حذف snapshot از USB
n1# delete device:sdb1
Repository path []? /backups/router1
Repository name [router-backup]? repo1
Repository password []? Pass123
Destination tag [router-config]? old-usb-backup
Snapshot deleted successfully!
n1#
سناریو 6: مدیریت چند Repository
هدف
استفاده از repository های مختلف برای سازماندهی بهتر
پیکربندی
مرحله 1: ایجاد repository برای backup های روزانه
n1# copy system:startup-config backup:day1
Repository name [router-backup]? daily-backups
Repository password []? DailyPass123
Destination tag [router-config]? day1
Backup successful!
n1#
مرحله 2: ایجاد repository برای backup های هفتگی
n1# copy system:startup-config backup:week1
Repository name [router-backup]? weekly-backups
Repository password []? WeeklyPass456
Destination tag [router-config]? week1
Backup successful!
n1#
مرحله 3: ایجاد repository برای تستها
n1# copy system:startup-config backup:test-baseline
Repository name [router-backup]? test-configs
Repository password []? TestPass789
Destination tag [router-config]? test-baseline
Backup successful!
n1#
مرحله 4: مشاهده snapshot های repository روزانه
n1# show archive snapshots backup:
Repository name [router-backup]? daily-backups
Repository password []? DailyPass123
Tag Host Time Type
==================================================================
day1 n1 Mon Jan 15 08:00:00 2024 Config
------------------------------------------------------------------
day2 n1 Tue Jan 16 08:00:00 2024 Config
------------------------------------------------------------------
day3 n1 Wed Jan 17 08:00:00 2024 Config
n1#
مرحله 5: مشاهده snapshot های repository هفتگی
n1# show archive snapshots backup:
Repository name [router-backup]? weekly-backups
Repository password []? WeeklyPass456
Tag Host Time Type
==================================================================
week1 n1 Sun Jan 14 23:00:00 2024 Config
------------------------------------------------------------------
week2 n1 Sun Jan 21 23:00:00 2024 Config
n1#
بررسی و تست
با استفاده از repository های مختلف میتوانید:
Backup های روزانه، هفتگی، ماهانه را جدا نگه دارید
دسترسی کاربران مختلف را با password های جداگانه کنترل کنید
Backup های مربوط به پروژههای مختلف را سازماندهی کنید
سناریو 7: Backup خودکار با Script
هدف
ایجاد script برای backup خودکار روزانه
پیکربندی
مرحله 1: ایجاد script برای backup محلی
n1(config)# script daily-backup
#!/bin/sh
DATE=$(date +%Y-%m-%d)
echo "Starting daily backup: $DATE"
vtysh -c "copy system:startup-config backup:backup-$DATE"
echo "Backup completed successfully"
exit 0
n1(config-script)# exit
n1(config)# write
n1(config)# exit
n1#
مرحله 2: ایجاد script برای backup به SFTP
n1(config)# script sftp-backup
#!/bin/sh
DATE=$(date +%Y-%m-%d-%H%M)
cat << EOF | vtysh
copy system:startup-config sftp:backup@192.168.1.100
192.168.1.100
backup
BackupPass2024
/backups
edge-router
EdgePass999
backup-$DATE
EOF
exit 0
n1(config-script)# exit
n1(config)# write
n1(config)# exit
n1#
مرحله 3: تست script ها
n1# script:daily-backup
Starting daily backup: 2024-01-15
Backup successful!
Backup completed successfully
n1#
n1# script:sftp-backup
Backup successful!
n1#
مرحله 4: اضافه کردن به cron برای اجرای خودکار
n1(config)# ! اجرای روزانه ساعت 2 صبح
n1(config)# ! این کار از طریق لینوکس انجام میشود
n1(config)# exit
n1#
نکته
برای اجرای خودکار میتوانید از cron job های سیستم عامل استفاده کنید. script های سودار با فرمت script:scriptname قابل فراخوانی هستند.
سناریو 8: Backup انتخابی PKI
هدف
مدیریت backup کلیدهای PKI در سناریوهای مختلف
پیکربندی
مرحله 1: backup کامل شامل PKI
n1# copy system:startup-config backup:full-with-keys
Repository name [router-backup]?
Repository password []?
Destination tag [router-config]? full-with-keys
Backup successful!
n1#
مرحله 2: backup بدون PKI
n1# copy system:startup-config backup:config-only no-pki
Repository name [router-backup]?
Repository password []?
Destination tag [router-config]? config-only
Backup successful!
n1#
مرحله 3: مشاهده تفاوت در Type
n1# show archive snapshots backup:
Repository name [router-backup]?
Repository password []?
Tag Host Time Type
==================================================================
full-with-keys n1 Sun Jan 15 14:00:00 2024 PKI
------------------------------------------------------------------
config-only n1 Sun Jan 15 14:05:00 2024 Config
n1#
توجه کنید:
Type: PKI - شامل config + کلیدها
Type: Config - فقط config
مرحله 4: backup فقط کلیدهای PKI
اگر فقط میخواهید از کلیدها backup بگیرید (بدون config):
n1# copy system:startup-config backup:keys-only
Repository name [router-backup]? pki-backups
Repository password []? PKIPass123
Destination tag [router-config]? wireguard-keys
Backup successful!
n1#
کاربردها
full-with-keys: برای disaster recovery کامل
config-only: برای انتقال config به روتر دیگر
keys-only: برای backup امن کلیدها در محل جداگانه
soodar# show archive snapshots system:
Tag Host Time Type
===========================================================
wireguard-keys soodar Sat Jun 3 10:05:44 2023 PKI
-----------------------------------------------------------
bkp1 soodar Sat Jun 3 10:12:02 2023 Config
soodar#
soodar# show archive snapshots sftp:iman@192.168.230.130
Address or name of remote host [192.168.230.130]?
Remote host user [iman]?
Remote host password [admin]?
Repository path []? backup
Repository name [router-backup]? site1
Repository password []?
Tag Host Time Type
=====================================================================
---------------------------------------------------------------------
n3-config n3 Thu May 11 13:33:40 2023 Config
---------------------------------------------------------------------
bkp2 soodar Sat Jun 3 09:55:19 2023 Config
---------------------------------------------------------------------
soodar#
باز نشانی startup-config
local
soodar# copy system:bkp1 startup-config
Repository name [router-backup]? repo1
Repository password []?
Tag to restore [bkp1]? bkp1
Restore successful! Restart your device to load new startup config
soodar#
sftp
soodar# copy sftp:iman@192.168.230.130 startup-config
Address or name of remote host [192.168.230.130]?
Remote host user [iman]?
Remote host password [admin]?
Repository path []? backup
Repository name [router-backup]? site1
Repository password []?
Tag to restore [router-config]? bkp2
Restore successful! Restart your device to load new startup config
soodar#
توجه
به صورت پیشفرض در زمان restore کردن، license بازیابی نمیشود. این رفتار برای جلوگیری از مشکلات در هنگام restore به روتر دیگر طراحی شده است. اگر میخواهید license را هم بازیابی کنید، باید از گزینه license استفاده کنید.
مثال restore کردن backup (بدون license به صورت پیشفرض):
soodar# copy sftp:iman@192.168.230.130 startup-config
Address or name of remote host [192.168.230.130]?
Remote host user [iman]?
Remote host password [admin]?
Repository path []? backup
Repository name [router-backup]? site1
Repository password []?
Tag to restore [router-config]? bkp2
Restore successful! Restart your device to load new startup config
soodar#
مشاهده config هایی که بکاپ گرفته اید
می توانید config هایی که بک آپ گرفته اید را قبل از restore کردن مشاهده کنید :
soodar# sh archive config system:bkp1
Repository name [router-backup]? repo1
Repository password []?
Destination tag [bkp1]?
bkp1
====
hostname soodar
interface ge0
ip address 192.168.1.55/24
soodar#
soodar# sh archive config sftp:iman@192.168.230.130
Address or name of remote host [192.168.230.130]?
Remote host user [iman]?
Remote host password [admin]?
Repository path []? backup
Repository name [router-backup]? site1
Repository password []?
Destination tag [router-config]? bkp2
bkp2
====
hostname soodar
interface ge0
ip address 192.168.1.55/24
soodar#
URI Format ها
سودار از سه فرمت URI برای backup/restore پشتیبانی میکند:
1. SFTP URI
sftp:[user]:[password]@[host]:[path]/[repo]:[repo-password]/[tag]
مثال کامل:
sftp:admin:pass123@192.168.1.100:/backups/router1:repopass/backup1
2. Backup URI (محلی)
backup:[tag]
مثال:
backup:daily-backup
3. Device URI (USB)
device:DEVNAME/[repo-path]/[repo]:[repo-password]/[tag]
مثال:
device:sdb1/backups/router1/repo1:pass123/usb-backup
Reset و بازنشانی روتر
write erase ساده
برای بازگرداندن روتر به تنظیمات پیشفرض:
n1# write erase
n1#
توجه
پس از write erase موارد زیر حذف میشوند:
تمام تنظیمات شبکه
تنظیمات routing و protocol ها
تنظیمات interface ها
تنظیمات VRF ها
موارد زیر حفظ میشوند:
رمز عبور کاربران
ساعت سیستم
کلیدهای PKI, SSH, Wireguard
پروفایلهای Tune
License
پس از write erase، interface ge0 به آدرس پیشفرض 192.168.1.55/24 تنظیم میشود.
write erase با IP دلخواه
برای reset از راه دور بدون قطع ارتباط:
n1# write erase 85.15.233.19/24 85.15.233.1
n1#
در این دستور:
85.15.233.19/24: آدرس IP برای interfacege085.15.233.1: آدرس gateway پیشفرض
مزایا
این روش برای مدیریت راه دور بسیار مفید است:
ارتباط شبکه قطع نمیشود
نیازی به دسترسی فیزیکی نیست
میتوانید بلافاصله به روتر متصل شوید
اعمال تغییرات
برای اعمال write erase باید روتر را reload کنید:
n1# reload
Proceed with reload? [confirm] yes
مثال کامل reset از راه دور
n1# ! فرض: روتر در سایت راه دور با IP 85.15.233.19
n1# ! میخواهیم روتر را reset کنیم بدون از دست دادن ارتباط
n1# ! ابتدا backup بگیریم
n1# copy system:startup-config sftp:backup@192.168.1.100
Address or name of remote host [192.168.1.100]?
Remote host user [backup]?
Remote host password []? BackupPass2024
Repository path []? /backups
Repository name [router-backup]? site-backup
Repository password []? SitePass999
Destination tag [router-config]? before-reset
Backup successful!
n1# ! حالا reset میکنیم با حفظ IP
n1# write erase 85.15.233.19/24 85.15.233.1
n1# ! reload میکنیم
n1# reload
Proceed with reload? [confirm] yes
# بعد از reload، روتر با IP 85.15.233.19 در دسترس است
# میتوانیم دوباره SSH کنیم و config جدید بزنیم
عیبیابی (Troubleshooting)
مشکل 1: Connection reset by peer در SFTP
علت: کلید SSH سرور در روتر ذخیره نشده است.
راهحل:
n1# ssh backup@192.168.1.100
The authenticity of host '192.168.1.100' can't be established.
Are you sure you want to continue connecting (yes/no)? yes
# حالا کلید ذخیره شد
n1# exit
n1# copy system:startup-config sftp:backup@192.168.1.100
مشکل 2: Repository password نادرست
علت: رمز repository اشتباه وارد شده است.
راهحل: رمز صحیح repository را وارد کنید. اگر فراموش کردید، باید repository جدید بسازید.
n1# show archive snapshots backup:
Repository name [router-backup]? test-repo
Repository password []? <رمز صحیح>
مشکل 3: Boot failure با USB متصل
علت: حافظه جداشدنی هنگام boot متصل بوده است.
راهحل:
روتر را خاموش کنید
USB را جدا کنید
روتر را روشن کنید
هشدار
هیچ وقت با USB متصل روتر را boot نکنید!
مشکل 4: License نادرست بعد از restore
علت: backup از روتر دیگر با گزینه license restore شده است.
راهحل: دوباره بدون گزینه license restore کنید:
n1# copy backup:other-router system:startup-config
توجه
به صورت پیشفرض license restore نمیشود، بنابراین این مشکل فقط زمانی رخ میدهد که صریحاً از گزینه license استفاده شده باشد.
مشکل 5: تفاوت بین running و startup
بررسی:
n1# show archive config differences system:startup-config system:running-config
راهحل: اگر تغییرات مورد نظر است، save کنید:
n1# write
مشکل 6: فضای ناکافی برای backup
بررسی فضا:
n1# show system resources
راهحل: snapshot های قدیمی را حذف کنید:
n1# delete backup:old-snapshot1
n1# delete backup:old-snapshot2
نکات امنیتی
1. محافظت از Password های Repository
Repository password ها رمزگذاری میشوند اما:
از password های قوی استفاده کنید (حداقل 12 کاراکتر)
password ها را به صورت امن نگهداری کنید
برای repository های مختلف از password های متفاوت استفاده کنید
password ها را به صورت دورهای تغییر دهید
2. Backup کلیدهای خصوصی
هشدار امنیتی
پشتیبانگیری از کلیدهای خصوصی به سرورهای راه دور بسیار خطرناک است!
اگر ضروری است:
از کانال رمزگذاری شده (SFTP over TLS) استفاده کنید
سرور backup را ایمن و در شبکه خصوصی نگه دارید
دسترسی به snapshot ها را با firewall محدود کنید
از
no-pkiبرای backup های معمولی استفاده کنیدBackup های شامل PKI را سریعاً حذف کنید
3. مدیریت License
License هر روتر منحصر به فرد است
به صورت پیشفرض license بازیابی نمیشود (رفتار امن)
اگر میخواهید license را هم restore کنید، از گزینه
licenseاستفاده کنیدLicense اشتباه باعث محدودیت عملکرد یا deactivation میشود
قبل از restore، license فعلی روتر را یادداشت کنید
4. SFTP Authentication
بهترین شیوهها:
از SSH key authentication به جای password استفاده کنید
دسترسی SFTP را محدود به IP های مشخص کنید
لاگ های SFTP را به طور منظم بررسی کنید
از fail2ban برای محافظت در برابر brute force استفاده کنید
5. USB Security
USB های backup را در مکان امن (گاوصندوق) نگه دارید
از رمزگذاری USB استفاده کنید (LUKS encryption)
دسترسی فیزیکی به USB را محدود کنید
Label های واضح روی USB بگذارید
USB های قدیمی را به صورت امن پاک کنید
6. Repository Organization
ساختار پیشنهادی:
router-backups/
├── daily-backups/ (رمز: DailyPass123)
├── weekly-backups/ (رمز: WeeklyPass456)
├── monthly-backups/ (رمز: MonthlyPass789)
├── test-configs/ (رمز: TestPass000)
└── emergency-backups/ (رمز: EmergPass999)
بهترین شیوهها (Best Practices)
1. استراتژی Backup 3-2-1
قانون طلایی backup:
3 کپی از data
2 نوع storage مختلف
1 کپی off-site
مثال پیادهسازی:
[Backup 1] Local backup: -> n1# copy system:startup-config backup:daily
[Backup 2] SFTP Server: -> n1# copy system:startup-config sftp:backup@server
[Backup 3] USB (off-site): -> n1# copy system:startup-config device:sdb1
2. Naming Convention
از نامهای معنادار و منظم استفاده کنید:
تاریخ-based:
backup-2024-01-15
backup-2024-01-16
backup-2024-01-17
Purpose-based:
before-upgrade
after-upgrade
baseline-config
working-config
Hybrid:
n1-baseline-2024-01-15
n1-preupgrade-2024-02-01
edge-router-daily-2024-03-10
3. Retention Policy
تعریف سیاست نگهداری:
نوع Backup |
نگهداری |
دوره |
|---|---|---|
روزانه |
7 روز |
همه روزه ساعت 02:00 |
هفتگی |
4 هفته |
یکشنبه ها ساعت 23:00 |
ماهانه |
12 ماه |
روز اول ماه ساعت 00:00 |
سالانه |
5 سال |
اول سال |
4. Automation با Script
Script backup روزانه:
n1(config)# script daily-backup
#!/bin/sh
DATE=$(date +%Y-%m-%d)
vtysh -c "copy system:startup-config backup:daily-$DATE"
# پاکسازی backup های بیش از 7 روز قدیمی
# (این قسمت نیاز به پیادهسازی دارد)
exit 0
n1(config-script)# exit
n1(config)# write
5. Verification و Testing
Testing منظم restore:
هر ماه یک بار فرآیند restore را تست کنید
از روتر تست برای بررسی backup ها استفاده کنید
محتوای snapshot ها را قبل از حذف بررسی کنید
بررسی Integrity:
n1# show archive config backup:daily-2024-01-15
# محتوا را بررسی کنید
6. Documentation
مستندسازی کامل:
لیست تمام repository ها و password ها (در مکان امن)
شرح هر tag و محتوای آن
تاریخ ایجاد و دلیل backup
مکان فیزیکی USB ها
دسترسیهای SFTP
مثال مستند:
Repository: edge-router-backups
Password: EdgePass999 (در vault شرکت)
Location: SFTP server 192.168.1.100:/backups/edge
Purpose: Backup های روزانه edge router
Retention: 30 روز
Contact: admin@company.com
7. Monitoring و Alerting
پیگیری وضعیت backup:
اطمینان از اجرای موفق backup های خودکار
بررسی فضای ذخیرهسازی
alert در صورت شکست backup
لاگ کردن تمام عملیات backup/restore
خلاصه دستورات
Backup Commands
دستور |
شرح |
|---|---|
|
Backup محلی |
|
Backup از running config |
|
Backup به SFTP |
|
Backup به USB |
|
Backup بدون کلیدها |
Restore Commands
دستور |
شرح |
|---|---|
|
Restore محلی (بدون license) |
|
Restore از SFTP (بدون license) |
|
Restore از USB (بدون license) |
|
Restore همراه با license |
Management Commands
دستور |
شرح |
|---|---|
|
لیست snapshot های محلی |
|
لیست snapshot های SFTP |
|
لیست snapshot های USB |
|
مشاهده محتوای snapshot |
|
مقایسه دو snapshot |
|
حذف snapshot محلی |
|
حذف snapshot SFTP |
Reset Commands
دستور |
شرح |
|---|---|
|
Reset به پیشفرض (ge0: 192.168.1.55/24) |
|
Reset با IP دلخواه |
|
ریستارت روتر |
خلاصه
سیستم backup و restore سودار ویژگیهای قدرتمندی ارائه میدهد:
✅ چند مکان ذخیرهسازی: Local, SFTP, USB
✅ Repository های رمزگذاری شده: امنیت و سازماندهی
✅ مدیریت PKI: کنترل دقیق بر backup کلیدها
✅ مقایسه Snapshot: تشخیص تغییرات
✅ License Management: کنترل license در restore
✅ URI Format: انعطافپذیری در مشخص کردن مقصد
✅ Script Support: خودکارسازی backup
✅ Remote Reset: write erase با IP دلخواه
نکات کلیدی:
همیشه قبل از تغییرات مهم backup بگیرید
backup ها را در چند مکان ذخیره کنید
به طور منظم restore را تست کنید
از
no-pkiبرای backup های روزانه استفاده کنیدبه صورت پیشفرض license بازیابی نمیشود (رفتار امن)
اگر نیاز به restore کردن license دارید، از گزینه
licenseاستفاده کنیدبا USB متصل روتر را boot نکنید
password های repository را امن نگه دارید
با استفاده صحیح از این ابزارها میتوانید:
تنظیمات را به صورت امن نگهداری کنید
در مواقع اضطراری سریعاً بازیابی کنید
تغییرات را پیگیری و مدیریت کنید
استراتژی backup سازمانی پیادهسازی کنید
از دست رفتن data را به حداقل برسانید