В настоящее время я меняю порт для удаленной машины. Я также должен разрешить правила брандмауэра на 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'