How do I set DHCP to issue an IPv6 IP to a host?

server: LEAP 15.3 5.3.18-59.16-default x86_64
host: tumbleweed “20210805” 5.13.6-1-default x86_64

The host computer receives an arbitrary IPv6 address that does not match what is listed in the server’s dhcpd6 configuration. There is no difficulty with IPv4 address assignment.

Where have I gone astray?

---- server dhcpd6.conf ]----
host sma-station14l { 
  ddns-updates on; 
  fixed-address6 fd2f:4760:521f:3f3c::c0a8:4573; 
  fixed-prefix6  fd2f:4760:521f:3f3c::/64; 
  hardware ethernet 30:85:A9:AD:05:31; 
} 
 
subnet6 fd2f:4760:521f:3f3c::/64 { 
        range6 fd2f:4760:521f:3f3c::c0a8:45c8 fd2f:4760:521f:3f3c::c0a8:45ef; 
}
---- host's log entry for IP assignment ]----
2021-08-09T10:02:15-0700 sma-station14l wickedd-dhcp6[1430]: enp4s0: Committing DHCPv6 lease with: 
2021-08-09T10:02:15-0700 sma-station14l wickedd-dhcp6[1430]: enp4s0    +ia-na.address fd2f:4760:521f:3f3c::c0a8:45ec/0, pref-lft 86400, valid-lft 129600 

The same on both computers:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND 
root      1314  0.0  0.0  46652  2164 ?        SLs  Aug01   0:00 /usr/lib/wicked/bin/wickedd-dhcp4 --systemd --foreground 
root      1324  0.0  0.0  46652  1532 ?        SLs  Aug01   0:00 /usr/lib/wicked/bin/wickedd-dhcp6 --systemd --foreground 

For DHCPv6 you need to use DUID, something like

host-identifier option dhcp6.client-id 00:03:00:01:30:85:A9:AD:05:31;

This is just an example - you need to find out what kind of DUID your client is using. Assuming you are using wicked (you never told us), you can obtain it with

wicked duid get --scope enp4s0

Okay. This the new conf:

host sma-station14l { 
  ddns-updates on; 
  fixed-address6 fd2f:4760:521f:3f3c::c0a8:4573; 
  fixed-prefix6  fd2f:4760:521f:3f3c::/64; 
  hardware ethernet 30:85:A9:AD:05:31; 
  host-identifier option dhcp6.client-id 00:01:00:01:28:50:28:86:30:85:a9:ad:05:31 
} 

Do I need to do anything to have it actually assign the desired address?

I do not understand this question.

I made the change to configuration file, adding the DUID option. The local host is still receiving the undesired IP address. Is there another step required to have the server acknowledge the changed configuration, and send the IP address indicated.

Which server? You never told what DHCP server you are using.

Did you restart server after changing configuration?

wicked

Did you restart server after changing configuration?

Wicked does not do restart.

wicked is not DHCP server.

Wicked is NOT a DHCP server, wicked is the software that manages your network inside your system.

Use say you (try to) use DHCP. That means that your system is the DHCP client. And that there must be a DHCP server on your network. Very often that DHCP server is in the router to the internet. The question is to tell us what (you think) is the DHCP server used by your system. And of course the plain answer “router” will not really help: make and type is what is asked for.

Ah. Correct.
I have not had to think about DHCP in quite a long time, more than a year at least. IPv6 had been delegated to a separate server and is functioning as expected. I apologize for the confusion.

DHCP4, however, is not running. An attempt to start it ended with this:

Internet Systems Consortium DHCP Server 4.3.6-P1 
Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were not specified in the config file 
Config file: /etc/dhcpd.conf 
Database file: /db/dhcpd.leases 
PID file: /var/run/dhcpd.pid 
Wrote 0 deleted host decls to leases file. 
Wrote 0 new dynamic host decls to leases file. 
Wrote 39 leases to leases file. 
 
No subnet declaration for eth0 (no IPv4 addresses). 
** Ignoring requests on eth0.  If this is not what 
   you want, please write a subnet declaration 
   in your dhcpd.conf file for the network segment 
   to which interface eth0 is attached. ** 
Not configured to listen on any interfaces! 

I do not recall ever having to declare a port (eth0) for dhcp. Nor can I find any information that would enlighten me.

subnet 192.168.69.0 netmask 255.255.255.0 { 
        # option time-servers time.sma.com; 
        option domain-name "sma.com"; 
        authoritative; 
        ddns-updates on; 
        range dynamic-bootp 192.168.69.200 192.168.69.239; 
        default-lease-time 14400; 
        max-lease-time 172800; 
        zone sma.com. { 
                primary 192.168.69.246; 
                key smacom; 
                } 
        zone 69.168.192.rev. { 
                primary 192.168.69.246; 
                key smacom; 
                } 
        }

So your problem with IPv6 address assignment is solved?

Well…, no.

2: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 
    inet 192.168.69.115/24 brd 192.168.69.255 scope global enp4s0 
    inet6 fd2f:4760:521f:3f3c::c0a8:45ec/64 scope global dynamic noprefixroute  
    inet6 fd2f:4760:521f:3f3c::c0a8:4573/64 scope global

IP ending with “:4573” is the desired IP. “:45ec” is the one repeatedly being assigned. by DHCP. (While the IPv4 address 192.168.69.115 is correct, I do not know where it originates.) The IPv6 DHCP server is a Sonicwall tz350 firewall unit.

2021-08-12T10:02:15-0700 sma-station14l wickedd-dhcp6[1430]: enp4s0: Committing DHCPv6 lease with: 
2021-08-12T10:02:15-0700 sma-station14l wickedd-dhcp6[1430]: enp4s0    +ia-na.address fd2f:4760:521f:3f3c::c0a8:45ec/0, pref-lft 86400, valid-lft 129600 

That’s not what “functioning as expected” implies.

2: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 <br>
    inet 192.168.69.115/24 brd 192.168.69.255 scope global enp4s0 <br>
    inet6 fd2f:4760:521f:3f3c::c0a8:45ec/64 scope global dynamic noprefixroute  <br>
    inet6 fd2f:4760:521f:3f3c::c0a8:4573/64 scope global

IP ending with ":4573" is the desired IP.

This address is configured on interface. Where does it come from?

“:45ec” is the one repeatedly being assigned. by DHCP. (While the IPv4 address 192.168.69.115 is correct, I do not know where it originates.) The IPv6 DHCP server is a Sonicwall tz350 firewall unit.

2021-08-12T10:02:15-0700 sma-station14l wickedd-dhcp6[1430]: enp4s0: Committing DHCPv6 lease with: <br>
2021-08-12T10:02:15-0700 sma-station14l wickedd-dhcp6[1430]: enp4s0    +ia-na.address fd2f:4760:521f:3f3c::c0a8:45ec/0, pref-lft 86400, valid-lft 129600 

We are back on square one. What DHCP server do you use? (And no, Sonicwall is not the answer. We have no idea what is inside). If you do not know - ask on support channels for your firewall appliance how to configure it to assign static addresses. Also appliances in general use so heavily customized (and often outdated) software that even knowing what it corresponds to may not really help so asking support channels is the best option anyway.

On client side if you are using wicked you may try to delete /var/lib/wicked/lease-* files to force it to request new lease. Stop network, delete files, start network.