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