[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: diskless system's limited dhcp support





On Sun, Sep 6, 2020 at 3:37 PM Dan Ritter <dsr@randomstring.org> wrote:
Ross Boylan wrote:
> I have a buster system with no disk, started by PXE boot and using NFS root.
> It appears (details below) that dhcp setup is via ipconfig in one of the
> initrd scripts (configure_networking() in the "functions" script), with
> ipconfig coming from klibc.  So fiddling with the settings in dhclient.conf
> on the client has no effect, and ipconfig both sends and handles a narrower
> range of information than dhclient.  In particular, it doesn't send the
> host name (it actually can according to the docs, but the initrd scripts
> don't invoke it that way) and it seems to ignore (or at least not pass on)
> some of the info, like the domain, that gets sent back.
>
> I would like, in particular, to have the client send the host name and
> respond to the usual parameters the server sends it, as well as to
> ntp-servers which I'd like to send.
>
> Any thoughts on whether my analysis is correct?  On solutions?

The usual way is:

1. DNS record tied to a static IP address
2. IP address handed out by DHCP server based on MAC address of
   the interface 

This is especially normal when the root is served by NFS, so PXE
needs to figure out the right root to hand out -- PXE is
governed by MAC address, and then you really want the kernel's
conception of its IP address to remain the same.
I don't follow that last part.  I thought PXE was irrelevant once the system was up.  And the IP address of the root fs is distinct from the IP address of the client.


> bit of a hack.  Also, I'd like the DNS entry for the system to appear only
> while it is up, and without the client sending a host name that's harder.

That requires a server that listens to a dynamic DNS protocol,
and a dynamic DNS client on the client system.
My server is set for dynamic updates.  Since ipconfig sets up the interface, the usual dhcp client that manages such stuff doesn't come up.

Why would you care about the DNS name not being available when
the machine isn't up?
Mostly because the machine might be up, but running a different OS instance.  This applies to non-diskless, non-PXE clients as well.  So the MAC address does not determine a unique system.  PXE booting (and grub for regular systems) provides a menu of possible systems from which to boot, so I may not know which of them is running until someone makes a selection from the menu.

I've been shooting for using the same IP regardless of the OS, but maybe that's inadvisable. OTOH, for PXE the machine gets an IP before the selection is made.

Ross


Reply to: