python自動化管理和zabbix監控網絡設備(防火墻和python自動化配置部分)

目錄

前言

一、ssh配置

1.FW1

2.core-sw1

3.core-sw2

二、python自動化配置防火墻

三、驗證DNAT

四、驗證DNAT


前言


視頻演示請訪問b站主頁

白帽小丑的個人空間-白帽小丑個人主頁-嗶哩嗶哩視頻

一、ssh配置

給需要自動化管理的設備配置ssh服務端用戶名和密碼

1.FW1

#注意不要使用本地登錄的用戶aaa     
manager-user user1
password cipher Huawei@123
level 15     
service-type ssh     
quit     
quit     user-interface vty 0 4authentication-mode aaaprotocol inbound all
quitstelnet server enable   
ssh user user1
ssh user user1 authentication-type password
ssh user user1 service-type stelnet#注意長度為2048
rsa local-key-pair create
Y
2048

2.core-sw1

aaa     local-user huawei password cipher huaweilocal-user huawei service-type ssh telnetlocal-user huawei privilege level 15quitstelnet server enableuser-interface vty 0 4
authentication-mode aaa
protocol inbound allquitrsa local-key-pair create  
Y
2048ssh user huawei authentication-type password  ssh user huawei service-type stelnet
quit

3.core-sw2

aaa     local-user huawei password cipher huaweilocal-user huawei service-type ssh telnetlocal-user huawei privilege level 15quitstelnet server enableuser-interface vty 0 4
authentication-mode aaa
protocol inbound allquitrsa local-key-pair create  
Y
2048ssh user huawei authentication-type password  ssh user huawei service-type stelnet
quit

二、python自動化配置防火墻

import paramiko
import getpass
import timeip = "1.1.1.1"username = input("Username: ")
password = getpass.getpass("Password: ")ssh_client = paramiko.SSHClient()#SNAT配置
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname=ip, username=username, password=password, look_for_keys=False)print("Successfully logged in" + ip)#配置外網地址
command = ssh_client.invoke_shell()
command.send("system-view\n")
command.send("inter gi1/0/4\n")
command.send("ip address 132.12.12.10\n")time.sleep(0.2)
#PNAT轉化地址池command.send("nat address-group SNAT\n")
command.send("mode pat\n")
command.send("section 0 132.12.12.10\n")
command.send("route enable\n")
time.sleep(0.2)#PNAT源地址轉化策略command.send("nat-policy\n")
command.send("rule name pat\n")
command.send("source-zone trust\n")
command.send("destination-zone untrust\n")
command.send("source-address 172.16.0.0 16\n")
command.send("source-address 172.200.0.0 0.0.1.255\n")
command.send("source-address 172.210.2.0 0.0.1.255\n")
command.send("source-address 172.220.4.0 0.0.1.255\n")
command.send("source-address 172.230.6.0 0.0.1.255\n")
command.send("source-address 172.240.8.0 0.0.1.255\n")
command.send("source-address 172.250.10.0 0.0.1.255\n")
command.send("action source-nat address-group SNAT\n")
time.sleep(0.2)#PNAT源地址轉化策略command.send("security-policy\n")
command.send("rule name NAT\n")
command.send("source-zone trust\n")
command.send("destination-zone untrust\n")
command.send("source-address 172.16.0.0 16\n")
command.send("source-address 172.200.0.0 0.0.1.255\n")
command.send("source-address 172.210.2.0 0.0.1.255\n")
command.send("source-address 172.220.4.0 0.0.1.255\n")
command.send("source-address 172.230.6.0 0.0.1.255\n")
command.send("source-address 172.240.8.0 0.0.1.255\n")
command.send("source-address 172.250.10.0 0.0.1.255\n")
command.send("action permit\n")
time.sleep(0.2)#缺省路由command.send("ip route-static 0.0.0.0 0 132.12.12.11\n")
command.send("ospf 1\n")
command.send("default-route-advertise always\n")
command.send("q\n")
time.sleep(0.2)#----------------------------------------------------------------------------------------------------#DNAT轉化內網地址池
command.send("ip pool dmz-pool\n")
command.send("network 192.168.170.0 mask 255.255.255.0 \n")
command.send("gateway 192.168.170.254\n")time.sleep(0.2)#DNAT轉化
command.send("nat server protocol udp global 132.12.12.10 80 inside 192.168.170.100 80\n")
command.send("nat server protocol tcp global 132.12.12.10 80 inside 192.168.170.100 80\n")#安全策略
command.send("security-policy \n")
command.send("rule name allow-http-to-dmz\n")
command.send("source-zone untrust\n")
command.send("destination-zone dmz\n")
command.send("destination-address 192.168.170.100 32\n")
command.send("action permit \n")time.sleep(0.2)#允許http流量通過外網口
command.send("inter gi1/0/2\n")
command.send("service-manage http permit\n")
time.sleep(0.2)#----------------------------------------------------------
#配置ospf路由,讓監控區訪問內部設備
command.send("inter gi1/0/2\n")
command.send("ip address 10.1.90.2 30\n")
command.send("quit\n")
command.send("ospf 1\n")
command.send("area 2\n")
command.send("network 10.1.0.0 255.255.0.0\n")
command.send("area 1\n")
command.send("network 10.1.90.0 0.0.0.3\n")
time.sleep(0.2)
time.sleep(0.2)output = command.recv(65535)
print(output.decode('utf-8'))ssh_client.close

