[РЕШЕНО]Бездисковая загрузка. TFTP open timeout.

Здравствуйте.

Пытаюсь загрузиться на бездисковой машине с сервера по сети. Сервер настраивал по этому руководству. На клиенте стоит интеловская сетевая карта с поддержкой PXE.
При загрузке клиент получает по DHCP указанный в dhcpd.conf IP-адрес, но при попытке зайти по TFTP пишет через некоторое время следующее:

PXE-E32: TFTP open timeout.
PXE-E32: TFTP open timeout.
PXE-M0F: Exiting LANDesk Service Agent.

Пробовал заходить по TFTP с других машин на сервер:

tftp> get /tftpboot/pxelinux.0
Error code 1: File not found

Файл pxelinux.0 и каталог в котором он находится имеют права доступа 777.
Содержимое файла /etc/conf.d/in.tftpd

INTFTPD_PATH="/tftpboot"
INTFTPD_OPTS="-l -v -s ${INTFTPD_PATH}"

Подскажите пожалуйста что можно сделать чтобы можно было получить по TFTP данный файл.

ВСЕМ БОЛЬШОЕ СПАСИБО! Особенно MVG.
Дело было в биосе и карточке
(каким то чудом FreeBSD грузилась и так).

В конфигурации

В конфигурации /etc/conf.d/in.tftpd вы указали корень tftp сервера как /tftpboot.
В этом случае необходимо исключить /tftpboot из пути при запросе на получение файлов.
То есть попробуйте сделать так:

tftp> get /pxelinux.0

В файле конфигурации dhcp сервера /etc/dhcpd.conf, в секции конфигурации клиена, нужно указать имя загрузчика тоже как /pxelinux.0
Эта секция должна выглядить примерно так:

 host thin-1 {
        hardware ethernet 00:60:67:74:98:b7;
        option tftp-server-name "fserver";
        filename "/pxelinux.0";
        fixed-address 192.168.0.160;
 }

Только имя носта, MAC адрес, имя tftp сервера и ip адрес клиента укажите свои.

Файл загружается.

Спасибо!
На обычные машины файл загружается, а на бездисковой ситуация осталась прежней. В /etc/dhcp/dhcpd.conf все так и было за исключением "/" перед pxelinux.0.

Теперь /etc/dhcp/dhcpd.conf выглядит так:

ddns-update-style none;
option routers 192.168.100.1;
#option domain-name-servers 192.168.100.1;
next-server 192.168.100.1;

option space PXE;
option PXE.mtftp-ip               code 1 = ip-address;
option PXE.mtftp-cport            code 2 = unsigned integer 16;
option PXE.mtftp-sport            code 3 = unsigned integer 16;
option PXE.mtftp-tmout            code 4 = unsigned integer 8;
option PXE.mtftp-delay            code 5 = unsigned integer 8;
option PXE.discovery-control      code 6 = unsigned integer 8;
option PXE.discovery-mcast-addr   code 7 = ip-address;

subnet 192.168.100.0 netmask 255.255.255.0 {

  class "pxeclient" {
    match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
    vendor-option-space PXE;
    option PXE.mtftp-ip 0.0.0.0;
  }

  host node01 {
    hardware ethernet 00:60:94:A3:F4:30;
    fixed-address 192.168.100.11;
    filename "/pxelinux.0";
    option tftp-server-name "fserv";
  }
}

Судя по содержимому вашего

Судя по содержимому вашего /etc/dhcp/dhcpd.conf, у вас отсутствует DNS сервер, и клиент не может получить ip адрес tftp сервера по его имени.
Соответственно, измените

option tftp-server-name "fserv";

так, чтобы вместо fserv был указан ip адрес вашего tftp сервера.

Пока безрезультатно

Изменил "fserv" на "192.168.100.1"
Перезапустил dhcpd - результат тот же.

С удовольствием покажу другие конфиги, только скажите какие.

Бездисковой загрузкой не

Бездисковой загрузкой не пользовался, а вот tftp использую часто. И пока ни разу не указывал параметр filename таким образом.
Обычно считал, что файл лежит в корневой директории tftp. Попробуйте убрать "/".

