Задача:

  • Настройка перенаправляющего DNS
    • Настройте перенаправляющий DNS средствами Ansible для группы серверов Router
      • В качестве плейбука используйте файл playbook_1.yml в каталоге project_2
      • Плейбук должен содержать действия по настройке перенаправляющего DNS
        • Используйте bind9
        • Прослушивается только адрес 127.0.0.1 и адрес внутреннего интерфейса
        • Запросы принимаются только от localhost и localnets
        • Прием и отправление рекурсивных запросов разрешены только от localhost и localnets
        • Все запросы должны пересылаться внешнему DNS-серверу
          • Для RTR1 на 77.88.8.8
          • Для RTR2 на 77.88.8.1
        • Сервер должен только перенаправлять все запросы и не пытаться разрешить их самостоятельно
        • В зависимости от операционной системы, конфигурационные файлы должны располагаться в стандартных каталогах и иметь стандартные имена
          • Для RTR1 – /etc/named.conf
          • Для RTR2 – /etc/bind/named.conf.options
        • Использование плагина shell и command НЕ допускается
          • Использование запрещенных плагинов обнулит весь пункт при проверке
    • Плейбук должен содержать действия по перенастройке адреса DNS-сервера на маршрутизаторах на 127.0.0.1
      • Использование плагина shell и command НЕ допускается
        • Использование запрещенных плагинов обнулит весь пункт при проверке

Вариант реализации:

CLI1:

  • Из под пользователя user переходим в директорию /opt/ansible:
cd /opt/ansible
  • Создаём первый playbook_1.yml в директории project_2:
vim project_2/playbook_1.yml
    • Содержимое playbook_1.yml:
---
- name: Configuring Redirecting DNS
  hosts: Router
  become: true

  tasks:
    - name: Configure DNS on Redos
      block:
        - name: Install bind9 on RedOS
          ansible.builtin.dnf: 
            name: bind
            state: present

        - name: Forward requests to 77.88.8.8
          ansible.builtin.copy:
            src: file/redos_named.conf
            dest: /etc/named.conf

        - name: Started and enabled BIND
          ansible.builtin.systemd:
            name: named
            state: started
            enabled: true
      when:
        - ansible_os_family == 'RED'

    - name: Configure DNS on Astra
      block:
        - name: Install bind9 on Astra
          ansible.builtin.apt:
            name: bind9
            state: present
            update_cache: true

        - name: Forward requests to 77.88.8.1
          ansible.builtin.copy:
            src: file/astra_named.conf
            dest: /etc/bind/named.conf.options

        - name: Restarted BIND
          ansible.builtin.systemd:
            name: bind9
            state: restarted
            enabled: true
      when:
        - ansible_os_family == 'Astra Linux (Orel)'

    - name: Configure resolv.conf file
      ansible.builtin.copy:
        src: file/resolv.conf
        dest: /etc/resolv.conf
  • Создаём директорию для хранения файлов:
mkdir project_2/file
  • Создаём файл - для ОС на базе Redos (RTR1):
vim project_2/file/redos_named.conf
    • Содержимое:
      • содержимое просто скопировано из файла /etc/named.conf c RTR1 - убраны комментарии, а также добавлена требуесые по заданию значения:

  • Создаём файл - для ОС на базе Astra (RTR2):
vim project_2/file/astra_named.conf
    • Содержимое:
      • содержимое просто скопировано из файла /etc/bind/named.conf.options c RTR2 - убраны комментарии, а также добавлена требуесые по заданию значения:

  • Создаём файл - для resolv.conf:
echo "nameserver 127.0.0.1" > project_2/file/resolv.conf
  • Таким образом, получается следующая структура для project_2:

  • Выполняем запуск playbook - сценария:
    • из под пользователя user
ansible-playbook project_2/playbook_1.yml
    • Результат:

  • Проверяем:
    • SRV1 - доступ до ya.ru:

    • SRV2 - доступ до ya.ru:

    • RTR1 - содержимое конфигурационного файла /etc/resolv.conf:

    • RTR2 - содержимое конфигурационного файла /etc/resolv.conf:

Последнее изменение: вторник, 9 июля 2024, 15:53