用Ansible配置思科网络设备

ansible:Ansible is Simple IT Automation”——简单的自动化IT工具。这个工具的目标有这么几项:让我们自动化部署APP;自动化管理配置项;自动化的持续交付。Ansible一般通过ssh协议实现linux服务器的管理,但从2.1版本开始,ansible core modules加入了对cisco ios设备的支持,对应的模块为ios_command, ios_config, ios_template。以下拓扑图是用于ansible测试的的

其中右上角的LinuxCacti里面是通过桥接至EVE-NG,此服务器里集成了cacti、ansible等工具。

一、 思科设备要设定ssh登录

aaa new-model

username admin privilege 15 password 7 142713181F1325392066626771

ip domain name vmise.com

crypto key generate rsa modulus 1024

line vty 0 4

transport input telnet ssh

二、ansible book

1.建立switchhost文件,switchhost文件内容格式如下:

备注:router表示设备分组,此可以自行定义,这个名字要跟后面的配置文档的名称一至。如下图就表示两个分组

2.建立三种类型的配置方案,文件结构如下:

    

3. 配置设定以router_acl这个为案例说明,router_acl目录结构如下:

4. router_acl中的tasks(即是需要执行的任务),配置如下:

[[email protected] tasks]# cat main.yml

---

- name: description cli

set_fact:

cli:

host: "{{ansible_host}}"

username: "{{username}}"   --->从vars中配置的传过来参数

password: "{{password}}"   --->从vars中配置的传过来参数

transport: cli

- name: configure acl

ios_template:

src: config.j2             ---->templates里的配置文件,即是路由器的配置脚本

provider: "{{cli}}"

- name: save running-config

ios_command:

commands: write memory    ----> 配置保存命令

provider: "{{cli}}"

register: write_output

5. router_acl的vars配置文档

[[email protected] vars]# cat main.yml

username: admin              ----->定义用户名

password: Password.123       ----->定义用户密码

router_interface:            --->定义路由器接口组名称,后面执行作任务是要调用

- Ethernet1/0

- Ethernet1/1

- Ethernet1/2

6.router_acl中的templates 部分配置config.j2,即是路由器配置脚本

[[email protected] templates]# cat config.j2

ip access-list extended ingress-filter

remark Unassigned IANA address

1 deny ip 1.0.0.0 0.255.255.255 any

2 deny ip 2.0.0.0 0.255.255.255 any

3 deny ip 5.0.0.0 0.255.255.255 any

4 deny ip 7.0.0.0 0.255.255.255 any

5 deny ip 23.0.0.0 0.255.255.255 any

6 deny ip 27.0.0.0 0.255.255.255 any

7 deny ip 31.0.0.0 0.255

{% for interface in router_interface %}  --->router_interface调用vars里的参数

interface {{interface}}

ip access-group ingress-filter in

{% endfor %}

7.router_acl.yml的配置如下:

[[email protected] ansible]# cat router_acl.yml

---

-  hosts: router        --->设备组,就是switchhost配置组

gather_facts: no

connection: local

roles:

- router_acl

8. 执行脚本命令 ansible-playbook -i switchhost  router_acl.yml ,如成功如下图所示

时间: 2024-10-10 05:20:02

用Ansible配置思科网络设备的相关文章

Python 通过telnet 配置思科网络设备

!!使用了 telnetlib 库1 拓扑 未运行脚本的时候,R4.R5是没有到1.1.1.1和2.2.2.2的路由的: 配置文档放在跟python脚本同一个目录下: 运行python脚本之后:-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=" alt="Python 通过telnet 配

ansible配置安装详解

   前段时间把线上服务器域名的代码存放目录,日志目录,以及常用(nginx,php,nodejs,golang等)服务的安装目录都调整到统一的路径下,为方便使用ansible进行批量管理.以下是我在本地测试环境部署安装ansible的文档,让大家参考以下: 一.基础介绍 ========================================================================================== 1.简介 ansible是新出现的自动化运维

Ansible配置

1.介绍 Ansible自动化运维工具,是用来实现一台主机对多台主机进行操作的开源软件.主要功能: 批量对多台主机发送文件 批量对多台主机运行命令特性: 模块化 基于Python语言实现,有Paramiko,PyYAML和Jinja2三个关键模块 部署简单:agentless,可以不需要在需要操作的服务器上安装任何软件 支持自定义模块 支持Playbook,可以将任何配置写入Playbook,循环使用 幂等性,命令不管执行多少次,结果是一样的Ansible配置系统结构图: 2.安装和配置说明 A

生产环境中jenkins主机ansible配置如下

生产环境中jenkins主机ansible配置如下: [defaults] hostfile = ./hosts library = /usr/share/ansible remote_tmp = $HOME/.ansible/tmp pattern = * transport = smart remote_port = 22 log_path = /home/jenkins/ansible/ansible.log pipelining = True module_lang = C gather

思科网络设备远程基本配置

一.Telnet 以用户名和密码登录方式登录及进入全局模式密码登陆设置(推荐) (1) Router(config)#no enable secret(password)   //先删除进入全局的加密密码,如果有的话 Router(config)#enable secret(password) 123  //配置进入用户模式的密码 Router(config)#username benet password cisco  //创建本地用户benet和密码cisco Router(config)#

网络设备基本配置(思科版本)

来源于:https://www.cnblogs.com/jarick-jiao/p/7831686.html 1查看IP地址的配置信息 右击桌面网络图标—属性—更改适配器设置—双击本地连接—单击"详细信息 或者开始 | 命令提示符 | 运行cmd | ipconfig或Ipconfig /all查看MAC地址 2 ping 命令测试网络连通性 Ping 127.0.0.1 进行回环测试 验证TCP/IP配置是否正确 3 交换机的工作模式: Switch>用户模式 Switch>ena

配置思科路由器以允许ping并禁止来自非指定用户的trace

说明: 使用本文介绍的方法,可在思科路由器上,放通用户的ping包,而不允许trace(不管是icmp.udp还是tcp类型的),并且放通特定用户的trace. 知识准备: 1.首先需要知道普通的trace是如何工作的.这部分内容就不再介绍了,有兴趣可以看附件.附件中的内容是从思科官网上截取的. 2.根据个人经验总结: ping功能一般是通过ICMP的echo request包来实现的. Windows平台的tracert也是ICMP的echo request包,它与普通ping包的不同点只在于

SONOS 无线音响配置思科交换机

昨天公司买了几个SONOS的无线HIFI设备,豆子需要测试一下效果. 作为一个简单的测试,我的结构很简单, 路由器(防火墙)出来接思科的交换机,然后Boost和我的控制器(电脑或者手机)都在一个VLAN上,然后Boost和Player之间通过自身之间的网格无线网络连接. 路由器 - 交换机 - SONOS Boost/Controller ------ PLAYER 本来以为这是一个很简单的设置,结果发现一个诡异的问题,Boost设备无论如何都无法从思科交换机获取IP地址,但是同样的端口连接在电

4、Ansible配置和使用

Ansible使用SSH协议, 要使用Ansible,必须配置密钥对,并将Ansible主机上的公钥传到目标主机上的某个用户下 操作过程如下: 1.环境: Ansible主机:172.16.206.131  root用户 被管理主机:172.16.206.133 2.Ansible主机上生成SSH KEY ssh-keygen -t rsa 3.将SSH Key传到被管理主机的某个账户下 ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] 第一次