配置网络模块
nmcli使用模块
作为network系统角色的代替选择,红帽ansible引擎包含可支持系统上网络配置的一系列模块。nmcli模块支持管理网络连接和设备。此模块支持配置网络接口组合和绑定,以及ipv4和ipv6寻址
下表列出nmcli模块的一些参数:
参数名称 | 描述 |
conn_name | 配置连接名称 |
autoconnect | 启用在引导时自动激活连接 |
dns4 | 配置iPV4的dns服务器(最多3个) |
gw4 | 为接口配置ipv4网关 |
Ifname | 要绑定到连接的接口 |
Ip4 | 接口的ip地址 |
State | 启用或禁用网络接口 |
Type | 设备或网络链接的类型 |
示例
以下实例为网络连接和设备配置静态IP配置
name: NIC configuration nmcli: conn_name: ens224 ifname: ens224 type: ehternet ip4: 172.25.250.30/24 gw4: 172.25.250.1 state: present [root@server ~]# ansible web -m nmcli -a 'conn_name=ens224 ip4=172.25.250.30/24 gw4=172.25.250.1 dns4=172.25.250.2 state=present type=ethernet'
Hostname模块管理主机名
ansible node1 -m hostname -a “name=websrv” ansible 192.168.100.18 -m hostname -a 'name=node18.magedu.com'
上传下载文件模块
get_url 模块
该模块主要用于从http、ftp、https服务器上下载文件(类似于wget)
- sha256sum:下载完成后进行sha256 check;
- timeout:下载超时时间,默认10s
- url:下载的URL
- urlpassword、urlusername:主要用于需要用户名密码进行验证的情况
- use_proxy:是事使用代理,代理需事先在环境变更中定义
- owner: 指定属主
- group: 指定属组
示例
- name: download foo.conf get_url: url=http://example.com/path/file.conf dest=/etc/foo.conf mode=0440 - name: download file with sha256 check get_url: url=http://example.com/path/file.conf dest=/etc/foo.conf sha256sum=b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c
uri模块
如果远端是web服务器,可以利用ansible直接请求某个网页
- url= 指明请求的url的路径,如:http://10.1.32.68/test.jpg
- user= 如果请求的url需要认证,则认证的用户名是什么
- password= 如果请求的url需要认证,则认证的密码是什么
- method= 指明请求的方法,如GET、POST…
- body= 指明报文中实体部分的内容,一般是POST方法或PUT方法时用到
- HEADER_ 自定义请求报文中的添加的首部
- return_content: 是否将返回主体作为字典中的"content"值返回
- validate_certs: 如果“否”,则不会验证 ssl 证书。这应该只设置为“否”使用个人控制的网站使用自签名证书。
- Force_basicauth:根据初始请求强制发送基本身份验证标头。
Uri 模块使用的库仅在 webservice 以401状态响应初始请求时发送身份验证信息。由于一些基本的认证服务没有正确地发送401,登录将失败
url: http://...... validate_certs: no force*basic*auth: yes user=redhat password=web_pass return_content: yes 返回content,默认不显示 status_code: 200 正确状态值200 [root@server ~]# ansible localhost -m uri -a 'url=http://localhost return_content=yes