Cara Mencadangkan Firewall Netscreen: 8 Langkah
Cara Mencadangkan Firewall Netscreen: 8 Langkah
Anonim

Oleh joeIkuti Lainnya oleh penulis:

Tentang: Saya suka bermain-main dengan apa saja, terkadang berhasil pada akhirnya. Bersenang-senang melihat proyek, coba sobek sesuatu dan beri tahu saya bagaimana kelanjutannya. bersorak, -Joe More About joe »

Instruksi ini menunjukkan skrip yang dapat digunakan untuk mengotomatiskan pencadangan firewall netscreen yang menjalankan ScreenOS.

Langkah 1: Persyaratan

Skrip ini ditulis dengan harapan dan mengasumsikan Anda telah mengaktifkan SSH di netscreen Anda dan lingkungan linux. Jika Anda belum pernah memeriksa ekspektasi, Oreilly memiliki buku hebat "Exploring Expect"

Langkah 2: Variabel

Kita akan mulai dengan mengatur beberapa variabel. Anda akan ingin mengatur variabel port/username/password/netscreen/Prompt agar sesuai dengan lingkungan Anda. #!/usr/bin/expect#Mengharapkan skrip untuk mem-backup konfigurasi firewall netscreen#Joe #Menyetel beberapa batas waktu varsset 60set pengguna "root"set password "password"set port "2022"set netscreen "foo.bar.com"set basedir "/mnt/netapp/backups/foo.bar.com"set log "[timestamp -format %Y-%m-%d]-config.txt"set mailto "[email protected]"set mailsubject "Error: netscreen pencadangan gagal [timestamp -format %Y-%m-%d] "set mailfail ""set prompt "foo->"

Langkah 3: Hubungkan

Selanjutnya di script kita akan mencoba dan connect.send_user "NetScren Backup Script\n"send_user "Connecting to $netscreen\n"spawn ssh $user@$netscreen -p$port expect { "password:" { send "$password\ r" expect { "$prompt" { send_user "Connected" } "Izin ditolak" { send_user "Kata sandi tidak valid, keluar" set mailfail "Kata sandi tidak valid, keluar" tutup } timeout { send_user "Tidak ada permintaan yang dikembalikan" set mailfail "Tidak ada permintaan yang dikembalikan " tutup } } } "Tidak ada rute ke host" { send_user "Tidak dapat terhubung ke $netscreen\n" set mailfail "Tidak dapat terhubung ke $netscreen\n" } "Nama atau layanan tidak diketahui" { send_user "Tidak dapat terhubung ke $netscreen\n" set mailfail "Tidak dapat terhubung ke $netscreen\n" } timeout{ send_user "Timeout conncting ke $netscreen" set mailfail "Timeout terhubung ke $netscreen" tutup } }if { $mailfail != "" } { exec /bin/mail -s$mailsubject $mailto << "$mailfail" keluar}

Langkah 4: Matikan Paging

Anda perlu mematikan paging - atau prompt lainnya di layar net. #Nonaktifkan "more" promptsend "set console page 0\r"expect { "$prompt" { send_user "\nPaging Disabled\n" } default { send "ScreenOS tidak kecuali opsi paging.\n" set mailfail "ScreenOS tidak tidak kecuali opsi paging." tutup } batas waktu { send_user "ScreenOS tidak kecuali opsi paging\n" setel mailfail "ScreenOS tidak kecuali opsi paging." tutup }}if { $mailfail != "" } { exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}

Langkah 5: Dapatkan Konfigurasi

Sekarang kita akan mendapatkan konfigurasi. send_user "Mengunduh Konfigurasi\n"log_file $basedir/$logsend "get config\r"expect { "$prompt" { log_file send_user "\nKonfigurasi Diunduh\n" } timeout { send_user "\nKesalahan selama pengunduhan konfigurasi." atur mailfail "Kesalahan saat mengunduh konfigurasi." }}closeif { $mailfail != "" } { exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}

Langkah 6: Periksa untuk Melihat Apakah Konfigurasi Adalah Ukuran yang Tepat

Kita akan tahu periksa untuk melihat apakah konfigurasi setidaknya 1k.set filesize [file size $basedir/$log]if { $filesize <= 1024 } { send_user "Netscreen config terlalu kecil, harap selidiki\n" set mailfail " Konfigurasi netscreen terlalu kecil, harap selidiki\n" exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}

Langkah 7: Pembersihan

Mari kita jalankan sedikit pembersihan untuk menghapus konfigurasi yang lebih lama dari dua minggu. #Hapus konfigurasi yang lebih lama dari 2 mingguexec find $basedir -name '*config.txt*' -mtime +14

Langkah 8: Semua Bersama

Kumpulkan semuanya sekarang. Itu dilampirkan sebagai file teks. Ini akan mengirim email pada setiap kegagalan. #!/usr/bin/expect#Mengharapkan skrip untuk mem-backup konfigurasi firewall netscreen#Joe#Menetapkan beberapa varsset timeout 60set pengguna "root"set password "password"set port "2022"set netscreen "foo.bar.com"set basedir "/mnt/netapp/backups/foo.bar.com"set log "[timestamp -format %Y-%m-%d]-config.txt"set mailto "[email protected]"set mailsubject "Error: netscreen pencadangan gagal [timestamp -format %Y-%m-%d] "set mailfail ""set prompt "foo-> "send_user "NetScren Backup Script\n"send_user "Menghubungkan ke $netscreen\n"spawn ssh $user@$ netscreen -p$port expect { "password:" { send "$password\r" expect { "$prompt" { send_user "Connected" } "Izin ditolak" { send_user "Kata sandi tidak valid, keluar" set mailfail "Kata sandi tidak valid, keluar " tutup } batas waktu { send_user "Tidak ada konfirmasi yang dikembalikan" setel mailfail "Tidak ada konfirmasi yang dikembalikan" tutup } } } "Tidak ada rute ke host" { send_user "Tidak dapat terhubung ke $netscreen\n" setel mailfail "Tidak dapat terhubung ke $netscreen\ n" } "Nama atau layanan tidak diketahui" { send_user "Tidak dapat terhubung ke $netscreen\n" s et mailfail "Tidak dapat terhubung ke $netscreen\n" } timeout{ send_user "Timeout conncting to $netscreen" set mailfail "Timeout conncting to $netscreen" close } }if { $mailfail != "" } { exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}#Sekarang setelah selesai, lanjutkan#Nonaktifkan perintah "lebih"send "set console page 0\r"expect { "$prompt" { send_user "\nPaging Dinonaktifkan\ n" } default { kirim "ScreenOS tidak kecuali opsi paging.\n" set mailfail "ScreenOS tidak kecuali opsi paging." tutup } batas waktu { send_user "ScreenOS tidak kecuali opsi paging\n" setel mailfail "ScreenOS tidak kecuali opsi paging." tutup }}if { $mailfail != "" } { exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}send_user "Mengunduh Konfigurasi\n"log_file $basedir/$logsend "get config\r "harapkan { "$prompt" { log_file send_user "\nKonfigurasi Diunduh\n" } batas waktu { send_user "\nKesalahan selama pengunduhan konfigurasi." atur mailfail "Kesalahan saat mengunduh konfigurasi." }}closeif { $mailfail != "" } { exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}setel ukuran file [ukuran file $basedir/$log]if { $filesize <= 1024 } { send_user "Konfigurasi Netscreen terlalu kecil, harap selidiki\n" set mailfail "Konfigurasi Netscreen terlalu kecil, harap selidiki\n" exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}#Hapus konfigurasi lebih lama dari 2 mingguexec find $basedir -name '*config.txt*' -mtime +14