本文重点是利用Jenkins如何登录网络设备进行网络配置,
一、原始操作流程1、规划:我公司机房主要分为自建机房和IDC机房,之间通过一条SDH线路连接可以通过内网传输数据或者远程登录。
需求:
需要在IDC机房的路由器创建访问控制列表ACL,用来控制访问
1、开放IDC机房对自建机房特定的端口号
rule 1 permit tcp destination-port eq 2222
2、允许公司某个办公人员IP地址访问IDC机房的服务器
rule 2 permit ip source 10.11.2.77 0
3、允许IDC机房某台服务器被所有办公人员访问
rule 3 permit ip destination 192.168.3.190 0
4、 输允许办公人员IP访问联通某服务器IP
二、通过Jenkins自动化操作进行增删操作 1、build操作,根据需求选择需要进行的操作rule 4 permit ip source 10.12.1.105 0 destination 192.168.3.110 0
2、参数化构建过程,来指定build的操作内容
参数化构建过程
3、shell构建过程
导出一份路由器的ACL表格放在Jenkins服务器上用来冲突判断
vim /App/jenkins-netdata/route_rule
rule 1 permit tcp destination-port eq 2222
rule 2 permit ip source 10.11.2.77 0
rule 3 permit ip destination 192.168.3.190 0
rule 4 permit ip source 10.12.1.105 0 destination 192.168.3.110 0
下面是具体的shell内容
#!/bin/bash
########这里筛选出rule序列,暂定50个,rule 50 deny
number_add=1
while [ $number_add -le 50 ]
do
cat /App/jenkins-netdata/route_rule | cut -d " " -f 2 | grep $number_add > /dev/null
if [ $? -eq 0 ]
then
number_add=$(($number_add+1))
else
echo $number_add
break
fi
done
############这里创建上面的4个需求,和一个删除记录的函数方便下面根据build直接引用
#路由器增加TCP端口
tcpport-add(){
expect <

