Ansible открытый порт на iptables

В настоящее время я меняю порт для удаленной машины. Я также должен разрешить правила брандмауэра на Centos 6.9. Вот моя команда, чтобы открыть порт 2222 на sshd. Я не знаю, как открыть порт 2222 на iptables, используя ansible. Может кто-нибудь помочь?

- hosts: web

  tasks:
   - name: Change The default Port for SSH

     lineinfile: dest=/etc/ssh/sshd_config

                 regexp="#Port 22"
                 line="Port 2222"
                 state=present
   - name: Restart sshd
     service: 

        name: 'sshd'
        state: 'restarted'

2 ответа

Как всегда, есть несколько способов достижения конкретной цели на ansible, и правила iptables не являются исключением. но здесь я оставлю вам способ открыть порт 2222 на iptables

- iptables_raw:
    name: allow_tcp_2222
    rules: '-A INPUT -p tcp -m tcp --dport 2222 -j ACCEPT'

Если ваш брандмауэр управляется system-config-firewall, вы можете использовать lokkit открыть порты брандмауэра. Например:

- name: Open nonstandard ssh port in system-config-firewall
  command: lokkit -p 2222:tcp
  when: ansible_os_family == 'RedHat' and ansible_distribution_major_version|int == 6

- name: Open standard ssh port in system-config-firewall
  command: lokkit -s ssh
  when: ansible_os_family == 'RedHat' and ansible_distribution_major_version|int == 6
Другие вопросы по тегам