firewalld 模块

使用firewalld模块可以配置防火墙策略

[root@control ~]# cat ~/ansible/firewall.yml
---
- hosts: agent
tasks:
- name: install firewalld.
yum:
name: firewalld
state: present
- name: run firewalld.
service:
name: firewalld
state: started
enabled: yes
- name: set firewalld rule
firewalld:
port: 80/tcp
permanent: yes
state: enabled

以上可进行:安装防火墙、启动防火墙、允许80端口的访问

其他案例

- firewalld:
port: 8081/tcp
permanent: yes
state: disabled - firewalld:
port: 161-162/udp
permanent: yes
state: enabled - firewalld:
zone: dmz
service: http
permanent: yes
state: enabled - name: Redirect port 443 to 8443 with Rich Rule
firewalld:
rich_rule: rule forward-port port=443 protocol=tcp to-port=8443
zone: public
permanent: yes
immediate: yes
state: enabled

immediate 可以让规则立刻生效

查看防火墙永久规则:firewalld-cmd --list-ports --permanent

template 模块

  • copy模块可以将一个文件拷贝给远程主机
  • 但是如果希望每个拷贝的文件内容都不一样呢?
  • 如何给所有web主机拷贝index.html内容是各自的IP地址?
  • Ansible可以利用Jinja2模板引擎读取变量
    • 之前在playbook中调用变量,也是Jinja2(谐音:金加兔)的功能
    • Jinja2模块的表达式包含在分隔符"{{  }}"内
[root@control ansible]# mkdir ~/ansible/template
[root@control ansible]# cat ~/ansible/template/index.html
Welcome to {{ ansible_hostname }} on {{ ansible_eth0.ipv4.address }}.
# 模板文件中调用变量不需要双引号
[root@control ansible]# cat ~/ansible/template.yml
---
- hosts: webserver
tasks:
- name: use template copy index.html to webserver.
template:
src: ~/ansible/template/index.html
dest: /var/www/html/index.html # 在被控制节点查看文件
[root@node3 ansible]# cat /var/www/html/index.html
Welcome to node3 on 192.168.4.3.

定义变量

[root@control ansible]# cat ~/ansible/template/soure.j2
{{ welcome }} {{ iname }}...
[root@control ansible]#
[root@control ansible]# cat ~/ansible/template2.yml
---
- hosts: webserver
vars:
welcome: 'hello'
iname: 'jack'
tasks:
- name: use template copy a file to remote hosts
template:
src: ~/ansible/template/source.j2
dest: /tmp/
[root@control ansible]#

Ansible - [08] 模块应用的更多相关文章

  1. Ansible 常用模块(一)

    一.Ansible简介 Ansible是新出现的自动化运维工具,基于python开发,集合了众多运维工具(puppet(ruby).cfengine.chef.func.fabric.)的优点,实现了 ...

  2. Ansible常用模块介绍及使用(2)

    Ansible模块 在上一篇博客<Ansible基础认识及安装使用详解(一)–技术流ken>中以及简单的介绍了一下ansible的模块.ansible是基于模块工作的,所以我们必须掌握几个 ...

  3. ansible服务模块和组模块使用

    本篇文章主要是介绍ansible服务模块和组模块的使用. 主要模块为ansible service module和ansible group moudle,下面的内容均是通过实践得到,可以直接运行相关 ...

  4. ansible常用模块用法

    ansible常用模块用法 2015-07-21 10:25 24458人阅读 评论(1) 收藏 举报  分类: Linux(44)   ansible 版权声明:本文为博主原创文章,未经博主允许不得 ...

  5. Linux之ansible 常用模块

    目的 代码发布系统 代码发布:把本地的代码通过某些方式弄到线上,可以供别人访问 部署 前戏 ansible 批量在远程主机上执行命令 puppet ruby ansible saltstack pyt ...

  6. Ansible常用模块介绍及使用(week5_day1_part2)--技术流ken

    Ansible模块 在上一篇博客<Ansible基础认识及安装使用详解(一)--技术流ken>中以及简单的介绍了一下ansible的模块.ansible是基于模块工作的,所以我们必须掌握几 ...

  7. Ansible常用模块命令

    Ansible常用模块命令 一.安装ansible yum install epel-release yum install ansible 二.配置文件配置 vi /etc/ansible/ansi ...

  8. ansible 常用模块的使用

    安装 yum -y install ansible 配置文件/etc/ansible/hosts 模块介绍与使用 ping模块 [root@node1 config]# ansible k8s -m ...

  9. Ansible 常见模块介绍

    目录 Ansible 常见模块介绍 ping 模块 command 模块 cron 模块 user 模块 group 模块 copy 模块 file 模块 service 模块 shell 模块 sc ...

  10. ansible核心模块playbook介绍

    ansible的playbook采用yaml语法,它简单地实现了json格式的事件描述.yaml之于json就像markdown之于html一样,极度简化了json的书写.在学习ansible pla ...

随机推荐

  1. Fiddler对手机APP进行抓包

    1.下载安装Fiddler 2.打开Fiddler菜单项Tools-> Options->HTTPS 勾选CaptureHTTPS CONNECTs,点击Actions, 勾选Decryp ...

  2. CVE-2023-31436 数组越界漏洞

    CVE-2023-31436 数组越界漏洞 drawio: CVE-2023-31436.drawio ‍ 漏洞分析 在 qfq_change_class 里面如果用户态没有提供 TCA_QFQ_LM ...

  3. Kettle设置定时跑任务

    1.Kettle设置作业 保存,test.kjb 2. 创建批处理 zxjb.bat C: cd C:\kettle\pdi-ce-9.4.0.0-343\data-integration kitch ...

  4. 【单片机】初次实验:Keil51的使用

    哔哩哔哩/CSDN/博客园:萌狼蓝天 延时器 delay(int count){ int i,j; for(i=0;i<count;i++){ for(j=0;j<1000;j++); } ...

  5. 【转载】wget命令详解

    导读: wget是Linux中的一个下载文件的工具,wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上. 它用在命令行下. ...

  6. Qt编写安防视频监控系统68-兼容Qt4到Qt6

    一.前言 为了从Qt4.7兼容到Qt6.2及后续版本,着实花了不少精力,前提也是对自定义控件大全和各种跨平台的轮子组件全部做成了兼容Qt4到Qt6,这样只剩下UI这块需要兼容就好办多了,各个击破战略, ...

  7. Transmission安装及更换官方UI

    相关链接地址: Transmission镜像地址 Transmission 浏览器管理界面:Transmission Web Control UI. 创建容器 docker-compose.yaml ...

  8. [转]java调用python脚本以及通过Process.waitFor()直接调用python模块返回错误代码1的一种解决办法

    常见的java调用python脚本方式 通过jython提供的类库实现 通过Runtime.getRuntime()开启进程来执行脚本文件 通过jython提供的类库实现 通过jython实现的话,我 ...

  9. 在Eclipse配置并编译worldwind java2.1.0源码,选中Src目录下gov.nasa.worldwindx.examples包下ApplicationTemplate.java类文件run时提示“javax.xml.parsers.DocumentBuilderFactory.setFeature(Ljava/lang/String;Z)V”异常的解决办法

    问题现象: 在Eclipse配置并编译worldwind java2.1.0源码,选中Src目录下gov.nasa.worldwindx.examples包下ApplicationTemplate.j ...

  10. python SQLAlchemy ORM——从零开始学习 01 安装库

    01基础库 1-1安装 依赖库:sqlalchemy pip install sqlalchemy #直接安装即可 1-2导入使用 这里讲解思路[个人的理解],具体写其实就是这个框架: 导入必要的接口 ...