How to make NetworkManager to set hostname via IPv6

what is the right way to make NetworkManager to send hostname with DHCP request? I was able to make it for IPv4 ba adding:

send host-name “myhostname”;
send dhcp-client-identifier=hardware;

to /etc/dhclient.conf

but changing /etc/dhclient6.conf same way doesn’t work. I’ve also tried to add send fqdn.fqdn …, but it didn’t work either. So what is the right way?

I never used this. But glancing through

man dhclient

I do not see a configuration file dhclien6.conf mentioned. I do see that there are options to run dhclient in DHCPv4 or DHCPv6 mode. Did you use those options? Where did you read about the file dhclient6.conf, or is that a file of your own invention?

No, it’s not my invention, it exists after installation of openSUSE. And if you write there something, NetworkManager uses it and creates /var/lib/NetworkManager/dhclient6-br0.conf according to it.

Ok, then it is more confusing then I thought. I do not use NetworkManager either, I only looked into the man page of dhclient.

Is DHCP even being used for IPv6?

I know that on my system, it is not. I know this because I set the connection to use DHCP only for IPv4, and I am still getting an IPv6 address. It turns out that my router ignores dhcp6 requests. The IP address is being auto-configured, presumably based on IPv6 prefix announcements from the router.

I think it can be, but it doesn’t have to. AFAIK default gateway can be only set via RA, but addresses can be either acquired via RA or DHCP. I’m using dnsmasq as source of addresses, so my guess is DHCP is used. And another thing is, that if I’m not using NetworkManager, but traditional ip configuration, then hostname is properly announced.

mjakl wrote:

> Hello,
> what is the right way to make NetworkManager to send hostname with DHCP
> request? I was able to make it for IPv4 ba adding:
> send host-name “myhostname”;
> send dhcp-client-identifier=hardware;
> to /etc/dhclient.conf
> but changing /etc/dhclient6.conf same way doesn’t work. I’ve also tried
> to add send fqdn.fqdn …, but it didn’t work either. So what is the
> right way?

Hi mjakl,

Now this is not my strong point here because my internet as far as I can
tell is still stuck in the dark ages…

But have you tried looking into Yast>etc/Sysconfigeditor ? I do know that
there are settings there for IPV6 but what they do I am not sure :slight_smile:

probably not much help…

Nullus in verba
Caveat emptor
Nil illigitimi carborundum

  1. Before considering whether the client supports DHCPv6 or not, you should first investigate and verify the ability of the DHCP server to support IPv6.

  2. Personally, I haven’t yet run into an active DHCPv6 yet, and I don’t know when I might run into one because at least for assigning valid, unique IPv6 addresses it’s totally unnecessary. Because of the way how a machine boots up into an existing network, a valid IPv6 address is created automatically, and because it’s partly built on the network it’s a part of the address is automatically routable and discoverable. I don’t know if a custom IPv6 address handed out by DHCP would be automatically routable and discoverable unless some real thought was put into its setup and configuration. I can think of only one reason why I’d consider setting up DHCPv6, which would be to push special network configurations(like an alternate DNS server, alternate DG or other routing gateways, etc) but most networks don’t need “special” configuration.

  3. As for answering the OP’s specific question, I would think that an ordinary Hosts file entry would work for local name resolution, the default openSUSE Hosts file should already do this. If you’re asking about other machines discovering your machine using that name, that’s an entirely different problem which could require some combination of broadcasts (ie on the same physical network segment), DNS, or distributed Hosts file (which would be one interesting use of DHCP, could be DHCPv4 on a network that supports both IPv4 and IPv6 or a DHCPv6 on a network that supports only IPv6).


As I said, everything works as expected without NetworkManager. I’m just checking, if somebody knows how to force NetworkManager to send hostname via IPv6 DHCP, because I can’t find it anywhere. I’ll probably wait for 13.2, maybe it’s already solved there and if not I’ll probably switch back to “traditional”.

Perhaps you’re not describing your request clearly.
As I described in my post, your post might be interpreted a few different ways.

