J'ai exécuté la tâche suivante copiée directement de l'Ansible 2.9 docs :
- name: Allow all access from RFC1918 networks to this host
ufw:
rule: allow
src: '{{ item }}'
loop:
- 10.0.0.0/8
- 172.16.0.0/12
- 192.168.0.0/16
Bien sûr, avec mes propres IP.
Le problème est que, bien qu'elle boucle sur les IP comme le montre le résultat ci-dessous, la règle UFW reste ouverte à Anywhere.
TASK [Allow 5431] ***********************************************************************************************
changed: [database3] => (item=my_ip1)
changed: [database1] => (item=my_ip2)
changed: [database2] => (item=my_ip3)
ok: [database3] => (item=my_ip1)
ok: [database1] => (item=my_ip2)
ok: [database2] => (item=my_ip3)
J'ai essayé avec succès de supprimer la règle d'autorisation et de relancer celle avec la boucle comme ceci, mais cela ne fonctionne pas :
tasks:
- name: Allow 5431
ufw:
rule: allow
port: "5431"
delete: yes
La question est : comment utiliser le module ufw pour limiter l'accès IP d'un port ?
UPDATE
Je tourne en boucle à travers une série d'adresses IP qui ressemblent à ceci :
loop:
- 10.0.0.0/0
- 172.16.0.0/0
- 192.168.0.0/0