【网工Ansible】第 7 节: Ansible Quick Start: Playbooks and Cisco IOS ...

打印 上一主题 下一主题

主题 737|帖子 737|积分 2211

一、预设置与课外知识

1.拓扑装备于设置导入

注意事项:记得使用给出的装备设置文件进行粘贴时,要复制到“wr”下后一空行处,否则“wr”下令将保持输入而未能执行
2.课外知识:cisco中 logging synchronous是干什么用的?

开启日记同步,如果不敲这条下令,主动弹出日记的时候如果你在设置装备,你就会发现日记信息会把你敲入的下令分隔开,影响输入。敲上这条下令之后日记信息不会分隔你敲到一半的下令行。

 二、源代码(可参考修改以自用)

由于按照教程示例拓扑的摆设,好像因互换机的spanning tree收敛而导致CPU hog,终极造成装备不可ping通而下发失败,因此未遵照后续案例跟做。能够参考其代码进行本身的下令编写与下发即可,其源代码如下:
  1. ---
  2. - name: Cisco Wired Campus Design - Access
  3.   hosts: gns3-access
  4.   gather_facts: false
  5.   connection: network_cli
  6.   tasks:
  7.     - name: Global config settings
  8.       ios_config:
  9.         lines:
  10.           - vtp mode transparent
  11.           - spanning-tree mode rapid-pvst
  12.           - udld enable
  13.           - errdisable recovery cause all
  14.           - port-channel load-balance src-dst-ip
  15.           - ip name-server 8.8.8.8
  16.           - no ip http server
  17.           - ip http secure-server
  18.           - snmp-server community python1 RO
  19.           - snmp-server community python2 RW
  20.           - ntp server 87.81.181.2
  21.           - ntp update-calendar
  22.           - clock timezone PST -8
  23.           - clock summer-time PDT recurring
  24.           - service timestamps debug datetime msec localtime
  25.           - service timestamps log datetime msec localtime
  26.           - "vlan 1,10,20,30,40,50"
  27.           - ip default-gateway 192.168.122.1
  28.           - "ip dhcp snooping vlan 100,101"
  29.           - no ip dhcp snooping information option
  30.           - ip dhcp snooping
  31.           - "ip arp inspection vlan 100,101"
  32.           - spanning-tree portfast bpduguard default
  33.       register: print_output
  34.     -  debug: var=print_output
  35.     - name: Interface settings
  36.       ios_config:
  37.         parents: "interface {{ item.interface }}"
  38.         lines:
  39.           - "switchport access vlan {{ item.vlan }}"
  40.           - "switchport voice vlan {{ item.voice_vlan }}"
  41.           - switchport host
  42.           - switchport port-security maximum 2
  43.           - switchport port-security
  44.           - switchport port-security aging time 2
  45.           - switchport port-security aging type inactivity
  46.           - switchport port-security violation restrict
  47.           - ip arp inspection limit rate 100
  48.           - ip dhcp snooping limit rate 100
  49.           - ip verify source
  50.         after:
  51.           - no shutdown
  52.       with_items:
  53.         - { interface : GigabitEthernet1/0, vlan : 100, voice_vlan : 101 }
  54.         - { interface : GigabitEthernet1/1, vlan : 10, voice_vlan : 101 }
  55.         - { interface : GigabitEthernet1/2, vlan : 20, voice_vlan : 101 }
  56.         - { interface : GigabitEthernet1/3, vlan : 30, voice_vlan : 101 }
  57.       register: print_output
  58.     -  debug: var=print_output
  59. - name: Cisco Wired Campus Design - Core
  60.   hosts: gns3-core
  61.   gather_facts: false
  62.   connection: network_cli
  63.   tasks:
  64.     - name: Global config settings
  65.       ios_config:
  66.         lines:
  67.           - vtp mode transparent
  68.           - spanning-tree mode rapid-pvst
  69.           - udld enable
  70.           - errdisable recovery cause all
  71.           - port-channel load-balance src-dst-ip
  72.           - ip name-server 8.8.8.8
  73.           - no ip http server
  74.           - ip http secure-server
  75.           - snmp-server community python1 RO
  76.           - snmp-server community python2 RW
  77.           - ntp server 87.81.181.2
  78.           - ntp update-calendar
  79.           - clock timezone PST -8
  80.           - clock summer-time PDT recurring
  81.           - service timestamps debug datetime msec localtime
  82.           - service timestamps log datetime msec localtime
  83.           - "vlan 1,10,20,30,40,50"
  84.           - ip default-gateway 192.168.122.1
  85.           - "ip dhcp snooping vlan 100,101"
  86.           - no ip dhcp snooping information option
  87.           - ip dhcp snooping
  88.           - "ip arp inspection vlan 100,101"
  89.           - spanning-tree portfast bpduguard default
  90.       register: print_output
  91.     -  debug: var=print_output
复制代码

三、照例实施记录

1.验证

1)sh run检索输出

最后一行下令并未出现在“资源”所给出的设置中,看环境决定后面是否再手动添加

2)sh spanning-tree输出


2.问题与处理

1)遇到问题


2)探索实验

1-实验添加( 参考:讲座问题)

  • [persistent_connection]
  • connect_timeout = 60
2-实验添加(  参考:讲座问答)
最后一行下令:interpreter_python = auto_legacy_silent

(此步后,三个互换机中的一个实施乐成!然后其他互换机上出现了【The error was: ansible.module_utils.connection.ConnectionError: timeout value 30 seconds reached while trying to send command:】)
3-实验添加( 参考:思科社区)
  1. [persistent_connection]
  2. command_timeout = 240
复制代码
(三个都显示乐成!!!但有两个互换机却存在下令丢失的问题)
3)终极解决(附代码及问题原因)

1-设置
如此设置

2-问题原因
下令丢失的原因找到:(讲座问答)
1.确保您的网络主动化节点能够以低延长 ping 到您的互换机,而且您的 GNS3vm CPU 使用率不是 100%。我发现 IOSvL2 15.2.4055 映像偶然会导致此问题(GNS3vm CPU 使用率高),我更喜欢使用此版本,vios_l2-adventerprisek9-m.03.2017.qcow2。干杯。
2.任何可以触发多个互换机之间的天生树重新收敛的剧本都可能导致毗连丢失,我喜欢如许。解决方法是使用 L3 OOB 管理网络,而不是 L2 OOB 管理网络。那,或者大大增加超时值来思量db或stp重新收敛。
(为进行以上解决方案的实验,在继承跟着教程检察被控主机设置时,发现下发的下令好像都完备地存在于互换机上,奇怪)

四、Ansible剧本相关知识

一个yml文件一个playbook,包罗多个任务(task),
Ansible 允许您在应用某些设置之前和应用某些设置之后执行一些操作。(见下例“after”)

关于设置内容与实施:
“这只是一个例子。您可能不想在装备上应用全部这些设置。”
“Ansible 使用多处理,因此您不会看到对多个装备进行设置会存在处理时间的巨大差异。”
“如果编写精确,多次运行剧本不会产生任何负面影响。”




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

徐锦洪

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表