我正在 OS X NetInstall 环境中工作,但在 BSDP 部分遇到了问题。
我有一些主机与服务器位于同一子网 (build),其他主机位于不同子网 (try)。如果使用 启动,则所有主机的网络启动都可以正常工作bless --server=...; reboot
,但只有当操作员在启动时按住“n”键时,本地子网上的主机才能正常工作。
我已捕获本地和远程尝试的数据包日志。远程,失败:
14:24:33.876853 IP (tos 0x0, ttl 64, id 47581, offset 0, flags [none], proto UDP (17), length 320)
10.26.52.1.bootps > install.build.releng.scl3.mozilla.com.bootps: [udp sum ok] BOOTP/DHCP, Request from 3c:07:54:72:51:6e (oui Unknown), length 292, hops 1, xid 0xb89628db, Flags [Broadcast] (0x8000)
Gateway-IP 10.26.64.1
Client-Ethernet-Address 3c:07:54:72:51:6e (oui Unknown)
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Discover
Parameter-Request Option 55, length 7:
Subnet-Mask, Default-Gateway, Domain-Name-Server, Domain-Name
BF, Vendor-Option, Vendor-Class
Client-ID Option 61, length 33: ether 3c:07:54:72:51:6e:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
MSZ Option 57, length 2: 1500
END Option 255, length 0
14:24:33.890945 IP (tos 0x0, ttl 64, id 47586, offset 0, flags [none], proto UDP (17), length 332)
10.26.52.1.bootps > install.build.releng.scl3.mozilla.com.bootps: [udp sum ok] BOOTP/DHCP, Request from 3c:07:54:72:51:6e (oui Unknown), length 304, hops 1, xid 0xb89628db, Flags [Broadcast] (0x8000)
Gateway-IP 10.26.64.1
Client-Ethernet-Address 3c:07:54:72:51:6e (oui Unknown)
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Request
Server-ID Option 54, length 4: admin1b.private.releng.scl3.mozilla.com
Requested-IP Option 50, length 4: bld-lion-r5-025.try.releng.scl3.mozilla.com
Parameter-Request Option 55, length 7:
Subnet-Mask, Default-Gateway, Domain-Name-Server, Domain-Name
BF, Vendor-Option, Vendor-Class
Client-ID Option 61, length 33: ether 3c:07:54:72:51:6e:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
MSZ Option 57, length 2: 1500
END Option 255, length 0
14:24:33.904325 IP (tos 0x0, ttl 64, id 47591, offset 0, flags [none], proto UDP (17), length 321)
10.26.52.1.bootps > install.build.releng.scl3.mozilla.com.bootps: [udp sum ok] BOOTP/DHCP, Request from 3c:07:54:72:51:6e (oui Unknown), length 293, hops 1, Flags [none] (0x0000)
Client-IP bld-lion-r5-025.try.releng.scl3.mozilla.com
Gateway-IP 10.26.64.1
Client-Ethernet-Address 3c:07:54:72:51:6e (oui Unknown)
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
Vendor-Option Option 43, length 7: 1.1.1.2.2.1.1
DHCP-Message Option 53, length 1: Inform
Parameter-Request Option 55, length 2:
Vendor-Option, Vendor-Class
Vendor-Class Option 60, length 25: "AAPLBSDPC/i386/Macmini5,3"
Client-ID Option 61, length 7: ether 3c:07:54:72:51:6e
END Option 255, length 0
14:24:33.904532 IP (tos 0x0, ttl 64, id 62989, offset 0, flags [none], proto UDP (17), length 344, bad cksum 0 (->fb15)!)
install.build.releng.scl3.mozilla.com.bootps > bld-lion-r5-025.try.releng.scl3.mozilla.com.bootpc: [bad udp cksum 2800!] BOOTP/DHCP, Reply, length 316, Flags [none] (0x0000)
Client-IP bld-lion-r5-025.try.releng.scl3.mozilla.com
Gateway-IP 10.26.64.1
Client-Ethernet-Address 3c:07:54:72:51:6e (oui Unknown)
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: ACK
Server-ID Option 54, length 4: install.build.releng.scl3.mozilla.com
Vendor-Class Option 60, length 9: "AAPLBSDPC"
Vendor-Option Option 43, length 53: 1.1.1.4.2.127.147.7.4.130.0.0.111.9.38.130.0.0.111.33.68.101.112.108.111.121.83.116.117.100.105.111.82.117.110.116.105.109.101.45.49.50.48.56.48.56.45.49.54.52.56.49.49
END Option 255, length 0
14:24:34.855107 IP (tos 0x0, ttl 64, id 47607, offset 0, flags [none], proto UDP (17), length 340)
10.26.52.1.bootps > install.build.releng.scl3.mozilla.com.bootps: [udp sum ok] BOOTP/DHCP, Request from 3c:07:54:72:51:6e (oui Unknown), length 312, hops 1, Flags [none] (0x0000)
Client-IP bld-lion-r5-025.try.releng.scl3.mozilla.com
Gateway-IP 10.26.64.1
Client-Ethernet-Address 3c:07:54:72:51:6e (oui Unknown)
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
Vendor-Option Option 43, length 19: 1.1.2.2.2.1.1.3.4.0.0.0.0.8.4.0.0.0.0
DHCP-Message Option 53, length 1: Inform
Parameter-Request Option 55, length 5:
Subnet-Mask, Default-Gateway, BF, Vendor-Option
Vendor-Class
MSZ Option 57, length 2: 1500
Vendor-Class Option 60, length 25: "AAPLBSDPC/i386/Macmini5,3"
Client-ID Option 61, length 7: ether 3c:07:54:72:51:6e
END Option 255, length 0
14:25:31.633527 IP (tos 0x0, ttl 64, id 50616, offset
并且本地成功:
10:16:35.411562 IP (tos 0x0, ttl 64, id 11699, offset 0, flags [none], proto UDP (17), length 320)
0.0.0.0.bootpc > broadcasthost.bootps: [udp sum ok] BOOTP/DHCP, Request from 3c:07:54:72:50:55 (oui Unknown), length 292, xid 0xaab72db5, Flags [Broadcast] (0x8000)
Client-Ethernet-Address 3c:07:54:72:50:55 (oui Unknown)
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Discover
Parameter-Request Option 55, length 7:
Subnet-Mask, Default-Gateway, Domain-Name-Server, Domain-Name
BF, Vendor-Option, Vendor-Class
Client-ID Option 61, length 33: ether 3c:07:54:72:50:55:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
MSZ Option 57, length 2: 1500
END Option 255, length 0
10:16:35.430759 IP (tos 0x0, ttl 64, id 11700, offset 0, flags [none], proto UDP (17), length 332)
0.0.0.0.bootpc > broadcasthost.bootps: [udp sum ok] BOOTP/DHCP, Request from 3c:07:54:72:50:55 (oui Unknown), length 304, xid 0xaab72db5, Flags [Broadcast] (0x8000)
Client-Ethernet-Address 3c:07:54:72:50:55 (oui Unknown)
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Request
Server-ID Option 54, length 4: admin1a.private.releng.scl3.mozilla.com
Requested-IP Option 50, length 4: bld-lion-r5-061.build.releng.scl3.mozilla.com
Parameter-Request Option 55, length 7:
Subnet-Mask, Default-Gateway, Domain-Name-Server, Domain-Name
BF, Vendor-Option, Vendor-Class
Client-ID Option 61, length 33: ether 3c:07:54:72:50:55:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
MSZ Option 57, length 2: 1500
END Option 255, length 0
10:16:35.443251 IP (tos 0x0, ttl 64, id 11701, offset 0, flags [DF], proto UDP (17), length 321)
bld-lion-r5-061.build.releng.scl3.mozilla.com.bootpc > broadcasthost.bootps: [udp sum ok] BOOTP/DHCP, Request from 3c:07:54:72:50:55 (oui Unknown), length 293, Flags [none] (0x0000)
Client-IP bld-lion-r5-061.build.releng.scl3.mozilla.com
Client-Ethernet-Address 3c:07:54:72:50:55 (oui Unknown)
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
Vendor-Option Option 43, length 7: 1.1.1.2.2.1.1
DHCP-Message Option 53, length 1: Inform
Parameter-Request Option 55, length 2:
Vendor-Option, Vendor-Class
Vendor-Class Option 60, length 25: "AAPLBSDPC/i386/Macmini5,3"
Client-ID Option 61, length 7: ether 3c:07:54:72:50:55
END Option 255, length 0
10:16:35.450882 ARP, Ethernet (len 6), IPv4 (len 4), Reply bld-lion-r5-061.build.releng.scl3.mozilla.com is-at 3c:07:54:72:50:55 (oui Unknown), length 46
10:16:35.450932 IP (tos 0x0, ttl 64, id 19478, offset 0, flags [none], proto UDP (17), length 350, bad cksum 0 (->b0e3)!)
install.build.releng.scl3.mozilla.com.bootps > bld-lion-r5-061.build.releng.scl3.mozilla.com.bootpc: [bad udp cksum 32bc!] BOOTP/DHCP, Reply, length 322, Flags [none] (0x0000)
Client-IP bld-lion-r5-061.build.releng.scl3.mozilla.com
Gateway-IP 10.26.52.1
Client-Ethernet-Address 3c:07:54:72:50:55 (oui Unknown)
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: ACK
Server-ID Option 54, length 4: install.build.releng.scl3.mozilla.com
Vendor-Class Option 60, length 9: "AAPLBSDPC"
Vendor-Option Option 43, length 59: 1.1.1.4.2.127.148.7.4.130.0.0.111.8.4.130.0.0.111.9.38.130.0.0.111.33.68.101.112.108.111.121.83.116.117.100.105.111.82.117.110.116.105.109.101.45.49.50.48.56.48.56.45.49.54.52.56.49.49
END Option 255, length 0
10:16:36.413631 IP (tos 0x0, ttl 64, id 11702, offset 0, flags [DF], proto UDP (17), length 340)
bld-lion-r5-061.build.releng.scl3.mozilla.com.bootpc > broadcasthost.bootps: [udp sum ok] BOOTP/DHCP, Request from 3c:07:54:72:50:55 (oui Unknown), length 312, Flags [none] (0x0000)
Client-IP bld-lion-r5-061.build.releng.scl3.mozilla.com
Client-Ethernet-Address 3c:07:54:72:50:55 (oui Unknown)
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
Vendor-Option Option 43, length 19: 1.1.2.2.2.1.1.3.4.10.26.52.17.8.4.130.0.0.111
DHCP-Message Option 53, length 1: Inform
Parameter-Request Option 55, length 5:
Subnet-Mask, Default-Gateway, BF, Vendor-Option
Vendor-Class
MSZ Option 57, length 2: 1500
Vendor-Class Option 60, length 25: "AAPLBSDPC/i386/Macmini5,3"
Client-ID Option 61, length 7: ether 3c:07:54:72:50:55
END Option 255, length 0
10:16:36.432718 IP (tos 0x0, ttl 64, id 33343, offset 0, flags [none], proto UDP (17), length 410, bad cksum 0 (->7a7e)!)
install.build.releng.scl3.mozilla.com.bootps > bld-lion-r5-061.build.releng.scl3.mozilla.com.bootpc: [bad udp cksum 8830!] BOOTP/DHCP, Reply, length 382, Flags [none] (0x0000)
Client-IP bld-lion-r5-061.build.releng.scl3.mozilla.com
Server-IP install.build.releng.scl3.mozilla.com
Client-Ethernet-Address 3c:07:54:72:50:55 (oui Unknown)
sname "install.build.releng.scl3.mozilla.com"
file "/private/tftpboot/NetBoot/NetBootSP0/DeployStudioRuntime-120808-164811.nbi/i386/booter"
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: ACK
Server-ID Option 54, length 4: install.build.releng.scl3.mozilla.com
Vendor-Class Option 60, length 9: "AAPLBSDPC"
RP Option 17, length 96: "nfs:10.26.52.17:/Library/NetBoot/NetBootSP0:DeployStudioRuntime-120808-164811.nbi/NetInstall.dmg"
Vendor-Option Option 43, length 21: 1.1.2.8.4.130.0.0.111.130.10.78.101.116.66.111.111.116.50.50.55
END Option 255, length 0
10:16:36.433832 IP (tos 0x0, ttl 64, id 45635, offset 0, flags [none], proto UDP (17), length 410, bad cksum 0 (->4a7a)!)
install.build.releng.scl3.mozilla.com.bootps > bld-lion-r5-061.build.releng.scl3.mozilla.com.bootpc: [bad udp cksum 6cf2!] BOOTP/DHCP, Reply, length 382, Flags [none] (0x0000)
Client-IP bld-lion-r5-061.build.releng.scl3.mozilla.com
Server-IP install.build.releng.scl3.mozilla.com
Gateway-IP 10.26.52.1
Client-Ethernet-Address 3c:07:54:72:50:55 (oui Unknown)
sname "install.build.releng.scl3.mozilla.com"
file "/private/tftpboot/NetBoot/NetBootSP0/DeployStudioRuntime-120808-164811.nbi/i386/booter"
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: ACK
Server-ID Option 54, length 4: install.build.releng.scl3.mozilla.com
Vendor-Class Option 60, length 9: "AAPLBSDPC"
RP Option 17, length 96: "nfs:10.26.52.17:/Library/NetBoot/NetBootSP0:DeployStudioRuntime-120808-164811.nbi/NetInstall.dmg"
Vendor-Option Option 43, length 21: 1.1.2.8.4.130.0.0.111.130.10.78.101.116.66.111.111.116.50.50.55
END Option 255, length 0
请注意,在成功的情况下,服务器会发送第二个和第三个 ACK(10:16:36.432718、10:16:36.433832),而在失败的情况下则不会发送。数据包转储是在服务器上捕获的,因此这些数据包没有被过滤——相反,它们根本没有被发送。
深入研究选项 43 的数据,苹果将BSDP 特定信息,我看到的唯一区别是在第一个 ACK:
不成功:
1.1.1 -- message type LIST
4.2.127.148 -- server priority 1164
7.4.130.0.0.111 -- ID of standard boot image = 0x8200006f
9.38.<remainder> -- List of boot images = {0x8200006f: "DeployStudioRuntime-120808-164811"}
成功的:
1.1.1 -- message type LIST
4.2.127.148 -- server priority 1164
7.4.130.0.0.111 -- ID of standard boot image = 0x8200006f
8.4.130.0.0.111 -- ID of selected boot image = 0x8200006f
9.38.<remainder> -- List of boot images = {0x8200006f: "DeployStudioRuntime-120808-164811"}
在我看来,服务器拒绝在失败的情况下提供标准启动映像,而在成功的情况下提供标准启动映像。在这种情况下,服务器不发送后续 ACK 是有道理的——它没有映像可以与客户端共享。
但是为什么 bootpd 会这样做呢?我该如何修复它?