I set up three Artful VMs: 1. one with a dnsmasq in it. 2. the other one to correctly remote request from it 2. the other one to correctly remote request from it (but via dhcpcd instead of isc-dhcp) 3. Added an extra separate virtual network without dhcp from the host where all those guests can reach each other
Guest: <interface type='network'> <source network='noextdhcp'/> <model type='virtio'/> </interface> Network definition: <network> <!-- dumb network --> <name>noextdhcp</name> <bridge name='virbrnoextdhcp'/> </network> This gave me an unconfigured and also otherwise bare "ens7" device in all three guests. The main guest got a static ipv6 set up like: auto ens7 iface ens7 inet6 static address 2607:f0d0:2001:000a:0000:0000:0000:0010 netmask 64 gateway 2607:f0d0:2001:000a:0000:0000:0000:0001 iface ens7 inet static address 10.4.0.1 netmask 255.0.0.0 gateway 10.4.0.1 Which gives: $ ip -6 address show ens7 3: ens7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000 inet6 2607:f0d0:2001:a::10/64 scope global valid_lft forever preferred_lft forever inet6 fe80::5054:ff:fef1:a702/64 scope link valid_lft forever preferred_lft forever The dnsmasq config I tried is: interface=ens7 no-resolv # uplink dns by host libvirt server=192.168.122.1 # basic setup bogus-priv enable-ra dhcp-range=::100,::1ff,constructor:ens7 dhcp-authoritative # define domain as test1 local=/test1/ domain=test1 dhcp-fqdn # enable logging log-queries log-dhcp # killing old lease $ sudo dhcpcd5 --release ens7; sudo dhcpcd5 --exit ens7; sudo kill $(pidof dhcpcd5); sudo rm /var/lib/dhcpcd5/dhcpcd-ens7.lease6 # refresh $ sudo dhcpcd5 -d ens7 --ipv6only The same with dhclient now: # release old lease sudo dhclient -6 -r ens7 # get a new ipv6 one sudo dhclient -6 -v ens7 Now what I see as difference between the two clients # dhclient: sent size: 14 option: 1 client-id 00:01:00:01:21:49:07:75:52:54:00:8e:c2:c6 sent size: 14 option: 2 server-id 00:01:00:01:21:48:f1:2e:52:54:00:04:69:2e sent size: 40 option: 3 ia-na IAID=9355974 T1=1800 T2=3150 nest size: 24 option: 5 iaaddr 2607:f0d0:2001:a::172 PL=3600 VL=3600 sent size: 9 option: 13 status 0 success sent size: 16 option: 23 dns-server 2607:f0d0:2001:a::10 # but dhcpcd5 sent size: 14 option: 1 client-id 00:01:00:01:21:48:ed:66:52:54:00:44:dd:64 sent size: 14 option: 2 server-id 00:01:00:01:21:48:f1:2e:52:54:00:04:69:2e sent size: 0 option: 14 rapid-commit sent size: 40 option: 3 ia-na IAID=359429 T1=1800 T2=3150 nest size: 24 option: 5 iaaddr 2607:f0d0:2001:a::134 PL=3600 VL=3600 sent size: 9 option: 13 status 0 success sent size: 1 option: 7 preference 255 sent size: 16 option: 23 dns-server 2607:f0d0:2001:a::10 sent size: 32 option: 39 FQDN artful-dnsmasqv6-client.test1 Checking what the leases contain this is the same, the dhcpcd lease has the domain name as FQDN, but dhclient holds nothing it seems. # dhclient $ sudo cat /var/lib/dhcp/dhclient6.leases | grep test1 # dhcpcd $ sudo dhcpcd5 --dumplease ens7 --ipv6only | grep test1 dhcp6_fqdn='artful-dnsmasqv6-client.test1' But there is no real "Domain name" option being passed. I cross checked by setting the server and clients for ipv4 and otherwise doing the same. There I see the domain-name being passed: # dhcdpcd sent size: 5 option: 15 domain-name test1 # dhclient sent size: 5 option: 15 domain-name test1 So far all this is without libvirt, which means we can mark that part of the tasks invalid. I thought I found an option in [1], but "dhcp-option=option6:domain-name" doesn't exist. I found that dnsmasq lists what it thinks it can pass. $ dnsmasq --help dhcp6 | grep -i domain 21 sip-server-domain 24 domain-search 29 nis-domain 30 nis+-domain $ dnsmasq --help dhcp | grep -i domain 15 domain-name 40 nis-domain 64 nis+-domain 119 domain-search See that there is no domain-name in the dhcp6 case. Trying to further limit the packages we have to search by changing from dnsmasq to isc-dhcp-server. $ cat /etc/dhcp/dhcpd.conf | grep -v '^#' option domain-name "test1.org"; option domain-name-servers ns1.test1.org, ns2.test1.org; default-lease-time 600; max-lease-time 7200; ddns-update-style none; subnet 10.4.0.0 netmask 255.255.0.0 { range 10.4.0.100 10.4.0.254; } $ cat /etc/dhcp/dhcpd6.conf | grep -v '^#' default-lease-time 2592000; preferred-lifetime 604800; option dhcp-renewal-time 3600; option dhcp-rebinding-time 7200; allow leasequery; option dhcp6.domain-search "test.test1.com","test1.com"; option dhcp6.info-refresh-time 21600; subnet6 2607:f0d0:2001:a::/64 { range6 2607:f0d0:2001:a::100 2607:f0d0:2001:a::1ff; } With that in place we have two things to realize: 1. no domain-name config for dhcpd6.conf available 2. clients get domain-name only on ipv4 requests/leases Maybe dhclient has to ask for the option(s) explicitly? I really struggle (not a dhcp expert) is it even meant to pass domain-name in ipv6 - I don't know? I'd almost assume ipv6-dhcp has no domain-name attribute/option? I Can't see more yet, maybe you can share your dnmasq.conf as well and maybe you even have a lead at where the issue might be already? [1]: https://egustafson.github.io/ipv6-dhcpv6.html ** Changed in: libvirt (Ubuntu) Status: New => Invalid ** Summary changed: - libvirt manager configured dhcpv6 network does not appear to sned domain + dhcpv6 does not appear to send *domain-name* -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to dnsmasq in Ubuntu. https://bugs.launchpad.net/bugs/1716063 Title: dhcpv6 does not appear to send *domain-name* Status in dnsmasq package in Ubuntu: New Status in isc-dhcp package in Ubuntu: New Status in libvirt package in Ubuntu: Invalid Bug description: libvirt manager configured dhcpv6 network does not appear to send domain I've configured dhcpv4 & v6 networking in the libvirt dialog (will provide the config dump) In the virtual machine guest i have specified to obtain inet6 dhcp. With debug enabled that appears to receive only the new ipc6 address, prefixlen and name servers, but not the domain setting, like it does for ipv4. I'm expecting something like new_ipv6_domain_name, or just new_domain_name set for the ipv6 lease. Not sure if it is a bug in libvirt or ics-dhcp To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/dnsmasq/+bug/1716063/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp