Как установить Ubuntu через PXE-сервер, используя локальные источники DVD
PXE или Preboot eXecution Environment — это механизм сервер-клиент, который инструктирует клиентский компьютер загружаться из сети.
В этом руководстве мы покажем, как установить Ubuntu Server через PXE сервер с локальными источниками HTTP, зеркально отраженными из ISO-образа сервера Ubuntu через веб-сайт Apache. сервер. В этом руководстве используется PXE-сервер: Dnsmasq Server.
Требования:
- Установка Ubuntu Server 16.04 или 17.04
- Сетевой интерфейс, настроенный со статическим IP-адресом.
- 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 и зеркало источника локальной сети может повысить скорость установки и сэкономить пропускную способность Интернета и затраты в случае развертывания большого количества серверов за короткий период времени в вашем помещении.