Домашнее задание 29
DHCP, PXE установка Ubuntu 24.04 через http
Для выполнение задания используется vagrant box Ubuntu 22.04 а так же пустой box onyxpoint/empty для установки новой системы через PXE
Создание Vagrantfile
Зададим следующие характеристики для VM
pxe-server
- CPU - 1
- Memory - 1024mb
pxe-client
- CPU - 2
- Memory - 4096mb
После запуска pxe-client vagrant завершится с ошибкой. Это связано с тем, что там нет никакой системы и установлен timeout 10 секунд на ожидание загрузки.
Готовый Vagrantfile
Cоздание ansible.yml
Сценарий для Ansible будет выполнять следующие действия:
- Обновление пакетов
- Установка dhcp-server, tftp-server, apache, syslinux, pxelinux
- Скачивание образа Ubuntu server 24.04
- Конфигурирование dhcp сервера
- Конфигурирование tftp сервера
Готовый ansible.yml
Autoinstall
При загрузке vm pxe-client через tftp, выйдет меню.
- Автоустановка (по умолчанию )
- Ручная установка
В режиме автоустановке, подгрузится минимальный user-data для установки. Будет создан пользователь administrator с паролем QazXdr1010
Готовый user-data
Конфигурация tftp и dhcp
При настройки tftp и dhcp ansible будет использовать шаблоны
dhcpd.template pxelinux.template
Проверка
Запускаем vagrant
lex@ubuntu-pc:~/Документы/29$ vagrant up --no-provision
Bringing machine 'pxe-server' up with 'virtualbox' provider...
Bringing machine 'pxe-client' up with 'virtualbox' provider...
==> pxe-server: Checking if box 'ubuntu/jammy64' version '20241002.0.0' is up to date...
==> pxe-server: Clearing any previously set forwarded ports...
==> pxe-server: Clearing any previously set network interfaces...
==> pxe-server: Preparing network interfaces based on configuration...
pxe-server: Adapter 1: nat
pxe-server: Adapter 2: intnet
==> pxe-server: Forwarding ports...
pxe-server: 22 (guest) => 2222 (host) (adapter 1)
==> pxe-server: Running 'pre-boot' VM customizations...
==> pxe-server: Booting VM...
==> pxe-server: Waiting for machine to boot. This may take a few minutes...
pxe-server: SSH address: 127.0.0.1:2222
pxe-server: SSH username: vagrant
pxe-server: SSH auth method: private key
pxe-server: Warning: Connection reset. Retrying...
pxe-server: Warning: Remote connection disconnect. Retrying...
==> pxe-server: Machine booted and ready!
...
...
If you look above, you should be able to see the error(s) that
Vagrant had when attempting to connect to the machine. These errors
are usually good hints as to what may be wrong.
If you're using a custom box, make sure that networking is properly
working and you're able to connect to the machine. It is a common
problem that networking isn't setup properly in these boxes.
Verify that authentication configurations are also setup properly,
as well.
If the box appears to be booting properly, you may want to increase
the timeout ("config.vm.boot_timeout") value.
Видим, что vagrant завршился с ошибкой, это нормально!
Открываем Virtualbox и видим что меню c выбором установки загрузилось, ничего не трогаем, ждем.
Идет скачивание образа iso
Инициализация user-data
После утсановки не забываем отключить загрузку по сети в настройка VM, или нажать F12 и выбрать загрузку с диска
Ну и как VM запустится, мы видим стандартное приветствие.
Все готово!



