使用 ipaddr 过滤器的 Ansible 主机名解析返回 False?

使用 ipaddr 过滤器的 Ansible 主机名解析返回 False?

我正在尝试解决这个问题。 Ansible IP Addr 过滤器如何工作,这似乎总是返回 False

$ ansible -m debug -a 'msg={{"www.google.com"|ipv4}}' 10.1.38.15
10.1.38.15 | SUCCESS => {
    "msg": false
}

答案1

ipv4 过滤器不是名称解析过滤器。它只是测试传递的字符串是否是有效的 IPv4 地址。

如果您想解析 DNS 地址,您可能应该使用查找插件“dig”。

https://docs.ansible.com/ansible/latest/plugins/lookup/dig.html

例子

$ ansible localhost -m debug \
  -a 'msg={{lookup("dig","www.google.com/a",wantlist=true)|first}}'

localhost | SUCCESS => {
    "msg": "172.217.14.196"
}

相关内容