Ansible открывает порт в iptables

Вопрос или проблема

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

- hosts: web

  tasks:
   - name: Сменить стандартный порт для SSH

     lineinfile: dest=/etc/ssh/sshd_config

                 regexp="#Port 22"
                 line="Port 2222"
                 state=present
   - name: Перезапустить sshd
     service: 

        name: 'sshd'
        state: 'restarted'

Как всегда, существует несколько способов достижения конкретной цели с помощью 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: Открыть нестандартный ssh порт в system-config-firewall
  command: lokkit -p 2222:tcp
  when: ansible_os_family == 'RedHat' and ansible_distribution_major_version|int == 6

- name: Открыть стандартный ssh порт в system-config-firewall
  command: lokkit -s ssh
  when: ansible_os_family == 'RedHat' and ansible_distribution_major_version|int == 6

Ответ или решение

Открытие порта на iptables с использованием Ansible на CentOS 6.9

На данный момент, вы находитесь в процессе изменения порта для удаленной машины и хотите открыть порт 2222 в правилах файрвола CentOS 6.9. К счастью, с помощью Ansible это можно сделать достаточно просто. В этом руководстве мы рассмотрим несколько методов открытия порта 2222 в iptables, а также управление SSH.

Шаг 1: Изменение порта SSH

Вы уже написали задачу для изменения конфигурации SSH, что является правильным первым шагом. Используйте следующий код:

- hosts: web
  tasks:
    - name: Изменение порта по умолчанию для SSH
      lineinfile:
        dest: /etc/ssh/sshd_config
        regexp: "#Port 22"
        line: "Port 2222"
        state: present

    - name: Перезапуск sshd
      service: 
        name: sshd
        state: restarted

Шаг 2: Открытие порта 2222 в iptables

Чтобы открыть порт 2222 в iptables, вы можете использовать модуль iptables_raw, который позволяет добавлять любые правила в iptables. Вот пример кода для этого:

    - name: Открыть порт 2222 в iptables
      iptables_raw:
        name: allow_tcp_2222
        rules: '-A INPUT -p tcp -m tcp --dport 2222 -j ACCEPT'

Конечный код

Объединяя всё вместе, ваш Playbook будет выглядеть следующим образом:

- hosts: web
  tasks:
    - name: Изменение порта по умолчанию для SSH
      lineinfile:
        dest: /etc/ssh/sshd_config
        regexp: "#Port 22"
        line: "Port 2222"
        state: present

    - name: Перезапуск sshd
      service: 
        name: sshd
        state: restarted

    - name: Открыть порт 2222 в iptables
      iptables_raw:
        name: allow_tcp_2222
        rules: '-A INPUT -p tcp -m tcp --dport 2222 -j ACCEPT'

Использование lokkit (альтернативный метод)

Если вы используете систему управления файрволом system-config-firewall, вы можете вместо этого воспользоваться утилитой lokkit. Здесь пример использования lokkit для открытия порта 2222:

- name: Открыть нестандартный порт SSH в system-config-firewall
  command: lokkit -p 2222:tcp
  when: ansible_os_family == 'RedHat' and ansible_distribution_major_version|int == 6

- name: Открыть стандартный порт SSH в system-config-firewall
  command: lokkit -s ssh
  when: ansible_os_family == 'RedHat' and ansible_distribution_major_version|int == 6

Заключение

С помощью вышеописанных методов вы можете успешно открыть порт 2222 в iptables или через lokkit на CentOS 6.9, используя Ansible. Убедитесь, что вы протестировали изменения после их применения для обеспечения корректной работы SSH и работы службы. Работа с iptables и конфигурацией SSH требует тщательной проверки, чтобы избежать проблем с доступом к системе.

Данная инструкция предоставляет вам необходимые шаги для выполнения этой задачи качественно и эффективно.

Оцените материал
Добавить комментарий

Капча загружается...