Вам необходимо создать топологию сети, состоящую и...
Criado em: 23 de março de 2025
Criado em: 23 de março de 2025
Вам необходимо создать топологию сети, состоящую из трёх машин. Используйте любую ОС
семейства Linux, одну машину используйте как сервер, остальные – как клиенты. Установите и
настройте Ansible, напишите плейбук, при запуске которого на сервер в папку /etc/ansible/IT
Planet с клиентов должна собираться следующая информация:
IP адреса клиентов;
версия операционной системы клиентов;
имена клиентов;
количество свободного места на диске.
Напишите отчет в формате pdf, в котором опишите выполнение всех операций со скриншотами
Для выполнения задания с настройкой сети из трёх машин и использования Ansible для сбора информации с клиентов, необходимо выполнить несколько этапов. Давайте пошагово разберем процесс.
Сетевые машины:
Настройка виртуальных машин:
На сервере (машине, где будет установлен Ansible):
Устанавливаем Ansible на сервер:
bashsudo apt update sudo apt install ansible
На сервере создаём каталог для плейбуков и конфигурации:
bashsudo mkdir -p /etc/ansible/ITPlanet cd /etc/ansible/ITPlanet
Создаём файл hosts
, где будем указывать информацию о клиентах:
ini[clients] client1 ansible_host=<IP адрес клиента1> client2 ansible_host=<IP адрес клиента2>
Устанавливаем на клиентских машинах OpenSSH (если он еще не установлен):
bashsudo apt install openssh-server
Разрешаем подключение по SSH для пользователя, от имени которого будет выполняться Ansible:
На сервере создаем и сохраняем ключи для аутентификации:
bashssh-keygen
Копируем публичный ключ с сервера на клиентские машины:
bashssh-copy-id user@client1 ssh-copy-id user@client2
Теперь создадим плейбук для сбора нужной информации с клиентов. Создаём файл collect_info.yml
в директории /etc/ansible/ITPlanet
.
yaml--- - name: Собрать информацию с клиентов hosts: clients gather_facts: yes tasks: - name: Получить IP адрес debug: msg: "IP адрес клиента: {{ ansible_host }}" - name: Получить версию операционной системы debug: msg: "Версия ОС: {{ ansible_distribution }} {{ ansible_distribution_version }}" - name: Получить имя хоста debug: msg: "Имя хоста клиента: {{ ansible_hostname }}" - name: Получить свободное место на диске command: df -h / register: disk_space - name: Показать свободное место на диске debug: msg: "Свободное место на диске: {{ disk_space.stdout }}"
На сервере запускаем плейбук:
bashansible-playbook -i hosts collect_info.yml
После выполнения плейбука информация будет выведена на экран, также можно сохранять её в файл.
Для того чтобы сохранить информацию в файл на сервере, можно обновить плейбук, добавив задачу для записи данных в файл. Например:
yaml- name: Записать информацию в файл copy: content: | IP адрес клиента: {{ ansible_host }} Версия ОС: {{ ansible_distribution }} {{ ansible_distribution_version }} Имя хоста клиента: {{ ansible_hostname }} Свободное место на диске: {{ disk_space.stdout }} dest: "/etc/ansible/ITPlanet/{{ inventory_hostname }}_info.txt"
В процессе работы сделайте скриншоты каждого этапа:
Для создания PDF отчета используйте любой удобный редактор, например, Microsoft Word или LaTeX. Включите все необходимые скриншоты и пояснения.
Если вы хотите, я могу помочь с генерацией отчета или предоставить пример текста для отчета.