Нащяльника, мая сервира паставиль, фрибизьдя инсталя сделаль, апачи сабраль, пыхапе патключиль, сапускаю, а ано - ажамбех пашамбе эшельбе шайтанама!

Попробуйте добавить в секцию

Попробуйте добавить в секцию описания каждого хоста директиву next-server:

  host node01 {
    hardware ethernet 00:60:94:A3:F4:30;
    fixed-address 192.168.100.11;
    filename "/pxelinux.0";
    option tftp-server-name 192.168.100.1;
    next-server 192.168.100.1;
  }

Сейчас попробовал почитать man dhcpd.conf и обнаружил, что параметр tftp-server-name в нем не описан. Странно, я точно помню, что именно им указывал имя tftp сервера, с которого брать файлы. Бездисковой загрузкой пользуюсь уже около 4-х лет. Возможно за это время этот параметр успел устареть, хотя ругани в логах на него нет. В качестве tftp сервера я использую atftp.

Что видно в логах? Фиксируется ли запрос на получение pxelinux.0? Посмотрите на обмен пакетами между машинами при помощи tcpdump.

PS. С tftp-server-name все в порядке, она описана в man dhcp-options.

next-server добавил

У меня установлен tftp-hpa, попробую установить atftp.
Вот что говорит tcpdump:

18:09:17.499819 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request [|bootp]
18:09:17.500637 IP localhost.bootps > 192.168.100.11.bootpc: BOOTP/DHCP, Reply, length 300
18:09:17.502457 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request [|bootp]
18:09:17.502611 IP localhost.bootps > 192.168.100.11.bootpc: BOOTP/DHCP, Reply, length 300
18:09:25.362907 arp who-has localhost tell 192.168.100.11
18:09:25.362945 arp reply localhost is-at 00:1b:fc:a3:19:69 (oui Unknown)
18:09:25.363110 IP 192.168.100.11.2070 > localhost.tftp:  33 RRQ "/pxelinux.0" octet blksiz 
18:09:25.363790 IP localhost.45417 > 192.168.100.11.2070: UDP, length 15
18:09:26.364883 IP localhost.45417 > 192.168.100.11.2070: UDP, length 15
18:09:28.367016 IP localhost.45417 > 192.168.100.11.2070: UDP, length 15
18:09:30.363325 arp who-has 192.168.100.11 tell localhost
18:09:30.363550 arp reply 192.168.100.11 is-at 00:60:94:a3:f4:30 (oui Unknown)
18:09:32.371165 IP localhost.45417 > 192.168.100.11.2070: UDP, length 15
18:09:33.267422 IP 192.168.100.11.2071 > localhost.tftp:  33 RRQ "/pxelinux.0" octet blksiz 
18:09:33.268121 IP localhost.55954 > 192.168.100.11.2071: UDP, length 15
18:09:34.269223 IP localhost.55954 > 192.168.100.11.2071: UDP, length 15
18:09:36.271320 IP localhost.55954 > 192.168.100.11.2071: UDP, length 15
18:09:40.275415 IP localhost.55954 > 192.168.100.11.2071: UDP, length 15
18:09:40.379249 IP localhost.45417 > 192.168.100.11.2070: UDP, length 15
18:09:48.283513 IP localhost.55954 > 192.168.100.11.2071: UDP, length 15
...

Скажите, что отвечает ваш

Скажите, что отвечает ваш сервер на команду

hostname -f?

И покажите еще раз вывод tcpdump, только добавьте еще ключ -n.
Покажите MAC адрес вашего сервера.

Цитата: Скажите, что отвечает

Цитата:
Скажите, что отвечает ваш сервер на команду

hostname -f
# hostname -f
fserv.vstu.edu.ru

Не понятно. У вас hostname

Не понятно. У вас hostname прописан, а в выводе tcpdump сервер резолвится как localhost. Ваш сервер в tcpdump должен резолвится как fserv.vstu.edu.ru. Проверьте внимательно настройки сети.
Покажите вывод tcpdump, только добавьте еще ключ -n.

fserv ~ # tcpdump -n tcpdump:

fserv ~ # tcpdump -n
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 68 bytes
19:57:43.665120 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request [|bootp]
19:57:43.667077 IP 192.168.100.1.67 > 192.168.100.11.68: BOOTP/DHCP, Reply, length 300
19:57:43.668905 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request [|bootp]
19:57:43.671493 IP 192.168.100.1.67 > 192.168.100.11.68: BOOTP/DHCP, Reply, length 300
19:57:51.551440 arp who-has 192.168.100.1 tell 192.168.100.11
19:57:51.551459 arp reply 192.168.100.1 is-at 00:1b:fc:a3:19:69
19:57:51.551644 IP 192.168.100.11.2070 > 192.168.100.1.69:  33 RRQ "/pxelinux.0" octet blksiz
19:57:51.557651 IP 192.168.100.1.25615 > 192.168.100.11.2070: UDP, length 15
19:57:52.558701 IP 192.168.100.1.25615 > 192.168.100.11.2070: UDP, length 15
19:57:54.560744 IP 192.168.100.1.25615 > 192.168.100.11.2070: UDP, length 15
19:57:56.556892 arp who-has 192.168.100.11 tell 192.168.100.1
19:57:56.557114 arp reply 192.168.100.11 is-at 00:60:94:a3:f4:30
19:57:58.564788 IP 192.168.100.1.25615 > 192.168.100.11.2070: UDP, length 15
19:57:59.455155 IP 192.168.100.11.2071 > 192.168.100.1.69:  33 RRQ "/pxelinux.0" octet blksiz
19:57:59.457897 IP 192.168.100.1.25613 > 192.168.100.11.2071: UDP, length 15
19:58:00.458972 IP 192.168.100.1.25613 > 192.168.100.11.2071: UDP, length 15
19:58:02.461018 IP 192.168.100.1.25613 > 192.168.100.11.2071: UDP, length 15
...

Может быть мне нужно в /etc/conf.d/dhcpd прописать какие-то опции?

Вот мой dhcpd.conf # Global

Вот мой dhcpd.conf

# Global options
authoritative;
default-lease-time 1800;
max-lease-time 7200;
option domain-name "domain.ru";
use-host-decl-names on;
ddns-update-style interim;

include "/etc/bind/rndc.key";

zone domain.ru. {
        primary 127.0.0.1;
        key "rndc-key";
}

zone 0.168.192.in-addr.arpa. {
        primary 127.0.0.1;
        key "rndc-key";
}

subnet 192.168.0.0 netmask 255.255.255.0 {
        range 192.168.0.20 192.168.0.30;
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.0.255;
        option routers 192.168.0.1;
        option domain-name-servers 192.168.0.2;
        option tftp-server-name "andrey";
        next-server 192.168.0.2;
        filename "/pxes/pxelinux.0";
}

host thin-1 {
        hardware ethernet 00:60:67:74:98:b7;
        option tftp-server-name "fserver";
        filename "/pxes/pxelinux.0";
        fixed-address 192.168.0.160;
 }

Только сделайте поправку на то, что у вас нет dns сервера. Возможно, здесь есть кое какие корявости, но он точно работает.

В моем случае он видимо будет

В моем случае он видимо будет выглядеть так

# Global options
authoritative;
default-lease-time 1800;
max-lease-time 7200;
 # option domain-name "domain.ru";
 # use-host-decl-names on;
 # ddns-update-style interim;
ddns-update-style none;

 # include "/etc/bind/rndc.key";

subnet 192.168.100.0 netmask 255.255.255.0 {
        range 192.168.0.11 192.168.100.100;
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.100.255;
        option routers 192.168.100.1;
 #       option domain-name-servers 192.168.100.2;
 #       option tftp-server-name "andrey";
        next-server 192.168.100.1;
        filename "/pxelinux.0";
}

Поправьте пожалуйста, если что не так.

Iptables запущен? Если да, то

Iptables запущен?
Если да, то есть правила, специфичные для бездисковых систем?
Кстати интересно было бы глянуть на вывод

# tcpdump -n -nn -vvv

Нащяльника, мая сервира паставиль, фрибизьдя инсталя сделаль, апачи сабраль, пыхапе патключиль, сапускаю, а ано - ажамбех пашамбе эшельбе шайтанама!

# tcpdump -n -nn

# tcpdump -n -nn -vvv
15:39:53.499438 00:1b:fc:a3:19:69 > 33:33:00:00:00:16, ethertype IPv6 (0x86dd), length 90:
        0x0000:  6000 0000 0024 0001 fe80 0000 0000 0000  `....$..........
        0x0010:  021b fcff fea3 1969 ff02 0000 0000 0000  .......i........
        0x0020:  0000 0000 0000 0016 3a00 0502 0000 0100  ........:.......
        0x0030:  8f00 3fd5 0000                           ..?...
15:40:01.614337 IP (tos 0x0, ttl 20, id 0, offset 0, flags [none], proto UDP (17), length 576) 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request [|bootp]
15:40:01.616861 arp who-has 192.168.100.11 tell 192.168.100.1
15:40:02.000497 IP (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 328) 192.168.100.1.67 > 192.168.100.11.68: BOOTP/DHCP, Reply, length 300, xid 0x94a3f430, Flags [none] (0x0000)
          Your-IP 192.168.100.11
          Server-IP 192.168.100.1 [|bootp]
15:40:02.002335 IP (tos 0x0, ttl 20, id 1, offset 0, flags [none], proto UDP (17), length 576) 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request [|bootp]
15:40:02.003040 IP (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 328) 192.168.100.1.67 > 192.168.100.11.68: BOOTP/DHCP, Reply, length 300, xid 0x94a3f430, Flags [none] (0x0000)
          Your-IP 192.168.100.11
          Server-IP 192.168.100.1 [|bootp]
15:40:02.616025 arp who-has 192.168.100.11 tell 192.168.100.1
15:40:02.616244 arp reply 192.168.100.11 is-at 00:60:94:a3:f4:30
15:40:02.616252 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 48) 192.168.100.1 > 192.168.100.11: ICMP echo request, id 155, seq 0, length 28
15:40:09.489177 arp who-has 192.168.100.1 tell 192.168.100.11
15:40:09.489194 arp reply 192.168.100.1 is-at 00:1b:fc:a3:19:69
15:40:09.489381 IP (tos 0x0, ttl 20, id 2, offset 0, flags [none], proto UDP (17), length 61) 192.168.100.11.2070 > 192.168.100.1.69:  33 RRQ "/pxelinux.0" octet blksiz
15:40:09.507838 IP (tos 0x0, ttl 64, id 45657, offset 0, flags [DF], proto UDP (17), length 43) 192.168.100.1.4909 > 192.168.100.11.2070: [bad udp cksum ce4e!]
UDP, length 15
15:40:10.508938 IP (tos 0x0, ttl 64, id 45658, offset 0, flags [DF], proto UDP (17), length 43) 192.168.100.1.4909 > 192.168.100.11.2070: [bad udp cksum ce4e!]
UDP, length 15
15:40:12.511026 IP (tos 0x0, ttl 64, id 45659, offset 0, flags [DF], proto UDP (17), length 43) 192.168.100.1.4909 > 192.168.100.11.2070: [bad udp cksum ce4e!]
UDP, length 15
15:40:16.515114 IP (tos 0x0, ttl 64, id 45660, offset 0, flags [DF], proto UDP (17), length 43) 192.168.100.1.4909 > 192.168.100.11.2070: [bad udp cksum ce4e!]
UDP, length 15
15:40:17.392646 IP (tos 0x0, ttl 20, id 3, offset 0, flags [none], proto UDP (17), length 61) 192.168.100.11.2071 > 192.168.100.1.69:  33 RRQ "/pxelinux.0" octet blksiz
15:40:17.393307 IP (tos 0x0, ttl 64, id 48025, offset 0, flags [DF], proto UDP (17), length 43) 192.168.100.1.4910 > 192.168.100.11.2071: [bad udp cksum cc4e!]

Установил atftp, указал в

Установил atftp, указал в /etc/conf.d/atftp TFTPD_ROOT="/tftpboot" - ничего не изменилось, видимо дело не в tftp-сервере.

а карточки у вас поддерживают

а карточки у вас поддерживают удаленную загрузку?

P.S.: Linux - это красная таблетка :-) Windows - синяя...

Да

Цитата:
На клиенте стоит интеловская сетевая карта с поддержкой PXE

такие глюки у меня от того

такие глюки у меня от того что он не может найти tftp. Забыл указать next-server. Проверьте правильность и уберите имя

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".