Because, in the first place NetworkManager really doesn’t do any “send hostname” anywhere.
Whether your’e talking about DHCPv4 or DHCPv6, clients only receive information, it’s not a 2-way street except for the possibility that in the normal process of setting up a TCP/IP connection, the DHCP server learns the client’s MAC address which can then be used to issue a reserved lease.

You also need to be clear whether you’re talking about local name resolution which uses the Hosts file as one lookup or whether you’re talking about remote name resolution which can be entirely different.

You may even be confusing hostname resolution with a machine’s Hostname which is entirely different. Although a machine may declare a name it prefers to be known by, like any other network resource that name is not necessarily used by other machines in the network, in fact network resources are often found using a variety of different names.


On Thu, 09 Oct 2014 07:16:01 GMT, mjakl <>

>what is the right way to make NetworkManager to send hostname with DHCP
>request? I was able to make it for IPv4 ba adding:
>send host-name “myhostname”;
>send dhcp-client-identifier=hardware;
>to /etc/dhclient.conf
>but changing /etc/dhclient6.conf same way doesn’t work. I’ve also tried
>to add send fqdn.fqdn …, but it didn’t work either. So what is the
>right way?

Is the DHCPv6 server configured to provide machine names?


Ok, so I describe it, from the point of what I want to achive. There is machine1 running dnsmaq as DHCPv4, DHCPv6 and DNS server. When I start network on machine2 without NetworkManager it gets IPv4, IPv6 from machine1 and also registers its hostname into DNS. So I can do ping machine2 and ping6 machine2 from machine1. When I start network on machine2 with NetworkManager it doesn’t register itself into DNS. For IPv4 I can put line “send host-name …;” to /etc/dhclient.conf and then it registers IPv4 address into DNS. What configuration should be made to achieve the same effect for IPv6? Is my question clear now?

IMHO that configuring /etc/dhclient.conf a you did should be enough. And you proved that by using it without NetworkManager.

When this does not function anymore when using NM, I guess that NM is srcewing up things for some reason. Not something you can cure by making changes/additions to /etc/dhclient.conf.

I do not use NM at all, but this is my conclusion. When no answer pops up here, you could try by filing a bug report about NM.

When not using NM, it’s not necessary to put anything to dhclient.conf and everything works, so I’m not sure if it’s used in that case. I’m bit surprised, that combination of NM, IPv6 and network with DNS is so rare, that nobody has any experience with it.
I’d wait with bug report, after trying 13.2, maybe it’ll work there.

I’m using NM, IPv6, DNS, but also IPv4. My network router doesn’t do DHCP6. It does know the names of local hosts, using only IPv4 to find them. A DNS lookup of a local hostname, using the router as DNS server, will return an IPv4 address on the LAN, and some errors probably due to looking up the IPv6 address.

This all works well enough, so I don’t worry about it.

Isn’t it about time that an IPv6 only system should work in all the aspects without problems? And as the OP says that it does not using NetworkManager, I assume NM “is to blame”. That your setup (still using IPv4 addresses) works is nice, but that does not help the OP.

Sure. In my case, the problem is the router. And as my ISP requires that I use the router it supplies, I cannot do much about that.

As for why I responded - it was because the OP asked if anyone else was using IPv6, NetworkManager and DNS.

As for the problem the OP is having - I don’t have a solution.

It is my impression that the use of DHCP6 is not common for IPv6, and is mostly used when your ISP wants to give out a dynamic network prefix instead of providing a permanent or static network prefix (for IPv6).

If I wanted to have reliable DNS lookups for local hosts, I would run a DNS server on the LAN and setup a DNS zone for local machines. Anything else depends on the way that the network router tries to fake it. So I don’t see the OP’s problem as due to a deficiency in openSUSE.

If somebody’s interested. I was not able to find the solution, but I’ve found a workaround. I’ve added slaac and ra-names as parameters of dhcp-range in dnsmasq. Now every machine gets 2 addresses, one from dhcp range and second one somehow generated from hw address, and this generated one gets into DNS.