![WeatherPaper помещает погоду на ваш рабочий стол внутри](/f/84d6348d53ac0b8693919eb10a4c77b4.png?width=100&height=100)
PXE сервер - Preboot eXecution Environment - инструктирует клиентский компьютер загружать, запускать или устанавливать операционную систему непосредственно из сетевого интерфейса, устраняя необходимость для записи CD / DVD или использования физического носителя, или может упростить установку дистрибутивов Linux в вашей сетевой инфраструктуре на нескольких машинах одновременно время.
В этой статье объясняется, как установить и настроить PXE сервер на RHEL/CentOS 7 x64-bit с зеркальными локальными установочными репозиториями, исходники предоставлены CentOS 7 DVD ISO-образом, с помощью DNSMASQ Сервер.
Которая обеспечивает DNS и DHCP Сервисы, Syslinux пакет, который предоставляет загрузчики для загрузки по сети,
TFTP-сервер, что делает загрузочные образы доступными для загрузки по сети с помощью Простой протокол передачи файлов (TFTP) и VSFTPD Сервер, на котором будет размещаться локальный смонтированный зеркальный образ DVD, который будет действовать как официальный репозиторий зеркальной установки RHEL / CentOS 7, откуда установщик извлечет необходимые пакеты.1. Нет необходимости напоминать вам, что это абсолютно необходимо, чтобы один из интерфейсов вашей сетевой карты, если ваш сервер предлагает больше сетевых адаптеров, должен быть настроен со статическим IP-адресом из того же диапазона IP-адресов, который принадлежит сегменту сети, который будет предоставлять PXE. Сервисы.
Итак, после того, как вы настроили свой статический IP-адрес, обновили свою систему и выполнили другие начальные настройки, используйте следующую команду для установки DNSMASQ демон.
# yum install dnsmasq.
2. Основной файл конфигурации по умолчанию DNSMASQ, расположенный в /etc Справочник не требует пояснений, но его довольно сложно редактировать, не обращайте внимания на его хорошо комментируемые объяснения.
Сначала убедитесь, что вы сделали резервную копию этого файла на случай, если вам понадобится просмотреть его позже, а затем создайте новый пустой файл конфигурации с помощью вашего любимого текстового редактора, введя следующие команды.
# mv /etc/dnsmasq.conf /etc/dnsmasq.conf.backup. # nano /etc/dnsmasq.conf.
3. Теперь скопируйте и вставьте следующие конфигурации на dnsmasq.conf файл и убедитесь, что вы изменили поясненные ниже инструкции, чтобы они соответствовали настройкам вашей сети.
interface = eno16777736, вот. # привязки-интерфейсы. домен = centos7.lan. # Аренда диапазона DHCP. dhcp-range = eno16777736,192.168.1.3,192.168.1.253,255.255.255.0,1h. # PXE. dhcp-boot = pxelinux.0, pxeserver, 192.168.1.20. # Шлюз. dhcp-option = 3,192.168.1.1. # DNS. dhcp-option = 6,92.168.1.1, 8.8.8.8. сервер = 8.8.4.4. # Адрес трансляции. dhcp-option = 28,10.0.0.255. # Сервер NTP. dhcp-option = 42,0.0.0.0 pxe-prompt = "Нажмите F8 для перехода в меню.", 60. pxe-service = x86PC, «Установить CentOS 7 с сетевого сервера 192.168.1.20», pxelinux. включить-tftp. tftp-root = / var / lib / tftpboot.
Утверждения, которые вам нужно изменить, следующие:
Чтобы узнать о других дополнительных параметрах, касающихся файла конфигурации, не стесняйтесь читать dnsmasq руководство.
4. После того, как вы отредактировали и сохранили DNSMASQ основной файл конфигурации, продолжайте и устанавливайте Syslinx Пакет загрузчика PXE, введя следующую команду.
# yum install syslinux.
5. Файлы загрузчика PXE находятся в /usr/share/syslinux абсолютный системный путь, поэтому вы можете проверить его, указав содержимое этого пути. Этот шаг не является обязательным, но вам может потребоваться знать об этом пути, потому что на следующем шаге мы скопируем все его содержимое в TFTP сервер дорожка.
# ls / usr / share / syslinux.
6. Теперь перейдем к следующему шагу и установим TFTP-сервер а затем скопируйте все файлы загрузчиков, предоставленные пакетом Syslinux, из указанного выше местоположения в /var/lib/tftpboot path, введя следующие команды.
# yum install tftp-server. # cp -r / usr / share / syslinux / * / var / lib / tftpboot.
7. Обычно PXE сервер читает свою конфигурацию из группы определенных файлов (GUID файлы - во-первых, MAC файлы - далее, Дефолт файл - последний), размещенный в папке с именем pxelinux.cfg, который должен находиться в каталоге, указанном в tftp-root заявление из основного файла конфигурации DNSMASQ.
Создайте необходимый каталог pxelinux.cfg и заполните его дефолт файл, введя следующие команды.
# mkdir /var/lib/tftpboot/pxelinux.cfg. # коснитесь /var/lib/tftpboot/pxelinux.cfg/default.
8. Пришло время редактировать PXE сервер файл конфигурации с допустимыми вариантами установки дистрибутивов Linux. Также обратите внимание, что все пути, используемые в этом файле, должны быть относительно /var/lib/tftpboot каталог.
Ниже вы можете увидеть пример файла конфигурации, который вы можете использовать, но измените установочные образы (ядро и initrd файлы), протоколы (FTP, HTTP, HTTPS, NFS) и IP-адреса, чтобы отразить репозитории и пути вашей сетевой установки. соответственно.
# нано /var/lib/tftpboot/pxelinux.cfg/default.
Добавьте в файл следующий отрывок.
по умолчанию menu.c32. подсказка 0. тайм-аут 300. Заголовок локального меню ONTIMEOUT ########## Меню загрузки PXE ########## метка 1. метка меню ^ 1) Установите CentOS 7 x64 с локальным репо. ядро centos7 / vmlinuz. добавьте initrd = centos7 / initrd.img method = ftp: //192.168.1.20/pub devfs = nomount label 2. метка меню ^ 2) Установите CentOS 7 x64 с http://mirror.centos.org Репо. ядро centos7 / vmlinuz. добавить initrd = centos7 / initrd.img method = http://mirror.centos.org/centos/7/os/x86_64/ devfs = nomount ip = ярлык dhcp 3. метка меню ^ 3) Установите CentOS 7 x64 с локальным репо, используя VNC. ядро centos7 / vmlinuz. добавить initrd = centos7 / initrd.img method = ftp: //192.168.1.20/pub devfs = nomount inst.vnc inst.vncpassword = метка пароля 4. метка меню ^ 4) Загрузка с локального диска.
Как видите, загрузочные образы CentOS 7 (ядро и initrd) находятся в каталоге с именем centos7 относительно /var/lib/tftpboot (на абсолютном системном пути это будет означать /var/lib/tftpboot/centos7), а к репозиториям установщика можно получить доступ, используя FTP протокол на 192.168.1.20/pub сетевое расположение - в этом случае репозитории размещаются локально, поскольку IP-адрес совпадает с адресом PXE-сервера).
Также меню этикетка 3 указывает, что установка клиента должна выполняться из удаленного места через VNC (здесь замените пароль VNC на надежный), если вы устанавливаете на безголовый клиент и в меню этикетка 2 указывает как
Источники установки - официальное интернет-зеркало CentOS 7 (в этом случае требуется подключение к Интернету, доступное на клиенте через DHCP и NAT).
Важный: Как вы видите в приведенной выше конфигурации, мы использовали CentOS 7 для демонстрационных целей, но вы также можете определить RHEL 7 образы, а следующие инструкции и конфигурации основаны только на CentOS 7, поэтому будьте осторожны при выборе распределение.
9. Для этого шага требуется ядро CentOS и файлы initrd. Чтобы получить эти файлы, вам понадобится CentOS 7 DVD ISO Изображение. Итак, скачайте CentOS DVD Image, вставьте его в DVD-привод и смонтируйте образ в /mnt системный путь, введя следующую команду.
Причина использования DVD, а не минимального образа компакт-диска заключается в том, что позже это содержимое DVD будет использоваться для создания
локальные репозитории установщика для FTP источники.
# монтировать -o цикл / dev / cdrom / mnt. # ls / mnt.
Если на вашем компьютере нет DVD-привода, вы также можете скачать CentOS 7 DVD ISO локально используя wget или завиток коммунальные услуги от Зеркало CentOS и смонтировать.
# wget http://mirrors.xservers.ro/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso. # монтировать -o цикл /path/to/centos-dvd.iso / mnt.
10. После того, как содержимое DVD станет доступным, создайте centos7 каталог и скопируйте загрузочное ядро CentOS 7 и образы initrd с смонтированного DVD-диска в структуру папок centos7.
# mkdir / var / lib / tftpboot / centos7. # cp / mnt / images / pxeboot / vmlinuz / var / lib / tftpboot / centos7. # cp /mnt/images/pxeboot/initrd.img / var / lib / tftpboot / centos7.
Причина использования этого подхода заключается в том, что позже вы можете создавать новые отдельные каталоги в /var/lib/tftpboot path и добавьте другие дистрибутивы Linux в меню PXE, не нарушая всю структуру каталогов.
11. Хотя вы можете настроить Зеркала источника установки через различные протоколы, такие как HTTP, HTTPS или NFS, для этого руководства я выбрал FTP протокол, потому что он очень надежен и прост в настройке с помощью vsftpd сервер.
Далее установите демон vsftpd, скопируйте все подключенное содержимое DVD в vsftpd путь к серверу по умолчанию (/var/ftp/pub) - это может занять некоторое время, в зависимости от ваших системных ресурсов, и добавьте к этому пути права чтения, выполнив следующие команды.
# ням установить vsftpd. # cp -r / mnt / * / var / ftp / pub / # chmod -R 755 / var / ftp / pub.
12. Теперь, когда настройка PXE-сервера окончательно завершена, запустите DNSMASQ и VSFTPD серверов, проверьте их статус и включите его в масштабе всей системы, чтобы он запускался автоматически после каждой перезагрузки системы, выполнив следующие команды.
# systemctl start dnsmasq. # systemctl status dnsmasq. # systemctl start vsftpd. # systemctl status vsftpd. # systemctl включить dnsmasq. # systemctl включить vsftpd.
13. Чтобы получить список всех портов, которые должны быть открыты на вашем брандмауэре, чтобы клиентские машины могли подключаться к серверу PXE и загружаться с него, запустите netstat command и добавьте правила CentOS 7 Firewalld в соответствии с портами прослушивания dnsmasq и vsftpd.
# netstat -tulpn. # firewall-cmd --add-service = ftp --permanent ## Порт 21. # firewall-cmd --add-service = dns --permanent ## Порт 53. # firewall-cmd --add-service = dhcp --permanent ## Порт 67. # firewall-cmd --add-port = 69 / udp --permanent ## Порт для TFTP. # firewall-cmd --add-port = 4011 / udp --permanent ## Порт для ProxyDHCP. # firewall-cmd --reload ## Применить правила.
14. Чтобы проверить сетевой путь к источнику установки FTP, откройте браузер локально (рысь должен это сделать) или на другом компьютере и введите IP-адрес вашего PXE-сервера с
Протокол FTP, за которым следует /pub сетевое расположение по URL-адресу, и результат должен быть таким, как показано на снимке экрана ниже.
ftp://192.168.1.20/pub.
15. Чтобы отладить сервер PXE на предмет возможных неправильных настроек или другой информации и диагностики в режиме реального времени, выполните следующую команду.
# tailf / var / log / messages.
16. Наконец, последний необходимый шаг, который вам нужно сделать, - это отключить CentOS 7 DVD и удалить физический носитель.
# umount / mnt.
17. Теперь ваши клиенты могут загружаться и устанавливать CentOS 7 на свои машины, настроив сетевую загрузку как первичное загрузочное устройство из BIOS своей системы или нажатием указанной клавиши во время BIOS POST операции, как указано в руководстве к материнской плате.
Чтобы выбрать загрузку по сети. После появления первого запроса PXE нажмите F8 клавишу, чтобы войти в презентацию, а затем нажмите Войти для перехода в меню PXE.
18. Как только вы дойдете до меню PXE, выберите тип установки CentOS 7, нажмите Войти key и продолжите процедуру установки так же, как вы могли бы установить его с локального загрузочного устройства.
Обратите внимание, что для использования варианта 2 из этого меню требуется активное подключение к Интернету на целевом клиенте. Также ниже
На скриншотах вы можете увидеть пример удаленной установки клиента через VNC.
Это все для настройки минимального PXE сервер на CentOS 7. В следующей статье из этой серии я расскажу о других вопросах, связанных с конфигурацией PXE-сервера, например о том, как настроить автоматические установки CentOS 7 с использованием Кикстарт файлы и добавление других дистрибутивов Linux в меню PXE - Сервер Ubuntu и Debian 7.