Eu tenho uma situação interessante.
Estou tentando uma máquina baseada em Linux para permitir que o Mac conecte o Netboot (semelhante ao boot PXE) executando um serviço DHCP em paralelo com o servidor DHCP "global".
O servidor DHCP local distribui IPs em uma sub-rede privada, por exemplo, 10.168.0.10-10.168.254-254, enquanto o servidor DHCP "global" distribui IPs do intervalo de IPs 10.0.0.1 - 10.0.1.254. / p>
O intervalo DHCP local só deve ser usado no Preboot Execution Environment e no Netboot. O servidor DHCP local é algo sobre o qual tenho controle, mas não tenho acesso ao servidor DHCP global.
Eu tenho um filtro para permitir apenas membros com as cadeias de fornecedor "AAPLBSDPC / i386" e "PXEClient".
O PXE funciona bem, mas o Netboot tem um capricho.
Os sistemas Apple que não foram conectados à rede ainda podem fazer o Netboot funcionar bem. Mas uma vez que ele pegue um endereço IP "real" do servidor DHCP global, ele irá "salvá-lo" e solicitá-lo na próxima vez que desejar que ele faça netboot (o que o servidor dhcp local não fornecerá).
Isso é o que eu quero:
Mar 30 10:52:28 dev01 dhcpd: DHCPDISCOVER from 34:15:xx:xx:xx:xx via eth1
Mar 30 10:52:29 dev01 dhcpd: DHCPOFFER on 10.168.222.46 to 34:15:xx:xx:xx:xx via eth1
Mar 30 10:52:31 dev01 dhcpd: DHCPREQUEST for 10.168.222.46 (10.168.0.1) from 34:15:xx:xx:xx:xx via eth1
Mar 30 10:52:31 dev01 dhcpd: DHCPACK on 10.168.222.46 to 34:15:xx:xx:xx:xx via eth1
Mar 30 10:52:32 dev01 in.tftpd[5890]: tftp: client does not accept options
Mar 30 10:52:53 dev01 in.tftpd[5891]: tftp: client does not accept options
Mar 30 10:52:53 dev01 in.tftpd[5893]: tftp: client does not accept options
Mar 30 10:52:54 dev01 in.tftpd[5895]: tftp: client does not accept options
Isso é o que recebo quando já tem um IP "armazenado":
Mar 30 10:51:29 dev01 dhcpd: DHCPDISCOVER from 00:25:xx:xx:xx:xx via eth1
Mar 30 10:51:30 dev01 dhcpd: DHCPOFFER on 10.168.222.45 to 00:25:xx:xx:xx:xx via eth1
Mar 30 10:51:31 dev01 dhcpd: DHCPREQUEST for 10.0.0.61 (10.0.0.1) from 00:25:xx:xx:xx:xx via eth1: ignored (not authoritative).
Você tem alguma sugestão? Seria muito apreciado.
EDIT: Eu acho que o servidor DHCP deve ser NACK'ing o pedido se está na classe Apple ... eu poderia apenas colocar a declaração 'autoritativa' dentro da classe que filtra os sistemas Apple Netbooting?
[Tcpdump removido do servidor DHCP local]
Eu tentei zapping o carrinho com o combo de teclas, mas não funcionou. Ele ainda relata a mesma coisa nos logs do DHCP. Eu estou olhando para opções aleatórias adicionais na configuração do DHCP por enquanto.
Editar :
O que parece interessante, é se eu entrar no sistema operacional, desativar o en0, depois reiniciar e testar o NetBooting (liberando, portanto, o IP?). O Netboot irá capturar um IP do servidor local e do Netboot corretamente.
Você tem alguma idéia de por que isso funciona?
(Eu queria agradecer por todo o seu esforço até agora, você tem sido muito útil.)
Aqui estão os rastreios da porta através de uma porta espelhada do Netboot Client.
Legenda (apenas no caso):
IP Addr
- 10.0. * é o intervalo de IP global [LAN pública]
- 10.168. * é o intervalo de IP local [LAN privada / para Netboot / PXE]
MAC
- 34: 15: xx: ... é o cliente do Netboot
- 00: 1e: xx: ... é o servidor DHCP local
- 00: 24: xx: ... é o servidor DHCP global
Rastreie quando não funcionar:
tcpdump: listening on en0, link-type EN10MB (Ethernet), capture size 65535 bytes
15:01:10.765615 34:15:xx:xx:xx:xx > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 590: (tos 0x0, ttl 16, id 163, offset 0, flags [none], proto UDP (17), length 576)
0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 34:15:xx:xx:xx:xx, length 548, xid 0x2b93, secs 5, Flags [none] (0x0000)
Client-Ethernet-Address 34:15:xx:xx:xx:xx
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Discover
Parameter-Request Option 55, length 5:
Subnet-Mask, Default-Gateway, BF, Vendor-Option
Vendor-Class
Client-ID Option 61, length 7: ether 34:15:xx:xx:xx:xx
Vendor-Class Option 60, length 28: "AAPLBSDPC/i386/MacBookPro5,3"
Vendor-Option Option 43, length 4: 2.2.1.1
END Option 255, length 0
PAD Option 0, length 0, occurs 252
15:01:10.784087 00:24:xx:xx:xx:xx > 34:15:xx:xx:xx:xx, ethertype 802.1Q (0x8100), length 346: vlan 1, p 0, ethertype IPv4, (tos 0x0, ttl 255, id 17248, offset 0, flags [none], proto UDP (17), length 328)
10.0.129.254.67 > 10.0.128.63.68: [udp sum ok] BOOTP/DHCP, Reply, length 300, xid 0x2b93, Flags [none] (0x0000)
Your-IP 10.0.128.63
Server-IP 10.0.178.10
Gateway-IP 10.0.129.254
Client-Ethernet-Address 34:15:xx:xx:xx:xx
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Offer
Subnet-Mask Option 1, length 4: 255.255.254.0
RN Option 58, length 4: 1296000
RB Option 59, length 4: 2268000
Lease-Time Option 51, length 4: 2592000
Server-ID Option 54, length 4: 10.0.178.10
Default-Gateway Option 3, length 4: 10.0.129.254
END Option 255, length 0
PAD Option 0, length 0, occurs 20
15:01:11.527910 00:1e:xx:xx:xx:xx > 34:15:xx:xx:xx:xx, ethertype 802.1Q (0x8100), length 416: vlan 1, p 0, ethertype IPv4, (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 398)
10.168.0.1.67 > 10.168.0.11.68: [udp sum ok] BOOTP/DHCP, Reply, length 370, xid 0x2b93, secs 5, Flags [none] (0x0000)
Your-IP 10.168.0.11
Server-IP 10.168.0.1
Client-Ethernet-Address 34:15:xx:xx:xx:xx
sname "10.168.0.1"
file "macnbi-i386/booter"
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Offer
Server-ID Option 54, length 4: 10.168.0.1
Lease-Time Option 51, length 4: 86400
Subnet-Mask Option 1, length 4: 255.255.0.0
Default-Gateway Option 3, length 4: 10.168.0.1
RP Option 17, length 76: "http://10.0.128.1/Netboot/NetBootSP0/NetRestore.nbi/NetInstall-Restore.dmg"
Vendor-Option Option 43, length 6: 8.4.129.0.0.103
Vendor-Class Option 60, length 14: "AAPLBSDPC/i386"
END Option 255, length 0
15:01:12.865888 34:15:xx:xx:xx:xx > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 590: (tos 0x0, ttl 16, id 39430, offset 0, flags [none], proto UDP (17), length 576)
0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 34:15:xx:xx:xx:xx, length 548, xid 0x2b93, secs 5, Flags [none] (0x0000)
Client-Ethernet-Address 34:15:xx:xx:xx:xx
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Request
Parameter-Request Option 55, length 5:
Subnet-Mask, Default-Gateway, BF, Vendor-Option
Vendor-Class
Client-ID Option 61, length 7: ether 34:15:xx:xx:xx:xx
Vendor-Class Option 60, length 28: "AAPLBSDPC/i386/MacBookPro5,3"
Requested-IP Option 50, length 4: 10.0.128.63
Server-ID Option 54, length 4: 10.0.178.10
Vendor-Option Option 43, length 4: 2.2.1.1
END Option 255, length 0
PAD Option 0, length 0, occurs 240
15:01:12.868182 00:24:xx:xx:xx:xx > 34:15:xx:xx:xx:xx, ethertype 802.1Q (0x8100), length 346: vlan 1, p 0, ethertype IPv4, (tos 0x0, ttl 255, id 17251, offset 0, flags [none], proto UDP (17), length 328)
10.0.129.254.67 > 10.0.128.63.68: [udp sum ok] BOOTP/DHCP, Reply, length 300, xid 0x2b93, Flags [none] (0x0000)
Your-IP 10.0.128.63
Gateway-IP 10.0.129.254
Client-Ethernet-Address 34:15:xx:xx:xx:xx
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: ACK
RN Option 58, length 4: 1296000
RB Option 59, length 4: 2268000
Lease-Time Option 51, length 4: 2592000
Server-ID Option 54, length 4: 10.0.178.10
Subnet-Mask Option 1, length 4: 255.255.254.0
Default-Gateway Option 3, length 4: 10.0.129.254
END Option 255, length 0
PAD Option 0, length 0, occurs 20
15:01:12.868185 34:15:xx:xx:xx:xx > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 60: Ethernet (len 6), IPv4 (len 4), Request who-has 10.0.128.63 tell 0.0.0.0, length 46
15:01:13.367995 34:15:xx:xx:xx:xx > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 60: Ethernet (len 6), IPv4 (len 4), Request who-has 10.0.128.63 tell 10.0.128.63, length 46
15:01:13.868312 34:15:xx:xx:xx:xx > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 60: Ethernet (len 6), IPv4 (len 4), Request who-has 10.0.129.254 tell 10.0.128.63, length 46
15:01:13.868854 00:24:xx:xx:xx:xx > 34:15:xx:xx:xx:xx, ethertype 802.1Q (0x8100), length 64: vlan 1, p 0, ethertype ARP, Ethernet (len 6), IPv4 (len 4), Reply 10.0.129.254 is-at 00:24:xx:xx:xx:xx, length 46
15:01:13.868857 34:15:xx:xx:xx:xx > 00:24:xx:xx:xx:xx, ethertype IPv4 (0x0800), length 89: (tos 0x0, ttl 16, id 39236, offset 0, flags [none], proto UDP (17), length 75)
10.0.128.63.15789 > 10.168.0.1.69: [udp sum ok] 47 RRQ "macnbi-i386/booter" octet blksize 512 tsize 0
15:01:18.968010 34:15:xx:xx:xx:xx > 00:24:xx:xx:xx:xx, ethertype IPv4 (0x0800), length 89: (tos 0x0, ttl 16, id 41750, offset 0, flags [none], proto UDP (17), length 75)
10.0.128.63.15790 > 10.168.0.1.69: [udp sum ok] 47 RRQ "macnbi-i386/booter" octet blksize 512 tsize 0
15:01:24.067221 34:15:xx:xx:xx:xx > 00:24:xx:xx:xx:xx, ethertype IPv4 (0x0800), length 89: (tos 0x0, ttl 16, id 30380, offset 0, flags [none], proto UDP (17), length 75)
10.0.128.63.15791 > 10.168.0.1.69: [udp sum ok] 47 RRQ "macnbi-i386/booter" octet blksize 512 tsize 0
Parece que você está certo; Ele recebe várias respostas, mas não tenho certeza se essa é a razão pela qual não está selecionando uma sobre a outra.
Aqui está um tcpdump de uma tentativa bem-sucedida de netboot:
tcpdump: listening on en0, link-type EN10MB (Ethernet), capture size 65535 bytes
15:31:26.287342 34:15:xx:xx:xx:xx > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 590: (tos 0x0, ttl 16, id 44354, offset 0, flags [none], proto UDP (17), length 576)
0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 34:15:xx:xx:xx:xx, length 548, xid 0x32cc, secs 5, Flags [none] (0x0000)
Client-Ethernet-Address 34:15:xx:xx:xx:xx
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Discover
Parameter-Request Option 55, length 5:
Subnet-Mask, Default-Gateway, BF, Vendor-Option
Vendor-Class
Client-ID Option 61, length 7: ether 34:15:xx:xx:xx:xx
Vendor-Class Option 60, length 28: "AAPLBSDPC/i386/MacBookPro5,3"
Vendor-Option Option 43, length 4: 2.2.1.1
END Option 255, length 0
PAD Option 0, length 0, occurs 252
15:31:26.289057 00:24:xx:xx:xx:xx > 34:15:xx:xx:xx:xx, ethertype 802.1Q (0x8100), length 64: vlan 1, p 0, ethertype IPv4, (tos 0x0, ttl 127, id 1530, offset 0, flags [none], proto ICMP (1), length 39)
10.0.178.10 > 10.0.128.63: ICMP echo request, id 512, seq 22420, length 19
15:31:26.624305 00:1e:xx:xx:xx:xx > 34:15:xx:xx:xx:xx, ethertype 802.1Q (0x8100), length 416: vlan 1, p 0, ethertype IPv4, (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 398)
10.168.0.1.67 > 10.168.0.11.68: [udp sum ok] BOOTP/DHCP, Reply, length 370, xid 0x32cc, secs 5, Flags [none] (0x0000)
Your-IP 10.168.0.11
Server-IP 10.168.0.1
Client-Ethernet-Address 34:15:xx:xx:xx:xx
sname "10.168.0.1"
file "macnbi-i386/booter"
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Offer
Server-ID Option 54, length 4: 10.168.0.1
Lease-Time Option 51, length 4: 86400
Subnet-Mask Option 1, length 4: 255.255.0.0
Default-Gateway Option 3, length 4: 10.168.0.1
RP Option 17, length 76: "http://10.0.128.1/Netboot/NetBootSP0/NetRestore.nbi/NetInstall-Restore.dmg"
Vendor-Option Option 43, length 6: 8.4.129.0.0.103
Vendor-Class Option 60, length 14: "AAPLBSDPC/i386"
END Option 255, length 0
15:31:27.301638 00:24:xx:xx:xx:xx > 34:15:xx:xx:xx:xx, ethertype 802.1Q (0x8100), length 64: vlan 1, p 0, ethertype IPv4, (tos 0x0, ttl 127, id 1532, offset 0, flags [none], proto ICMP (1), length 39)
10.0.178.10 > 10.0.128.63: ICMP echo request, id 512, seq 22676, length 19
15:31:28.387589 34:15:xx:xx:xx:xx > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 590: (tos 0x0, ttl 16, id 29575, offset 0, flags [none], proto UDP (17), length 576)
0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 34:15:xx:xx:xx:xx, length 548, xid 0x32cc, secs 5, Flags [none] (0x0000)
Client-Ethernet-Address 34:15:xx:xx:xx:xx
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Request
Parameter-Request Option 55, length 5:
Subnet-Mask, Default-Gateway, BF, Vendor-Option
Vendor-Class
Client-ID Option 61, length 7: ether 34:15:xx:xx:xx:xx
Vendor-Class Option 60, length 28: "AAPLBSDPC/i386/MacBookPro5,3"
Requested-IP Option 50, length 4: 10.168.0.11
Server-ID Option 54, length 4: 10.168.0.1
Vendor-Option Option 43, length 4: 2.2.1.1
END Option 255, length 0
PAD Option 0, length 0, occurs 240
15:31:28.802414 00:24:xx:xx:xx:xx > 34:15:xx:xx:xx:xx, ethertype 802.1Q (0x8100), length 346: vlan 1, p 0, ethertype IPv4, (tos 0x0, ttl 255, id 19737, offset 0, flags [none], proto UDP (17), length 328)
10.0.129.254.67 > 10.0.128.63.68: [udp sum ok] BOOTP/DHCP, Reply, length 300, xid 0x32cc, Flags [none] (0x0000)
Your-IP 10.0.128.63
Server-IP 10.0.178.10
Gateway-IP 10.0.129.254
Client-Ethernet-Address 34:15:xx:xx:xx:xx
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Offer
Subnet-Mask Option 1, length 4: 255.255.254.0
RN Option 58, length 4: 1296000
RB Option 59, length 4: 2268000
Lease-Time Option 51, length 4: 2592000
Server-ID Option 54, length 4: 10.0.178.10
Default-Gateway Option 3, length 4: 10.0.129.254
END Option 255, length 0
PAD Option 0, length 0, occurs 20
15:31:28.899055 00:1e:xx:xx:xx:xx > 34:15:xx:xx:xx:xx, ethertype 802.1Q (0x8100), length 392: vlan 1, p 0, ethertype IPv4, (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 374)
10.168.0.1.67 > 10.168.0.11.68: [udp sum ok] BOOTP/DHCP, Reply, length 346, xid 0x32cc, secs 5, Flags [none] (0x0000)
Your-IP 10.168.0.11
Server-IP 10.168.0.1
Client-Ethernet-Address 34:15:xx:xx:xx:xx
sname "10.168.0.1"
file "macnbi-i386/booter"
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: ACK
Server-ID Option 54, length 4: 10.168.0.1
Lease-Time Option 51, length 4: 86400
Subnet-Mask Option 1, length 4: 255.255.0.0
Default-Gateway Option 3, length 4: 10.168.0.1
RP Option 17, length 76: "http://10.0.128.1/Netboot/NetBootSP0/NetRestore.nbi/NetInstall-Restore.dmg"
END Option 255, length 0
15:31:28.899058 34:15:xx:xx:xx:xx > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 60: Ethernet (len 6), IPv4 (len 4), Request who-has 10.168.0.11 tell 0.0.0.0, length 46
15:31:29.398941 34:15:xx:xx:xx:xx > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 60: Ethernet (len 6), IPv4 (len 4), Request who-has 10.168.0.11 tell 10.168.0.11, length 46
15:31:29.899254 34:15:xx:xx:xx:xx > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 60: Ethernet (len 6), IPv4 (len 4), Request who-has 10.168.0.1 tell 10.168.0.11, length 46
15:31:29.899257 00:1e:xx:xx:xx:xx > 34:15:xx:xx:xx:xx, ethertype 802.1Q (0x8100), length 64: vlan 1, p 0, ethertype ARP, Ethernet (len 6), IPv4 (len 4), Reply 10.168.0.1 is-at 00:1e:xx:xx:xx:xx, length 46
15:31:29.899259 34:15:xx:xx:xx:xx > 00:1e:xx:xx:xx:xx, ethertype IPv4 (0x0800), length 89: (tos 0x0, ttl 16, id 38655, offset 0, flags [none], proto UDP (17), length 75)
10.168.0.11.17638 > 10.168.0.1.69: [udp sum ok] 47 RRQ "macnbi-i386/booter" octet blksize 512 tsize 0
15:31:29.899924 00:1e:xx:xx:xx:xx > 34:15:xx:xx:xx:xx, ethertype 802.1Q (0x8100), length 73: vlan 1, p 0, ethertype IPv4, (tos 0x0, ttl 64, id 25574, offset 0, flags [DF], proto UDP (17), length 55)
10.168.0.1.43349 > 10.168.0.11.17638: [udp sum ok] UDP, length 27
15:31:29.900216 34:15:xx:xx:xx:xx > 00:1e:xx:xx:xx:xx, ethertype IPv4 (0x0800), length 60: (tos 0x0, ttl 16, id 59278, offset 0, flags [none], proto UDP (17), length 33)
10.168.0.11.17638 > 10.168.0.1.43349: [udp sum ok] UDP, length 5
15:31:34.900598 00:1e:xx:xx:xx:xx > 34:15:xx:xx:xx:xx, ethertype 802.1Q (0x8100), length 64: vlan 1, p 0, ethertype ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.168.0.11 tell 10.168.0.1, length 46
15:31:35.900833 00:1e:xx:xx:xx:xx > 34:15:xx:xx:xx:xx, ethertype 802.1Q (0x8100), length 64: vlan 1, p 0, ethertype ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.168.0.11 tell 10.168.0.1, length 46
15:31:36.901071 00:1e:xx:xx:xx:xx > 34:15:xx:xx:xx:xx, ethertype 802.1Q (0x8100), length 64: vlan 1, p 0, ethertype ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.168.0.11 tell 10.168.0.1, length 46
Quais são seus pensamentos ao ver este registro?
Editar / atualizar:
Acabei de adicionar mais opções para que minha Contagem de opções de DHCP local seja 11 versus a Contagem de opções de DHCP global de 9. E ainda não pegará o endereço IP do meu servidor DHCP local. Não tenho certeza do que posso fazer, não preciso liberar o IP toda vez que preciso do NetBoot.
Portanto, parece que será necessária a primeira oferta DHCP. Existe alguma maneira de garantir que o servidor DHCP local responda primeiro?
Você tem alguma informação que pode compartilhar conosco?