Я работаю над устранением неполадок на сервере PXE, который мы настроили для использования. Он основан на Cent OS 5.5. Мы установили следующие компоненты поверх относительно простой установки Cent OS:
Нам не нужно запускать DHCP, DNS или DNSMasq в этом поле, поскольку эти службы уже обрабатываются в нашей сети другим набором серверов. Это поле должно использоваться в первую очередь для обработки функций TFTP, необходимых для загрузки PXE, представления меню загрузки PXE и хранения некоторых ISO, которые могут использоваться для загрузки PXE. Следующие изменения были внесены в DHCP-сервер для VLAN, в которой мы тестируем:
filename "pxelinux.0";
next-server xxx.xxx.xxx.xxx;
Мы также обновили адрес DHCP Helper на коммутаторах для этой VLAN, чтобы он указывал на наш PXE-сервер. Наконец, мы разрешили диапазон IP-адресов для клиентов, загружающих PXE, как это разрешено через брандмауэр IPTABLES на PXE-сервере для порта 69. Ниже приведены выходные данные tcpdump клиента, пытающегося подключиться к PXE-серверу. Клиент пытается подключиться, но затем не сообщает, что время ожидания TFTP-OPEN истекло.
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
11:40:33.700465 IP <IP REMOVED>.ah-esp-encap > <IP REMOVED>.tftp: 28 RRQ "/pxelinux.0" octet tsize 0
11:40:35.678042 IP <IP REMOVED>.acp-port > <IP REMOVED>.tftp: 28 RRQ "/pxelinux.0" octet tsize 0
11:40:39.687397 IP <IP REMOVED>.msync > <IP REMOVED>.tftp: 28 RRQ "/pxelinux.0" octet tsize 0
11:40:45.674107 IP <IP REMOVED>.gxs-data-port > <IP REMOVED>.tftp: 28 RRQ "/pxelinux.0" octet tsize 0
11:40:53.638246 IP <IP REMOVED>.vrtl-vmf-sa > <IP REMOVED>.tftp: 28 RRQ "/pxelinux.0" octet tsize 0
11:41:03.581136 IP <IP REMOVED>.newlixengine > <IP REMOVED>.tftp: 33 RRQ "/pxelinux.0" octet blksize 1456
1830 packets captured
1830 packets received by filter
0 packets dropped by kernel
Я подтвердил, что xinetd работает и прослушивает порт 69, с помощью следующей команды:
netstat -nulp | grep 69
Я следовал руководству, указанному в вики-странице CentOS, из Вот по большей части в настройке необходимых файлов и структуры для макета PXE. Однако нам не представлено меню загрузки PXE, которое мы настраиваем, и похоже, что машина никогда не загружается правильно с помощью PXE.
Я не уверен, что делать дальше, и мне было любопытно, был ли кто-нибудь знаком с устранением неполадок PXE, который мог бы помочь мне наладить это и запустить.
Спасибо заранее за помощь.
tftp использует больше портов, чем 69. Вам необходимо разрешить udp> 1023 к серверу tftp и от него.
Возможно, вы блокируете доступ через /etc/hosts.deny?
Является ли сервер многосетевым (2 или более сетевых интерфейса)? Возможно, rpcbind привязан только к одному интерфейсу, а не к правильному? Попробуйте запустить rpcbind с -h IP1 -h IP2.
Проверьте
man rpcbind
Если вы также выполняете tcpdump на сервере, видите ли вы какие-либо пакеты, поступающие туда?
Возможно неправильные настройки в "only_from" в /etc/xinetd.d/tftp? "server_args = -s / tftpboot"?