運行腳本

三、驗證DNAT

四、驗證DNAT

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/711780.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/711780.shtml
英文地址,請注明出處:http://en.pswp.cn/news/711780.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

純css實現-讓字符串在文字少時顯示為居中對齊,而在文字多時顯示為左對齊

純css實現-讓字符串在文字少時顯示為居中對齊,而在文字多時顯示為左對齊 使用flex實現 思路 容器樣式(.container): Flex容器的BFC性質使得其內部的子元素(.text-box)在水平方向上能夠居中,通過justify-c…

生態環境數據分析新篇章:Meta分析、R語言、Matlab、貝葉斯、結構方程模型等的前沿實踐

目錄 ①Meta分析在生態環境領域里的應用 ②R語言在生態環境領域中的應用 ③MATLAB在生態環境數據處理與分析中的應用 ④基于R語言piecewiseSEM結構方程模型在生態環境應用 ⑤R語言貝葉斯方法在生態環境領域中的高階技術應用 更多應用 為了Meta分析問題的設計、基礎理論、…

【菜鳥入門!】Matlab零基礎快速入門教程

數學建模競賽中,編程軟件是必不可缺少的,比如大家都熟知的MATLAB多數同學們都會經常用到,今天給大家介紹一些MATLAB的基本元素,希望幫助大家更好的掌握編寫基本的函數! 變量和數組 MATLAB 程序的基本數據單元是數組。一…

rm刪除未釋放空間,linux sync有時不起作用

此時需要重啟系統即可. Linux中的sync命令用于將文件系統的緩沖區數據立即寫入磁盤,以確保數據的持久性。123456 sync命令沒有任何選項,簡單執行即可。它會將文件系統緩沖區中的數據寫入磁盤,并更新文件系統的超級塊及其他元數據。使用sync命…

Vue.js的雙向綁定原理

