Recently we upgraded from a windows 2003 DHCP server to a Ubuntu 10.04 DHCP3-server.

The problem I am faced with now is that my windows 7 clients are now getting IPv6 ip address along with the IPv4 address. This is creating a AAAA record in our windows DNS server. But when I switch back to the Windows DHCP server the address doesn't get assigned and no AAAA record is created in the DNS server.

I have set ddns-update-style none; and ignore client-updates

I can disable IPv6 on the computer it self but I would like to find out what the setting that will make the DHCP NOT assign a IPv6 address to w7 clients or disable auto-config for IPv6 on w7 pcs.


ddns-update-style none;
log-facility local7;
ignore client-updates;

subnet netmask {

    default-lease-time 86400;
        max-lease-time 86400;
        option routers        ;
        option ip-forwarding off;
        option subnet-mask    ;
        option broadcast-address;
        option domain-name-servers,;
    option domain-name              "my.domain";


        host host1 {
                hardware ethernet FF:FF:FF:FF:FF;
        host host2 {
                hardware ethernet AA:AA:AA:AA:AA;


  • Would adding option non-local-source-routing to the dhcp config fix the problem you think? – user83094 Aug 13 '12 at 15:00
  • Could you post your /etc/dhcp3/dhcpd.conf file, censoring it as necessary first? – John S Gruber Aug 13 '12 at 15:18
  • Are you using the -4 option when starting it? – John S Gruber Aug 13 '12 at 16:36
  • No. The serivce starts when the computer starts. I used /etc/dhcp/dhcpserver restart /start /stop how would I go about adding -4 option? – user83094 Aug 13 '12 at 18:46
  • 1
    Well i think we are just going to live with the IPv6 being created in DNS. I hear exchange 2010 uses IPv6 as well and maybe its just time to do the upgrade. – user83094 Aug 14 '12 at 16:53

Run sudo netstat -lnp | fgrep :547 and make sure something is running on this port. If not you are not serving IPV6 addresses from anywhere on the computer you are looking at.

If something is running on that port and you can't figure out how to stop it you can try to change /etc/services and change the four dhcpv6 entries to an unused port number and restart the program in question. Programs which properly call getservbyname() will use the port specified. A dhcp server operating on the wrong port won't serve anyone.

Anders correctly points out that computers can assign their own link-level addresses. I don't have a IPV6 dhcp service on my network and yet I have such addresses.

wlan0     Link encap:Ethernet  HWaddr 00:21:63:6d:2e:97  
          inet addr:  Bcast:  Mask:
          inet6 addr: fe80::221:63ff:fe6d:2e97/64 Scope:Link

Note that the link address begins with fe80 and contains, with an addition in the middle, the hardware address from the first line, the rest is zeros.

If you want to trace down what might trigger the windows behaviour you can use a sniffer like Wireshark to compare the packets sent by the two dhcp servers. The dhcp3 server in question also has a -tf option that should save its dhcp traffic to a file.


Hm, then your dhcpd works better than I would expect. ;-)

You should really adopt IPv6 because MS Windows will, as far as I know, start an IPv6 tunnel when it´s on a local net without IPv6 (could be a misunderstanding from my part, not a MS guy myself). Easiest way of control this is to set up the IPv6 network yourself, then your MS Windows machines will not start the tunnel.

And yes, all modern OS:es, even MS Windows Vista, generates link local IPv6 addresses automatically, dhcpd or not. That is part of being IPv6 compliant. So, what addresses are your clients and Ubuntu server getting? Only need to see the net prefix, which is at most the first 64 bits of the IPv6 address. The last 64 bits can be built based on the computers MAC address, so if you are paranoid, replace them with x:es.

You should/could install Wireshark in the Ubuntu server which runs the dhcpd server and collect all traffic to/from your dhcpd server ports (there are two of them) . Then you can see what the dhcpd server actually send to your MS Windows machines.

If you want to change start settings for a server in your Ubuntu/Debian machine, look in the directory /etc/defaults for a suitable file. Also check the man pages for options you want to send to the server when it starts.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.