Назад | Перейти на главную страницу

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'

Если вашим брандмауэром управляет 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

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

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