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"
}

관련 정보