Hey,

I'm currently trying to boot a netinstall Image in a DHCPv6 only environment, so no IPv4 DHCP nor SLAAC is available. During auto configuration, DHCPv6 seems to work fine, the configuration succeeds, the host finds its hostname and domain search list of the network its in, but after that point, the IPv6 address received during auto configuration does not get saved to the interface for use in later parts of the install. So getting a preseed file after the autoconfiguration will fail and checking the interface information on a shell shows no configured IP address.

When checking the logs, I see netcfg writing that Stateful DHCPv6 has been requested and a DHCPv6 client with a PID has started. It also gets the correct nameserver and domain search list information, but something after that seems to go awry. When trying to download the preseed file I want to use, the installer cannot contact the dual stack domain. If I go to the command line after that and issue the command to get a DHCPv6 address, a correct address is assigned to the interface:

dhcp6c -c /var/lib/netcfg/dhcp6c.conf ens192

If I then exit the shell and continue the installation, the installer gets the preseed file without issue. So it seems like the IPv6 address obtained during autoconfiguration does not get saved to the interface.

grepping for DHCPv6 in /var/log/syslog gives me the following output:
~# grep DHCPv6 /var/log/syslog
DEBUG: Stateful DHCPv6 requested
WARNING **: Started DHCPv6 client; PID is 1747
DEBUG: DHCPv6 line: nameserver[0] IPV6_ADDR_REDACTED
DEBUG: DHCPv6 line: Domain search list[0] DOMAIN_REDACTED
DEBUG: DHCPv6 line: end

Both the DNS ipv6 address and domain have been redacted but are correct.

Checking netcfg's code, I've seen that it uses either dhclient or dhcp6c (depending on which is available, prefering dhclient) and using that to do stateful configuration (for netinstall, dhcp6c seems to be the one used). After doing autoconfiguration, it will write a dhcp stanza to the interface. I think the part for writing a dhcpv6 stanza is missing from write_interface.c but this shouldn't concern the interface configuration during install, right? As that should be set during autoconfiguration. One thing I'm wondering is, whether it stops somewhere? In autoconfig.c, it says it's going to write a sentinel file at the end of print-dhcp6c-info. When going to the shell, after the download of the preseed file errors, this file seems to be missing in /var/lib/netcfg/ and it appears after manually running the above dhcp6c command on the shell.

I've tried both bullseye and bookworm netinstall as well as building my own netinstall to poke at netcfg. Neither seem to make a difference.

My DHCPv6 setup uses a relay for communication with the dhcpv6 server, though I'm assuming, as running dhcp6c manually as well as booting the image from PXE are working, that the dhcpv6 configuration should be sound.

Thanks in advance for any tips or help to pinpoint/fix my issue.

Best Regards,
Philipp

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to