Vue的雙向綁定 vue雙向綁定是其最重要的核心亮點,其原理也很簡單,這里做個簡單總結 vue2的雙向綁定是利用的Object.definePropertyvue3的雙向綁定是利用的 ES6Porxy中的defineProperty(target, propKey, propDesc 其作用類似于Object.defineProperty …

您想要擁有 Apple Vision Pro 的原因

自從2024年2月2日Apple Vision Pro發布以來,網上已經有很多關于如何使用這款蘋果最新設備的示例。該平臺引入的空間計算新世界能夠完成許多在其他設備上無法完成的事情。Reddit 上的這個人能夠以 51202160 的分辨率從他的 PC 上串流游戲!在本文中&#x…

SpringMVC01、回顧MVC

1、回顧MVC 1.1、什么是MVC MVC是模型(Model)、視圖(View)、控制器(Controller)的簡寫,是一種軟件設計規范。是將業務邏輯、數據、顯示分離的方法來組織代碼。MVC主要作用是降低了視圖與業務邏輯間的雙向偶合。MVC不是一種設計模式,MVC是一種架構模式。…

Docker部署前后端服務示例

使用Docker部署js前端 1.創建Dockerfile 在項目跟目錄下創建Dockerfile文件: # 使用nginx作為基礎鏡像 FROM nginx:1.19.1# 指定工作空間 WORKDIR /data/web# 將 yarn build 打包后的build文件夾添加到工作空間 ADD build build# 將項目必要文件添加到工作空間&a…

數據結構—>帶你深入了解單鏈表(基礎篇)

?作者簡介:大家好,我是橘橙黃又青,一個想要與大家共同進步的男人😉😉 🍎個人主頁:橘橙黃又青-CSDN博客 前面我們學習了順序表,今天我們來學習與順序表類似的單鏈表 1.&#x1f3…

鴻蒙Harmony應用開發—ArkTS聲明式開發(通用屬性:透明度設置)

設置組件的透明度。 說明: 從API Version 7開始支持。后續版本如有新增內容,則采用上角標單獨標記該內容的起始版本。 opacity opacity(value: number | Resource) 設置組件的不透明度。 卡片能力: 從API version 9開始,該接口…

香橙派AIpro快速上手指南

1 前言 作為業界首款基于昇騰深度研發的AI開發板,Orange Pi AIpro無論在外觀上、性能上還是技術服務支持上都非常優秀,其8/20TOPS澎湃算力是目前開發板市場中所具備的最大算力,能覆蓋生態開發板者的主流應用場景,讓用戶實踐各種創…

深入理解Redis中的漸進式Rehash技術

1. 引言 Redis是一款高性能的鍵值存儲系統,被廣泛應用于緩存、隊列、計數器等場景,因其快速、穩定的特性備受開發者青睞。在Redis的背后,有著許多復雜的數據結構和算法支撐著其高效運行,而其中之一就是Rehash操作。 Rehash是Redis中的一個關鍵操作,負責在數據量增加時對…

Web自動化測試平臺開發---Automated_platform

一、項目簡介 歷時一個假期,Automated_platform 第一版完工,是一款基于po模式的自動化測試平臺,采用后端技術為DjangoceleryRabbitMQmysql 配置mysql數據庫,進行數據遷移后,運行項目后,即可成功訪問http://127.0.0.1:8…

5. 升級 Spring Boot(Upgrading Spring Boot)

5. 升級 Spring Boot(Upgrading Spring Boot) 項目 wiki 提供如何從 Spring Boot 早期版本升級的說明。請按照 release notes 部分查找要升級到的版本。 升級說明總是版本說明的第一部分。如果您的版本落后一個以上,請確保您已經查看了所跳…

【軟考】數據結構之隊列和棧

目錄 1.例題一1.1題目1.2 題目截圖1.3 題目分析 1.例題一 1.1題目 輸出受限的雙端隊列是指元素可以從隊列的兩端輸入,但只能從隊列的一端輸出,如下圖所示,若有e1,e2,e3,e4依次進入輸出受限的雙端隊列&…

Nginx-location匹配規則

每次配置Nginx的時候,不是多個這匹配不上就是那匹配不上,多個斜線少個斜線的,然后頭疼,尤其多層代理之后,真是瘋狂掉頭發 #mermaid-svg-Z1ScpZFefeixtnn3 {font-family:"trebuchet ms",verdana,arial,sans-s…

Linux——進程控制(一)進程的創建與退出

目錄 一、進程創建 1.寫時拷貝 2.創建多個進程 二、進程終止 1.main函數的返回值 2.bash中的$? 3.自定義退出碼 4.C語言的錯誤碼 5.錯誤碼與退出碼的區別 6.代碼異常終止 7.exit函數 8.總結 一、進程創建 在之前,我們學過linux中的非常重要的函數——…

Git 將dev1.0分支的某些commit合并到dev分支上

前言:dev1.0是新開發的需求內容,但是部分熱更內容在此分支提交,如今需要把熱更的內容發到dev環境,但是dev1.0新需求未開發完畢,不可更新到dev環境。 現在在dev1.0分支 git pull #拉取當前分支最新內容git log #查看最…

3. 文字陰影

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>文字陰影</title><style>*{margin: …

速賣通店鋪營銷秘籍:如何巧妙運用活動提升轉化率

對于速賣通賣家而言&#xff0c;想要提升店鋪的成交率&#xff0c;除了依賴付費推廣外&#xff0c;更重要的是如何通過店鋪營銷來吸引和留住潛在買家。今天&#xff0c;我們就來深入探討一下速賣通店鋪營銷的幾個關鍵策略。 首先&#xff0c;我們要明確一點&#xff0c;速賣通平…