Найти в Дзене
MDC (Linux Wiki)

4 Сконфигурируйте ansible на сервере BR-SRV

Для начала проверим, обновлены ли у нас списки пакетов и затем попробуем установить ansible: apt-get update apt-get install ansible Далее нам нужен рабочий каталог для нашего ansible, который может быть уже создан, НО если нет, то создадим его следующей командой: mkdir /etc/ansible У нас он уже создан, и там же находится нужный нам файл hosts, тоже уже созданный, НО в случае его отсутствия, нужно также его создать: mcedit /etc/ansible/hosts Теперь нам нужно написать следующие строки в файл hosts: hq-srv ansible_host=sshuser@192.168.1.2 ansible_port=2024 hq-cli ansible_host=sshuser@192.168.2.5 ansible_port=2024 (у вас может быть другой адрес) hq-rtr ansible_host=net_admin@192.168.1.1 ansible_port=22 br-rtr ansible_host=net_admin@192.168.4.1 ansible_port=22 И настроим в каталоге /etc/ansible файл ansible.cfg: mcedit /etc/ansible/ansible.cfg Добавим под строку [defaults] ещё одну: ansible_python_interpreter=/usr/bin/python3 Но, возникает другая проблема, в первом модуле мы настраивали SSH

Сконфигурируйте ansible на сервере BR-SRV

Для начала проверим, обновлены ли у нас списки пакетов и затем попробуем установить ansible:

apt-get update

apt-get install ansible

Далее нам нужен рабочий каталог для нашего ansible, который может быть уже создан, НО если нет, то создадим его следующей командой:

mkdir /etc/ansible

У нас он уже создан, и там же находится нужный нам файл hosts, тоже уже созданный, НО в случае его отсутствия, нужно также его создать:

mcedit /etc/ansible/hosts

Теперь нам нужно написать следующие строки в файл hosts:

hq-srv ansible_host=sshuser@192.168.1.2 ansible_port=2024

hq-cli ansible_host=sshuser@192.168.2.5 ansible_port=2024 (у вас может быть другой адрес)

hq-rtr ansible_host=net_admin@192.168.1.1 ansible_port=22

br-rtr ansible_host=net_admin@192.168.4.1 ansible_port=22

И настроим в каталоге /etc/ansible файл ansible.cfg:

mcedit /etc/ansible/ansible.cfg

Добавим под строку [defaults] ещё одну:

ansible_python_interpreter=/usr/bin/python3

Но, возникает другая проблема, в первом модуле мы настраивали SSH на серверах, однако маршрутизаторы HQ-RTR, BR-RTR и клиент HQ-CLI не входили в пункт по настройке. Теперь его нужно настроить сейчас, на этих устройствах, поэтому приступаем к их настройке, чтобы мы могли выполнить задание по ansible.

Первым делом настроим HQ-RTR, в ней немного отличается пакет и путь к конфигу, но в остальном всё тоже самое, сейчас увидите:

apt update

apt install ssh-server

Теперь заходим в конфигурационный файл /etc/ssh/sshd_config и вносим в него следующие строки:

Port 22

MaxAuthTries 2

AllowUsers net_admin

PermitRootLogin no

Ну и также можно создать баннер в /root/banner, как тогда у серверов:

Authorized access only (не забываем ENTER после этого предложения)

Ну и вернёмся в конфиг, внесем в строку с баннером путь до нашего файла:

Banner /root/banner

systemctl enable --now sshd

systemctl restart sshd

Так как пользователей на роутерах мы создавали ещё в первом модуле, то можно переходить к следующему этапу.

Проделываем тоже самое с BR-RTR.

Как проделали всё с роутерами, следующее, что нужно, это разобраться с HQ-CLI, на нём мы не создавали sshuser, поэтому создаем его тем же способом, что и на серверах в первом модуле. (клик)

А также настраиваем на нём саму службу ssh, как на серверах. (клик)

Теперь на BR-SRV генерируем ключи RSA, чтобы экспортировать их на машины клиенты, строку с путём и passphrase оставляем пустой:

ssh-keygen -t rsa

Копируем публичный ключ на клиентские машины, первая из них будет BR-RTR:

ssh-copy-id -p 22 net_admin@192.168.4.1

Проделываем для остальных клиентов (HQ-CLI, HQ-SRV, HQ-RTR):

ssh-copy-id -p 2024 sshuser@192.168.2.5 (Но у вас может быть другой IP, т.к. адрес он получает по DHCP)

ssh-copy-id -p 2024 sshuser@192.168.1.2

ssh-copy-id -p 22 net_admin@192.168.1.1

После этого мы можем проверить связь. Машины должны без предупреждений и ошибок отвечать pong на команду ping в ansible посланную с BR-SRV:

ansible all -m ping

Задание выполнено.