Ansible Playbook中hosts字段如何正确配置连续IP地址范围
Ansible Playbook中hosts字段IP范围配置方法
你之前使用的10.134.10.1-99写法不符合Ansible的主机匹配语法,所以不会生效,正确配置方式如下:
正确写法
Ansible的IP数字段范围匹配要求:
- 可变数字段必须放在方括号
[]内 - 范围起止值用**冒号
:**分隔,不能用横杠-
对应10.134.10.1到10.134.10.99的范围,hosts字段应写为10.134.10.[1:99],修正后的完整playbook示例:
- name: Adhoc Commands hosts: "10.134.10.[1:99]" connection: local gather_facts: false tasks: - name: running multiple commands ios_command: commands: "{{ item }}" with_items: "{{ commandList }}" register: output
注意事项
- 该范围匹配规则仅会匹配当前Ansible已加载的inventory列表中,IP落在对应区间的主机,不会自动扫描整个网段发现新主机
- 如果需要匹配带前导零的IP段(比如10.134.10.001这类格式),可以写成
10.134.10.[001:099],Ansible会自动识别补零格式 - 如果IP段主机较多,建议提前在inventory文件中定义主机组,直接在hosts字段引用组名,维护成本更低
内容的提问来源于stack exchange,提问作者vaibhav singhal
相关产品推荐
相关产品推荐

