Поиск по сайту:

Как установить Ubuntu через PXE-сервер, используя локальные источники DVD


PXE или Preboot eXecution Environment — это механизм сервер-клиент, который инструктирует клиентский компьютер загружаться из сети.

В этом руководстве мы покажем, как установить Ubuntu Server через PXE сервер с локальными источниками HTTP, зеркально отраженными из ISO-образа сервера Ubuntu через веб-сайт Apache. сервер. В этом руководстве используется PXE-сервер: Dnsmasq Server.

Требования:

  1. Установка Ubuntu Server 16.04 или 17.04
  2. Сетевой интерфейс, настроенный со статическим IP-адресом.
  3. ISO-образ Ubuntu Server 16.04 или 17.04

Шаг 1. Установите и настройте DNSMASQ-сервер

1. Чтобы настроить PXE сервер, на первом этапе войдите в систему с учетной записью root или учетной записью с правами root и установите пакет Dnsmasq. в Ubuntu, выполнив следующую команду.

apt install dnsmasq

2. Затем создайте резервную копию основного файла конфигурации dnsmasq, а затем начните редактировать файл, используя следующие конфигурации.

mv /etc/dnsmasq.conf /etc/dnsmasq.conf.backup
nano /etc/dnsmasq.conf

Добавьте следующую конфигурацию в файл dnsmasq.conf.

interface=ens33,lo
bind-interfaces
domain=mypxe.local

dhcp-range=ens33,192.168.1.230,192.168.1.253,255.255.255.0,1h
dhcp-option=3,192.168.1.1
dhcp-option=6,192.168.1.1
dhcp-option=6,8.8.8.8
server=8.8.4.4
dhcp-option=28,10.0.0.255
dhcp-option=42,0.0.0.0

dhcp-boot=pxelinux.0,pxeserver,192.168.1.14

pxe-prompt="Press F8 for menu.", 2
pxe-service=x86PC, "Install Ubuntu 16.04 from network server 192.168.1.14", pxelinux
enable-tftp
tftp-root=/srv/tftp

В приведенном выше файле конфигурации замените следующие строки соответствующим образом.

  • интерфейс Замените сетевым интерфейсом вашего собственного компьютера.
  • домен – замените его своим доменным именем.
  • dhcp-range – определите свой собственный диапазон сети, чтобы DHCP назначал IP-адреса этому сегменту сети, а также как долго должен предоставляться IP-адрес клиенту.
  • dhcp-option=3 – IP-адрес вашего шлюза.
  • dhcp-option=6 IP-адреса DNS-сервера — можно определить несколько IP-адресов DNS.
  • server – IP-адрес DNS-перенаправителя.
  • dhcp-option=28 – широковещательный адрес вашей сети.
  • dhcp-option=42 – NTP-сервер – используйте адрес 0.0.0.0 для справки.
  • dhcp-boot – загрузочный файл pxe и IP-адрес PXE-сервера (здесь pxelinux.0 и IP-адрес той же машины).
  • pxe-prompt – пользователи могут нажать клавишу F8, чтобы войти в меню PXE, или подождать 2 секунды перед автоматическим переключением в меню PXE.
  • pxe=service – используйте x86PC для 32-битных/64-битных архитектур и введите подсказку описания меню в кавычках. Другими типами значений могут быть: PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI и X86-64_EFI.
  • enable-tftp – включает встроенный TFTP-сервер.
  • tftp-root – системный путь для файлов сетевой загрузки.

3. Кроме того, после завершения редактирования файла конфигурации dnsmasq создайте каталог для файлов PXE netboot, введя приведенную ниже команду и перезапустите демон dnsmasq, чтобы применить изменения. Проверьте состояние службы dnsmasq, чтобы убедиться, что она запущена.

mkdir /srv/tftp
systemctl restart dnsmasq.service
systemctl status dnsmasq.service

Шаг 2. Установите файлы сетевой загрузки TFTP.

4. На следующем шаге получите последнюю версию ISO-образа сервера Ubuntu для 64-битной архитектуры, выполнив следующую команду.

wget http://releases.ubuntu.com/16.04/ubuntu-16.04.3-server-amd64.iso

5. После загрузки ISO-образа сервера Ubuntu смонтируйте образ в каталоге /mnt и перечислите содержимое смонтированного каталога, выполнив приведенные ниже команды.

mount -o loop ubuntu-16.04.3-desktop-amd64.iso /mnt/
ls /mnt/

6. Затем скопируйте файлы netboot из смонтированного дерева Ubuntu в системный путь tftp, выполнив приведенную ниже команду. Кроме того, укажите системный путь tftp, чтобы увидеть скопированные файлы.

cp -rf /mnt/install/netboot/* /srv/tftp/
ls /srv/tftp/

Шаг 3. Подготовьте исходные файлы для локальной установки.

7. Источники локальной сети для установки сервера Ubuntu будут предоставлены по протоколу HTTP. Сначала установите, запустите и включите веб-сервер Apache, выполнив следующие команды.

apt install apache2
systemctl start apache2
systemctl status apache2
systemctl enable apache2

8. Затем скопируйте содержимое смонтированного Ubuntu DVD в корневой путь веб-сервера Apache, выполнив приведенные ниже команды. Перечислите содержимое корневого пути веб-сайта Apache, чтобы проверить, полностью ли скопировано смонтированное дерево Ubuntu ISO.

cp -rf /mnt/* /var/www/html/
ls /var/www/html/

9. Затем откройте HTTP-порт в брандмауэре и перейдите по IP-адресу вашего компьютера через браузер (http://192.168.1.14/ubuntu), чтобы проверить, работаете ли вы может достигать источников по протоколу HTTP.

ufw allow http

Шаг 4. Настройка файла конфигурации PXE-сервера

10. Чтобы иметь возможность поворачивать rootfs через PXE и локальные источники, Ubuntu необходимо проинструктировать через файл предварительной настройки. Создайте следующий файл local-sources.seed в корневом пути документа вашего веб-сервера со следующим содержимым.

nano /var/www/html/ubuntu/preseed/local-sources.seed

Добавьте следующую строку в файл local-sources.seed.

d-i live-installer/net-image string http://192.168.1.14/ubuntu/install/filesystem.squashfs

Здесь обязательно замените IP-адрес соответствующим образом. Это должен быть IP-адрес, на котором расположены веб-ресурсы. В этом руководстве веб-источники, PXE-сервер и TFTP-сервер размещены в одной системе. В переполненной сети вам может потребоваться запустить PXE, TFTP и веб-службы на отдельных компьютерах, чтобы повысить скорость сети PXE.

11. PXE-сервер считывает и выполняет файлы конфигурации, расположенные в корневом каталоге pxelinux.cfg TFTP в следующем порядке: файлы GUID, файлы MAC и файл по умолчанию.

Каталог pxelinux.cfg уже создан и заполнен необходимыми файлами конфигурации PXE, поскольку ранее мы скопировали файлы сетевой загрузки из смонтированного ISO-образа Ubuntu.

Чтобы добавить указанный выше файл предварительной настройки в метку установки Ubuntu в файле конфигурации PXE, откройте следующий файл для редактирования, введя приведенную ниже команду.

nano /srv/tftp/ubuntu-installer/amd64/boot-screens/txt.cfg

В файле конфигурации Ubuntu PXE txt.cfg замените следующую строку, как показано в приведенном ниже фрагменте.

append auto=true url=http://192.168.1.14/ubuntu/preseed/local-sources.seed vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet

Файл /srv/tftp/ubuntu-installer/amd64/boot-screens/txt.cfg должен иметь следующее глобальное содержимое:

default install
label install
	menu label ^Install Ubuntu 16.04 with Local Sources
	menu default
	kernel ubuntu-installer/amd64/linux
	append auto=true url=http://192.168.1.14/ubuntu/preseed/local-sources.seed vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet 
label cli
	menu label ^Command-line install
	kernel ubuntu-installer/amd64/linux
	append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet

12. Если вы хотите добавить оператор preseed url в меню Ubuntu Rescue, откройте файл ниже и обязательно обновите содержимое, как показано в примере ниже.

nano /srv/tftp/ubuntu-installer/amd64/boot-screens/rqtxt.cfg

Добавьте следующую конфигурацию в файл rqtxt.cfg.

label rescue
	menu label ^Rescue mode
	kernel ubuntu-installer/amd64/linux
	append auto=true url=http://192.168.1.14/ubuntu/preseed/local-sources.seed vga=788 initrd=ubuntu-installer/amd64/initrd.gz rescue/enable=true --- quiet

Важная строка, которую вам следует обновить, — это url=http://192.168.1.14/ubuntu/preseed/local-sources.seed, которая указывает URL-адрес, по которому в вашей сети находится нажатый файл.

13. Наконец, откройте файл Ubuntu pxe menu.cfg и закомментируйте первые три строки, чтобы расширить экран загрузки PXE, как показано на снимке экрана ниже.

nano /srv/tftp/ubuntu-installer/amd64/boot-screens/menu.cfg

Прокомментируйте эти три следующие строки.

#menu hshift 13
#menu width 49
#menu margin 8

Шаг 5. Откройте порты брандмауэра в Ubuntu

14. Выполните команду netstat с правами root, чтобы определить открытые порты dnsmasq, tftp и web в состоянии прослушивания на вашем сервере, как показано в приведенном ниже отрывке.

netstat -tulpn

15. После того, как вы определили все необходимые порты, введите приведенные ниже команды, чтобы открыть порты в брандмауэре ufw.

ufw allow 53/tcp
ufw allow 53/udp
ufw allow 67/udp
ufw allow 69/udp
ufw allow 4011/udp

Шаг 6. Установите Ubuntu из локальных источников через PXE

16. Чтобы установить сервер Ubuntu через PXE и использовать источники установки локальной сети, перезагрузите клиент вашего компьютера, дайте команду BIOS загрузиться из сети и на первом экране меню PXE выберите первый вариант, как показано на рисунке. изображения ниже.

17. Процедуру установки следует выполнять как обычно. Когда установщик достигнет настройки Страна зеркалирования архива Ubuntu, с помощью стрелки вверх на клавиатуре перейдите к первому варианту, который говорит: введите информацию вручную.

18. Нажмите клавишу [enter], чтобы обновить эту опцию, удалите строку зеркала и добавьте IP-адрес источников зеркала веб-сервера и нажмите Enter, чтобы продолжить, как показано на рисунке. изображение ниже.

http://192.168.1.14

19. На следующем экране добавьте каталог зеркального архива, как показано ниже, и нажмите клавишу ввода, чтобы продолжить процесс установки, как обычно.

/ubuntu

20. Если вы хотите просмотреть информацию о том, какие пакеты загружены с локального сетевого зеркала, нажмите клавиши [CTRL+ALT+F2], чтобы изменить виртуальную консоль машины. и введите следующую команду.

tail –f /var/log/syslog

21. После завершения установки сервера Ubuntu войдите во вновь установленную систему и выполните следующую команду с правами root, чтобы обновить пакеты репозиториев из локальных сетевых источников до официальных зеркал Ubuntu.

Зеркала необходимо поменять, чтобы обновить систему с помощью интернет-репозиториев.

sudo sed –i.bak ‘s/192.168.1.14/archive.ubuntu.com/g’ /etc/apt/sources.list

Убедитесь, что вы заменили IP-адрес на IP-адрес ваших локальных веб-источников.

Вот и все! Теперь вы можете обновить серверную систему Ubuntu и установить все необходимое программное обеспечение. Установка Ubuntu через PXE и зеркало источника локальной сети может повысить скорость установки и сэкономить пропускную способность Интернета и затраты в случае развертывания большого количества серверов за короткий период времени в вашем помещении.