IPV6 network boot with iPXE

From The Power of Many
Revision as of 11:24, 1 April 2020 by Snowshi (talk | contribs)

DHCPv6 (isc-dhcp-server)

/etc/dhcp/dhcpd6.conf

[1]

default-lease-time 2592000;
preferred-lifetime 604800;
option dhcp-renewal-time 3600;
option dhcp-rebinding-time 7200;
allow leasequery;
option dhcp6.preference 255;
option dhcp6.info-refresh-time 21600;
dhcpv6-lease-file-name "/var/lib/dhcpd/dhcpd6.leases";

option dhcp6.user-class code 15 = string;
option dhcp6.vendor-class-data code 16 = string;
option dhcp6.bootfile-url code 59 = string;
option dhcp6.client-arch-type code 61 = array of unsigned integer 16;

if exists dhcp6.user-class and
        substring(option dhcp6.user-class, 2, 4) = "iPXE" {
        option dhcp6.bootfile-url "http://[3ffe:501:ffff:100::1]/start.ipxe";
} else {
        if option dhcp6.client-arch-type = 00:07 {
         option dhcp6.bootfile-url "tftp://[3ffe:501:ffff:100::1]/ipxe.efi";
        }
}

subnet6 3ffe:501:ffff:100::/64 {
        range6 3ffe:501:ffff:100::10 3ffe:501:ffff:100::50;
        range6 3ffe:501:ffff:100:: temporary;
#        prefix6 3ffe:501:ffff:100:: 3ffe:501:ffff:111:: /64;
}

tftp server

/etc/xinetd.d/tftp

service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv6
}

iPXE

References