- name: Install some packages required for the firewall apt: pkg={{ item }} with_items: - iptables - netmask - bsdutils - name: Create directory /etc/iptables file: path=/etc/iptables state=directory owner=root group=root mode=0755 - name: Generate /etc/iptables/services template: src=etc/iptables/services.j2 dest=/etc/iptables/services owner=root group=root mode=0600 - name: Copy /usr/local/sbin/update-firewall.sh copy: src=usr/local/sbin/update-firewall.sh dest=/usr/local/sbin/update-firewall.sh owner=root group=root mode=0755 - name: Make the rulesets persistent copy: src=etc/network/{{ item }} dest=/etc/network/{{ item }} owner=root group=root mode=0755 with_items: - if-pre-up.d/iptables - if-post-down.d/iptables - name: Ensure the firewall is up to date command: /usr/local/sbin/update-firewall.sh -c register: rv # A non-zero return value will make ansible stop and show stderr. This # is what we want. changed_when: rv.rc