我是靠谱客的博主 追寻小蚂蚁,最近开发中收集的这篇文章主要介绍利用Jenkins登录防火墙(或交换机)进行自动化配置(一)下面进行利用Jenkins进行操作流程,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本文重点是利用Jenkins如何登录网络设备进行网络配置,之后我会发一个我配置交换机的job

原始操作流程

1、规划:公司内部有一台服务器10.10.80.93 7001端口需要映射到外网,通过外网IP+端口进行访问,这就需要配置防火墙的端口映射

object network 10.10.80.93-7001
    host 10.10.80.93
    nat (inside,outside) static interface service tcp 7001 7001
access-list acl_outside extended permit tcp any host 222.11.11.11 eq 7001

下面进行利用Jenkins进行操作流程

一、build开始构建

1、手动填入需要映射的内网IP和端口

2、外网显示的端口,需要注意端口冲突,配置中我已做冲突终止操作

二、实际配置

1、配置参数化构建过程 

 2、执行shell操作

#!/bin/bash

#防火墙增加端口映射
fire_addport(){   #####这里设定一个函数,下面会调用
expect <<EOF
spawn telnet 10.10.15.20  ####防火墙IP地址
expect "Username:"
send "adminr"    ####防火墙I登录用户名
expect "Password:"
send "adminadminr"     ######防火墙登录密码
send "enr"        ######防火墙进入特权模式
expect "Password:"
send "adminadminr"    ######防火墙登录密码
send "conf tr"   ######防火墙进入配置模式
send "object network ${host_name}-${port_in}r"   
send "host ${host_name}r"
send "nat (inside,outside) static interface service tcp ${port_in} ${port_out}r"
send "access-list acl_outside extended permit tcp any host 222.11.11.11 eq ${port_out}r"
send "exitr"
send "exitr"
send "exitr"
expect eof
EOF
}

#防火墙删除端口映射
fire_delport(){     #####这里设定一个函数,下面会调用
expect <<EOF
spawn telnet 10.10.15.20
expect "Username:"
send "adminr"
expect "Password:"
send "adminadminr"
send "enr"
expect "Password:"
send "adminadminr"
send "conf tr"
send "no access-list acl_outside extended permit tcp any host 222.11.11.11 eq ${port_out}r"
send "no object network ${host_name}-${port_in}r"
send "exitr"
send "exitr"
send "exitr"
expect eof
EOF
}

##########这里需要在Jenkins服务器创建一个文件写入已经开通的端口例如

#cat /App/jenkins-netdata/fireport_exist

#7002

#7003

case ${fire} in
    fire_add)
            #判断外网端口是否存在
                 cat  /App/jenkins-netdata/fireport_exist|grep $port_out
                 if [ $? -eq 0 ]
                 then
                       echo "33[32m端口重复,请重新输入端口!33[0m"

               #####这里如果有冲突会停止jobs
                 else
                       echo -e "33[32m端口不存在,执行添加操作33[0m"
                       echo "${port_out}" >> /App/jenkins-netdata/fireport_exis

               #####配置文件会根据发版进行更新
                       fire_addport
                       echo "33[32m添加成功33[0m"
                 fi
        ;;


    fire_del)
            #判断外网端口是否存在
                 cat  /App/jenkins-netdata/fireport_exist|grep $port_out
                 if [ $? -eq 0 ]
                 then
                       echo -e "33[32m 外网端口存在,执行删除命令! 33[0m"
                       sed -i "/${port_out}/d" /App/jenkins-netdata/fireport_exist
                       fire_delport
                       echo "33[32m删除成功33[0m"
                 else
                       echo -e "33[32m 外网映射端口不存在,无需执行删除命令 33[0m"       
                 fi
        ;;
esac

最后

以上就是追寻小蚂蚁为你收集整理的利用Jenkins登录防火墙(或交换机)进行自动化配置(一)下面进行利用Jenkins进行操作流程的全部内容,希望文章能够帮你解决利用Jenkins登录防火墙(或交换机)进行自动化配置(一)下面进行利用Jenkins进行操作流程所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部