# [Re-solved]Registering DHCP hostname in DNS

## lyallp

Recently, I noticed that my linux pc’s, whilst able to obtain DHCP IP addresses, are no longer setting their DNS names. (hostname.domainname.net).

These pc’s have been working quite happily since windows xp roamed the earth, which gives you some idea how long things have been working.

I am using Gentoo and 2 out of 3 cases that don’t work, both non-working systems are 32 bit. A 64 bit system seems to be ok. One of the 2 non-working instances is a VM, the other is a physical, curiously, both the Virtual and Physical are on the same hardware.

All Gentoo instances are fully up to date and running kernel 3.7.10 (Gentoo-sources) with dhcpcd version net-misc/dhcpcd-5.6.4

The network configurations are identical, with the exception of the hostname and I am running in a Windows dominated network.

If I need to supply any config or command output to assist in diagnosing this problem, I am happy to.

Any assistance, gratefully received.

 :Smile: 

----------

## Bones McCracker

If you're running the Gentoo networking scripts, you could try this in /etc/conf.d/net:

```
dns_domain_lo="localnet"
```

Test with:

```
dnsdomainname
```

Alternatively, if you're running your own dhcp server, you may have been using it (or could use it) to inform clients of the domain name.  If that's the case, then you can use these options in your /etc/dhcpcd.conf, provide that your dhcp server is correctly configured to send those options:

```
option domain_name, domain_search
```

----------

## lyallp

My /etc/conf.d/net already contains 

```

config_enp0s3="dhcp"

dhcp_enp0s3="sendhost"

dns_domain_enp0s3="asiapacific.thedomain.net"

```

Resulting in output similar to

```
 * Bringing down interface enp0s3

 *   Stopping dhcpcd on enp0s3 ... [ ok ]

 *   Removing addresses

 * Bringing up interface enp0s3

 *   dhcp ... *     Running dhcpcd ...dhcpcd[14692]: version 5.6.4 starting

dhcpcd[14692]: enp0s3: sending IPv6 Router Solicitation

dhcpcd[14692]: enp0s3: rebinding lease of 99.99.99.119

dhcpcd[14692]: enp0s3: acknowledged 99.99.99.119 from 99.99.99.250

dhcpcd[14692]: enp0s3: checking for 99.99.99.119

dhcpcd[14692]: enp0s3: sending IPv6 Router Solicitation

dhcpcd[14692]: enp0s3: leased 99.99.99.119 for 1296000 seconds

dhcpcd[14692]: forked to background, child pid 14813

 [ ok ]

 *     received address 99.99.99.119/22

 [ ok ]

```

I usually use 'hostname -f' to check for my fully qualified hostname.

I tried adding dhcp_domain_lo="localnet" and restarted my network using 

```
/etc/init.d/net.enp0s3 restart
```

 with no change. 'dig' provides no answer section

----------

## Bones McCracker

I would first troubleshoot getting the domain set correctly on the machine, and then worry about whether the DNS server is getting the information.  I don't think the first problem has been resolved yet.

I assume that you checked your hostname -f after re-starting the network interface enp0s3 and observed no change. Did you try setting dns_domain_lo="asiapacific.thedomain.net" (I meant you should replace localnet with whatever your domain name is.) and then restarting it (or rebooting)?  Setting this for lo is what's shown in the handbook, although I don't know what difference it would make.  Maybe it's because the local interface is brought up earlier in the process.

I suggest trying this, and comment out any other "dns_domain" entries, then completely reboot the machine.

dns_domain="asiapacific.thedomain.net"

Then check it locally (we don't need to worry what the DNS server thinks if it's not right on the machine yet).

Other information or clarification that might be useful:

Do you control the dhcp server this machine is a client of?

Do you control the dns server this machine is a client of?

What's in your /etc/dhcpcd.conf file?

Are you using openresolv on this machine (net-dns/openresolv)?

Were you successfully sending your fqdn to the dns server before, using dhcp (i.e., the 'sendhost' option in /etc/conf.d/net)?

----------

## lyallp

 *BoneKracker wrote:*   

> I would first troubleshoot getting the domain set correctly on the machine, and then worry about whether the DNS server is getting the information.  I don't think the first problem has been resolved yet.
> 
> 

 

The problem is, it was working just fine. hostname -f used to work.  :Sad: 

 *BoneKracker wrote:*   

> 
> 
> I assume that you checked your hostname -f after re-starting the network interface enp0s3 and observed no change. 
> 
> Did you try setting dns_domain_lo="asiapacific.thedomain.net" (I meant you should replace localnet with whatever your domain name is.) and then restarting it (or rebooting)?  Setting this for lo is what's shown in the handbook, although I don't know what difference it would make.  Maybe it's because the local interface is brought up earlier in the process.
> ...

 No change in setting dns_domain_lo=

 *BoneKracker wrote:*   

> 
> 
> I suggest trying this, and comment out any other "dns_domain" entries, then completely reboot the machine.
> 
> dns_domain="asiapacific.thedomain.net"
> ...

 No change in setting dns_domain= and commenting all other interface specific lines out. hostname -f shows nothing other than the basic hostname, no domain name component.

 *BoneKracker wrote:*   

> 
> 
> Then check it locally (we don't need to worry what the DNS server thinks if it's not right on the machine yet).
> 
> Other information or clarification that might be useful:
> ...

 No *BoneKracker wrote:*   

> 
> 
> Do you control the dns server this machine is a client of? 

 No *BoneKracker wrote:*   

> 
> 
> What's in your /etc/dhcpcd.conf file?

 

Pretty much out of the box

```
# A sample configuration for dhcpcd.

# See dhcpcd.conf(5) for details.

# Inform the DHCP server of our hostname for DDNS.

hostname

# fqdn both

# To share the DHCP lease across OSX and Windows a ClientID is needed.

# Enabling this may get a different lease than the kernel DHCP client.

# Some upstream DHCP servers may also require a ClientID, such as FRITZ!Box.

#clientid

# A list of options to request from the DHCP server.

option domain_name_servers, domain_name, domain_search, host_name

option classless_static_routes

# Most distributions have NTP support.

option ntp_servers

# Respect the network MTU.

option interface_mtu

# A ServerID is required by RFC2131.

require dhcp_server_identifier

# A hook script is provided to lookup the hostname if not set by the DHCP

# server, but it should not be run by default.

nohook lookup-hostname

reboot 5
```

 *BoneKracker wrote:*   

> 
> 
> Are you using openresolv on this machine (net-dns/openresolv)? 

 No *BoneKracker wrote:*   

> 
> 
> Were you successfully sending your fqdn to the dns server before, using dhcp (i.e., the 'sendhost' option in /etc/conf.d/net)?

 

Yep. It is still working on a separate Gentoo instance, albeit a 64 bit instance. Both my 32 bit instances are being problematic.

/etc/conf.d/net

```
# This blank configuration will automatically use DHCP for any net.*

# scripts in /etc/init.d.  To create a more complete configuration,

# please review /etc/conf.d/net.example and save your configuration

# in /etc/conf.d/net (this file :]!).

config_enp0s3="dhcp"

dhcp_enp0s3="sendhost"

#dns_domain_enp0s3="asiapacific.domainname.net"

#dns_domain_lo="asiapacific.domainname.net"

dns_domain="asiapacific.domainname.net"

```

You can see where I have commented out various versions in my attempts to fix this. The configuration is almost identical (network interface name is different)gent to my 64 bit system which is working and plugged into the same switch.

A workaround, since this particular instance, is for me to hard code the DHCP assigned address and fully qualified hostname in /etc/hosts, which is unsatisfactory, but gets me going for the time being, whilst I try sort this out.

----------

## Bones McCracker

I would leave dns_domain="asiapacific.domainname.net" in the /etc/conf.d/net while continuing to troubleshoot.

Double-check your runlevel configuration to make sure everything relevant is being run properly (for example, are the hostname and net.lo services activated in your boot runlevel?

```
rc-update show
```

If that's not it, look for any difference between your dhcpcd.conf file on this machine and the machine where it's working (are options such a 'host_name, and domain' also present in the working configuration, also double-check for differences in your /etc/conf.d/net file).

That's about all I have to offer.  If that doesn't get it, I'm sorry I couldn't be of more help.

----------

## lyallp

No difference between the working amd64 gentoo /etc/dhcpcd.conf and the x86 non-working version.

 :Sad: 

```
# rc-update show

           VirtualBox |             default                                  

            alsasound |        boot                                          

              apache2 |             default                                  

               backup | backup                                               

             bootmisc |        boot                                          

                cupsd |             default                                  

                 dbus |             default                                  

                devfs |                                               sysinit

        device-mapper |        boot                                          

                dmesg |                                               sysinit

                 fsck |        boot                                          

             hostname |        boot                                          

              htpdate |             default                                  

              hwclock |        boot                                          

              keymaps |        boot                                          

            killprocs |                               shutdown               

           lm_sensors |             default                                  

                local |             default nonetwork                        

           localmount |        boot                                          

                  lvm |        boot                                          

              modules |        boot                                          

             mount-ro |                               shutdown               

                 mtab |        boot                                          

                mysql |             default                                  

          net.enp0s25 |             default                                  

               net.lo |        boot                                          

             netmount | backup      default                                  

               procfs |        boot                                          

              proftpd |             default                                  

                 root |        boot                                          

                samba |             default                                  

            savecache |                               shutdown               

                 sshd | backup      default                                  

                 swap |        boot                                          

            swapfiles |        boot                                          

               sysctl |        boot                                          

                sysfs |                                               sysinit

            syslog-ng | backup      default                                  

         termencoding |        boot                                          

       tmpfiles.setup |        boot                                          

                 udev |                                               sysinit

           udev-mount |                                               sysinit

              urandom |        boot                                          

           vixie-cron | backup      default                                  

                  xdm |             default                                  

               xinetd |             default                                  

```

----------

## samiswt

 *lyallp wrote:*   

> No difference between the working amd64 gentoo /etc/dhcpcd.conf and the x86 non-working version.
> 
> ```
> # rc-update show
> 
> ...

 

Did you see this 'net.enp0s25' ?

I suppose your network schema should be net.enp0s3. What's net.enp0s25 for? Check it out, you may find out where the problem is.

----------

## lyallp

My apologies, the rc-update output was taken from the physical 32 bit gentoo, whilst the config was taken from the virtual 32 bit gentoo.

The virtual has an interface enp0s3 whilst the physical (which is hosting the virtual, by the way), has an interface of enp0s25.

And yes, the virtual (VirtualBox), is bridged, not NAT  :Smile: 

It should be noted that DHCP, internet access, everything else, network wise, works just fine, it's just the DNS is not being updated with the hostname.domainname.

A 64 bit Gentoo, sitting less than 1m away, plugged into the same 8 port domestic switch, has a network interface of enp0s24, works just fine. Both have the same version of dhcpcd installed, same use flags, same version of glibc, although the 64 bit has use flags multilib and gd set, whilst the 32 bit versions don't have multilib and gd set. Same version of the gentoo-sources kernel.

----------

## vaxbrat

It may not be problems with 32 versus 64 bit on the Linux side.  If the IT monkeys running the windows side have done something recently (eg insisting on only "secure" dns updates) that might be biting you if things are between an older lease getting renewed versus a new lease which hasn't ever gotten a dns record input.

Sure you are getting leases from the same dhcp server btw?  I've had a VM and a hypervisor on a drop at work actually get leases from two different dhcp servers on the corporate lan.  dhcp options and dns domain assignment can get real funky for me from time to time where one vm can see the SAP portal while another can't find its anal pore with its own two hands.

----------

## lyallp

Hmmm....

We don't have IPv6 in our current network, so things are relatively simple with IPv4.

my /etc/resolv.conf seems to contain the correct data, with DNS servers and even having a valid 'domain' line.

I have tried running 

```
dhcpcd --dumplease

dhcpcd --release enp0s3

dhcpcd --reconfigure

dhcpcd --rebind

dhcpcd --hostname myhostname

# even...

/etc/init.d/net.enp0s3 restart

```

The dumplease even explicitly states the correct domain_name and all other aspects match between a working and non-working instance.

I did the same on my 'working' machine and bang. DNS now does not correspond to the IP I have been assigned.

So, I have a problem with the DHCP/DNS in my network, it appears.

----------

## lyallp

Ok, I solved it.

I upgraded to net-misc/dhcpcd-5.6.8 (~) and the systems register with DNS again.

----------

## lyallp

I recently moved desk.

Now all of my systems, 2x32 bit and 1x64 bit are failing to register with DNS again.

All the same symptoms as above, in previous posts in this thread.

I even left it over the weekend to see if things would sort themselves out  (fat chance of that).

I have tried the /etc/dhcpd.conf file option 'duid' and 'clientid', neither of which appears to work.

I am using net-misc/dhcpcd-6.0.2 ~amd64 and ~x86

I might try unmasking **9999 and see what happens...

My dhcpcd.conf file is as follows, for interest.

```
# A sample configuration for dhcpcd.

# See dhcpcd.conf(5) for details.

ipv4only

# Inform the DHCPv4 server of our hostname for DDNS.

# This has been superceded by the FQDN option below, but is included

# by default for servers which do not understand it.

hostname

# Inform the DHCP server of our hostname for DDNS

# and/or query for what it should be.

fqdn both

# Use the hardware address of the interface for the Client ID.

clientid

# or

# Use the same DUID + IAID as set in DHCPv6 for DHCPv4 ClientID as per RFC4361.

#duid

# Rapid commit support.

# Safe to enable by default because it requires the equivalent option set

# on the server to actually work.

option rapid_commit

# A list of options to request from the DHCP server.

option domain_name_servers, domain_name, domain_search, host_name

option classless_static_routes

# Most distributions have NTP support.

option ntp_servers

# Respect the network MTU.

# Some interface drivers reset when changing the MTU so disabled by default.

#option interface_mtu

# A ServerID is required by RFC2131.

require dhcp_server_identifier

# A hook script is provided to lookup the hostname if not set by the DHCP

# server, but it should not be run by default.

nohook lookup-hostname

```

----------

## lyallp

Below, is a WireShark capture of the DHCP packets, slightly obsfucated.

I can see the option 81, and it looks ok to my uneducated eye...

Maybe someone else can see what I am missing.

```
No.     Time           Source                Destination           Protocol Length Info

      3 0.452456000    0.0.0.0               255.255.255.255       DHCP     402    DHCP Request  - Transaction ID 0x729c92bb

Frame 3: 402 bytes on wire (3216 bits), 402 bytes captured (3216 bits) on interface 0

    Interface id: 0

    WTAP_ENCAP: 1

    Arrival Time: Jul 30, 2013 09:15:11.595270000 CST

    [Time shift for this packet: 0.000000000 seconds]

    Epoch Time: 1375141511.595270000 seconds

    [Time delta from previous captured frame: 0.035286000 seconds]

    [Time delta from previous displayed frame: 0.000000000 seconds]

    [Time since reference or first frame: 0.452456000 seconds]

    Frame Number: 3

    Frame Length: 402 bytes (3216 bits)

    Capture Length: 402 bytes (3216 bits)

    [Frame is marked: False]

    [Frame is ignored: False]

    [Protocols in frame: eth:ip:udp:bootp]

    [Coloring Rule Name: UDP]

    [Coloring Rule String: udp]

Ethernet II, Src: Hewlett-_f1:ce:b1 (68:b5:99:f1:ce:b1), Dst: Broadcast (ff:ff:ff:ff:ff:ff)

    Destination: Broadcast (ff:ff:ff:ff:ff:ff)

        Address: Broadcast (ff:ff:ff:ff:ff:ff)

        .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default)

        .... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast)

    Source: Hewlett-_f1:ce:b1 (68:b5:99:f1:ce:b1)

        Address: Hewlett-_f1:ce:b1 (68:b5:99:f1:ce:b1)

        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)

        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)

    Type: IP (0x0800)

Internet Protocol Version 4, Src: 0.0.0.0 (0.0.0.0), Dst: 255.255.255.255 (255.255.255.255)

    Version: 4

    Header length: 20 bytes

    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))

        0000 00.. = Differentiated Services Codepoint: Default (0x00)

        .... ..00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)

    Total Length: 388

    Identification: 0x3997 (14743)

    Flags: 0x00

        0... .... = Reserved bit: Not set

        .0.. .... = Don't fragment: Not set

        ..0. .... = More fragments: Not set

    Fragment offset: 0

    Time to live: 64

    Protocol: UDP (17)

    Header checksum: 0x3fd3 [correct]

        [Good: True]

        [Bad: False]

    Source: 0.0.0.0 (0.0.0.0)

    Destination: 255.255.255.255 (255.255.255.255)

User Datagram Protocol, Src Port: bootpc (68), Dst Port: bootps (67)

    Source port: bootpc (68)

    Destination port: bootps (67)

    Length: 368

    Checksum: 0xc6c3 [validation disabled]

        [Good Checksum: False]

        [Bad Checksum: False]

Bootstrap Protocol

    Message type: Boot Request (1)

    Hardware type: Ethernet

    Hardware address length: 6

    Hops: 0

    Transaction ID: 0x729c92bb

    Seconds elapsed: 0

    Bootp flags: 0x0000 (Unicast)

        0... .... .... .... = Broadcast flag: Unicast

        .000 0000 0000 0000 = Reserved flags: 0x0000

    Client IP address: 0.0.0.0 (0.0.0.0)

    Your (client) IP address: 0.0.0.0 (0.0.0.0)

    Next server IP address: 0.0.0.0 (0.0.0.0)

    Relay agent IP address: 0.0.0.0 (0.0.0.0)

    Client MAC address: Hewlett-_f1:ce:b1 (68:b5:99:f1:ce:b1)

    Client hardware address padding: 00000000000000000000

    Server host name not given

    Boot file name not given

    Magic cookie: DHCP

    Option: (53) DHCP Message Type

        Length: 1

        DHCP: Request (3)

    Option: (61) Client identifier

        Length: 7

        Hardware type: Ethernet

        Client MAC address: Hewlett-_f1:ce:b1 (68:b5:99:f1:ce:b1)

    Option: (50) Requested IP Address

        Length: 4

        Requested IP Address: ??1.??1.135.7 (??1.??1.135.7)

    Option: (57) Maximum DHCP Message Size

        Length: 2

        Maximum DHCP Message Size: 1500

    Option: (60) Vendor class identifier

        Length: 52

        Vendor class identifier: dhcpcd-6.0.3:Linux-3.8.13-gentoo:x86_64:GenuineIntel

    Option: (12) Host Name

        Length: 9

        Host Name: pearcely2

    Option: (81) Client Fully Qualified Domain Name

        Length: 13

        Flags: 0x05

        0000 .... = Reserved flags: 0x00

        .... 0... = Server DDNS: Some server updates

        .... .1.. = Encoding: Binary encoding

        .... ..0. = Server overrides: No override

        .... ...1 = Server: Server

        A-RR result: 0

        PTR-RR result: 0

        Client name: pearcely2

    Option: (55) Parameter Request List

        Length: 15

        Parameter Request List Item: (1) Subnet Mask

        Parameter Request List Item: (121) Classless Static Route

        Parameter Request List Item: (33) Static Route

        Parameter Request List Item: (3) Router

        Parameter Request List Item: (6) Domain Name Server

        Parameter Request List Item: (12) Host Name

        Parameter Request List Item: (15) Domain Name

        Parameter Request List Item: (26) Interface MTU

        Parameter Request List Item: (28) Broadcast Address

        Parameter Request List Item: (42) Network Time Protocol Servers

        Parameter Request List Item: (51) IP Address Lease Time

        Parameter Request List Item: (54) DHCP Server Identifier

        Parameter Request List Item: (58) Renewal Time Value

        Parameter Request List Item: (59) Rebinding Time Value

        Parameter Request List Item: (119) Domain Search [TODO:RFC3397]

    Option: (255) End

        Option End: 255

No.     Time           Source                Destination           Protocol Length Info

     10 0.675456000    ??3.??3.57.250         ??1.??1.135.7          DHCP     363    DHCP ACK      - Transaction ID 0x729c92bb

Frame 10: 363 bytes on wire (2904 bits), 363 bytes captured (2904 bits) on interface 0

    Interface id: 0

    WTAP_ENCAP: 1

    Arrival Time: Jul 30, 2013 09:15:11.818270000 CST

    [Time shift for this packet: 0.000000000 seconds]

    Epoch Time: 1375141511.818270000 seconds

    [Time delta from previous captured frame: 0.027486000 seconds]

    [Time delta from previous displayed frame: 0.223000000 seconds]

    [Time since reference or first frame: 0.675456000 seconds]

    Frame Number: 10

    Frame Length: 363 bytes (2904 bits)

    Capture Length: 363 bytes (2904 bits)

    [Frame is marked: False]

    [Frame is ignored: False]

    [Protocols in frame: eth:ip:udp:bootp]

    [Coloring Rule Name: UDP]

    [Coloring Rule String: udp]

Ethernet II, Src: Hewlett-_34:ac:00 (b4:99:ba:34:ac:00), Dst: Hewlett-_f1:ce:b1 (68:b5:99:f1:ce:b1)

    Destination: Hewlett-_f1:ce:b1 (68:b5:99:f1:ce:b1)

        Address: Hewlett-_f1:ce:b1 (68:b5:99:f1:ce:b1)

        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)

        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)

    Source: Hewlett-_34:ac:00 (b4:99:ba:34:ac:00)

        Address: Hewlett-_34:ac:00 (b4:99:ba:34:ac:00)

        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)

        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)

    Type: IP (0x0800)

Internet Protocol Version 4, Src: ??3.??3.57.250 (??3.??3.57.250), Dst: ??1.??1.135.7 (??1.??1.135.7)

    Version: 4

    Header length: 20 bytes

    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))

        0000 00.. = Differentiated Services Codepoint: Default (0x00)

        .... ..00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)

    Total Length: 349

    Identification: 0x6e48 (28232)

    Flags: 0x00

        0... .... = Reserved bit: Not set

        .0.. .... = Don't fragment: Not set

        ..0. .... = More fragments: Not set

    Fragment offset: 0

    Time to live: 119

    Protocol: UDP (17)

    Header checksum: 0xf1c7 [correct]

        [Good: True]

        [Bad: False]

    Source: ??3.??3.57.250 (??3.??3.57.250)

    Destination: ??1.??1.135.7 (??1.??1.135.7)

User Datagram Protocol, Src Port: bootps (67), Dst Port: bootpc (68)

    Source port: bootps (67)

    Destination port: bootpc (68)

    Length: 329

    Checksum: 0xa00e [validation disabled]

        [Good Checksum: False]

        [Bad Checksum: False]

Bootstrap Protocol

    Message type: Boot Reply (2)

    Hardware type: Ethernet

    Hardware address length: 6

    Hops: 0

    Transaction ID: 0x729c92bb

    Seconds elapsed: 0

    Bootp flags: 0x0000 (Unicast)

        0... .... .... .... = Broadcast flag: Unicast

        .000 0000 0000 0000 = Reserved flags: 0x0000

    Client IP address: 0.0.0.0 (0.0.0.0)

    Your (client) IP address: ??1.??1.135.7 (??1.??1.135.7)

    Next server IP address: 0.0.0.0 (0.0.0.0)

    Relay agent IP address: ??1.??1.132.1 (??1.??1.132.1)

    Client MAC address: Hewlett-_f1:ce:b1 (68:b5:99:f1:ce:b1)

    Client hardware address padding: 00000000000000000000

    Server host name not given

    Boot file name not given

    Magic cookie: DHCP

    Option: (53) DHCP Message Type

        Length: 1

        DHCP: ACK (5)

    Option: (58) Renewal Time Value

        Length: 4

        Renewal Time Value: (648000s) 7 days, 12 hours

    Option: (59) Rebinding Time Value

        Length: 4

        Rebinding Time Value: (1134000s) 13 days, 3 hours

    Option: (51) IP Address Lease Time

        Length: 4

        IP Address Lease Time: (1296000s) 15 days

    Option: (54) DHCP Server Identifier

        Length: 4

        DHCP Server Identifier: ??3.??3.57.250 (??3.??3.57.250)

    Option: (1) Subnet Mask

        Length: 4

        Subnet Mask: 255.255.252.0 (255.255.252.0)

    Option: (81) Client Fully Qualified Domain Name

        Length: 3

        Flags: 0x05

        0000 .... = Reserved flags: 0x00

        .... 0... = Server DDNS: Some server updates

        .... .1.. = Encoding: Binary encoding

        .... ..0. = Server overrides: No override

        .... ...1 = Server: Server

        A-RR result: 255

        PTR-RR result: 0

    Option: (3) Router

        Length: 4

        Router: ??1.??1.132.1 (??1.??1.132.1)

    Option: (6) Domain Name Server

        Length: 8

        Domain Name Server: ??2.??2.135.52 (??2.??2.135.52)

        Domain Name Server: ??2.??2.135.51 (??2.??2.135.51)

    Option: (15) Domain Name

        Length: 24

        Domain Name: asiapacific.hpqcorp.net

    Option: (255) End

        Option End: 255

No.     Time           Source                Destination           Protocol Length Info

     11 0.675799000    ??3.??3.57.250         ??1.??1.135.7          DHCP     363    DHCP ACK      - Transaction ID 0x729c92bb

Frame 11: 363 bytes on wire (2904 bits), 363 bytes captured (2904 bits) on interface 0

    Interface id: 0

    WTAP_ENCAP: 1

    Arrival Time: Jul 30, 2013 09:15:11.818613000 CST

    [Time shift for this packet: 0.000000000 seconds]

    Epoch Time: 1375141511.818613000 seconds

    [Time delta from previous captured frame: 0.000343000 seconds]

    [Time delta from previous displayed frame: 0.000343000 seconds]

    [Time since reference or first frame: 0.675799000 seconds]

    Frame Number: 11

    Frame Length: 363 bytes (2904 bits)

    Capture Length: 363 bytes (2904 bits)

    [Frame is marked: False]

    [Frame is ignored: False]

    [Protocols in frame: eth:ip:udp:bootp]

    [Coloring Rule Name: UDP]

    [Coloring Rule String: udp]

Ethernet II, Src: Hewlett-_4f:a2:00 (b4:99:ba:4f:a2:00), Dst: Hewlett-_f1:ce:b1 (68:b5:99:f1:ce:b1)

    Destination: Hewlett-_f1:ce:b1 (68:b5:99:f1:ce:b1)

        Address: Hewlett-_f1:ce:b1 (68:b5:99:f1:ce:b1)

        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)

        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)

    Source: Hewlett-_4f:a2:00 (b4:99:ba:4f:a2:00)

        Address: Hewlett-_4f:a2:00 (b4:99:ba:4f:a2:00)

        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)

        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)

    Type: IP (0x0800)

Internet Protocol Version 4, Src: ??3.??3.57.250 (??3.??3.57.250), Dst: ??1.??1.135.7 (??1.??1.135.7)

    Version: 4

    Header length: 20 bytes

    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))

        0000 00.. = Differentiated Services Codepoint: Default (0x00)

        .... ..00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)

    Total Length: 349

    Identification: 0x6e47 (28231)

    Flags: 0x00

        0... .... = Reserved bit: Not set

        .0.. .... = Don't fragment: Not set

        ..0. .... = More fragments: Not set

    Fragment offset: 0

    Time to live: 118

    Protocol: UDP (17)

    Header checksum: 0xf2c8 [correct]

        [Good: True]

        [Bad: False]

    Source: ??3.??3.57.250 (??3.??3.57.250)

    Destination: ??1.??1.135.7 (??1.??1.135.7)

User Datagram Protocol, Src Port: bootps (67), Dst Port: bootpc (68)

    Source port: bootps (67)

    Destination port: bootpc (68)

    Length: 329

    Checksum: 0xa00d [validation disabled]

        [Good Checksum: False]

        [Bad Checksum: False]

Bootstrap Protocol

    Message type: Boot Reply (2)

    Hardware type: Ethernet

    Hardware address length: 6

    Hops: 0

    Transaction ID: 0x729c92bb

    Seconds elapsed: 0

    Bootp flags: 0x0000 (Unicast)

        0... .... .... .... = Broadcast flag: Unicast

        .000 0000 0000 0000 = Reserved flags: 0x0000

    Client IP address: 0.0.0.0 (0.0.0.0)

    Your (client) IP address: ??1.??1.135.7 (??1.??1.135.7)

    Next server IP address: 0.0.0.0 (0.0.0.0)

    Relay agent IP address: ??1.??1.132.2 (??1.??1.132.2)

    Client MAC address: Hewlett-_f1:ce:b1 (68:b5:99:f1:ce:b1)

    Client hardware address padding: 00000000000000000000

    Server host name not given

    Boot file name not given

    Magic cookie: DHCP

    Option: (53) DHCP Message Type

        Length: 1

        DHCP: ACK (5)

    Option: (58) Renewal Time Value

        Length: 4

        Renewal Time Value: (648000s) 7 days, 12 hours

    Option: (59) Rebinding Time Value

        Length: 4

        Rebinding Time Value: (1134000s) 13 days, 3 hours

    Option: (51) IP Address Lease Time

        Length: 4

        IP Address Lease Time: (1296000s) 15 days

    Option: (54) DHCP Server Identifier

        Length: 4

        DHCP Server Identifier: ??3.??3.57.250 (??3.??3.57.250)

    Option: (1) Subnet Mask

        Length: 4

        Subnet Mask: 255.255.252.0 (255.255.252.0)

    Option: (81) Client Fully Qualified Domain Name

        Length: 3

        Flags: 0x05

        0000 .... = Reserved flags: 0x00

        .... 0... = Server DDNS: Some server updates

        .... .1.. = Encoding: Binary encoding

        .... ..0. = Server overrides: No override

        .... ...1 = Server: Server

        A-RR result: 255

        PTR-RR result: 0

    Option: (3) Router

        Length: 4

        Router: ??1.??1.132.1 (??1.??1.132.1)

    Option: (6) Domain Name Server

        Length: 8

        Domain Name Server: ??2.??2.135.52 (??2.??2.135.52)

        Domain Name Server: ??2.??2.135.51 (??2.??2.135.51)

    Option: (15) Domain Name

        Length: 24

        Domain Name: asiapacific.hpqcorp.net

    Option: (255) End

        Option End: 255

```

----------

## UberLord

The DHCP message in itself is fine.

However, some servers do not like the FQDN AND the hostname being sent.

dhcpcd-6.0.4 has been released with a new default of not sending the  FQDN.

----------

## lyallp

Thanks for taking the time to reply.

Whilst I noticed that dhcpcd-6.0.4 is not yet in portage, I cloned the 6.0.3 ebuild into my local portage, renamed and installed 6.0.4.

No change in behaviour. Dig is still not giving me an answer with regards to requests for simply the hostname or the fqdn.

I find this really frustrating in that it worked at one stage, but we have 2 week leases and since I leave my machines on 24x7, it could have been broken any time in the past, who knows how long and I not notice.

----------

## UberLord

Please post your current /etc/dhcpcd.conf

----------

## lyallp

 *lyallp wrote:*   

> 
> 
> ```
> # A sample configuration for dhcpcd.
> 
> ...

 

 :Smile: 

----------

## UberLord

```
# Inform the DHCP server of our hostname for DDNS

# and/or query for what it should be.

fqdn both 
```

Remove that and re-try

That has been removed from the default dhcpcd.conf shipped.

----------

## Bones McCracker

"update config files or things break"   :Razz: 

----------

## UberLord

 *BoneKracker wrote:*   

> "update config files or things break"  

 

I have had that in my signature line in various forums or over 10 years now.

In my years of open source, it's still one of the most important things, especially in the Linux world (not so much in the BSD world)

----------

## lyallp

I added "fqdn both" as part of my attempts to get it to work, after reading the man page on dhcpcd.

It appeared a sensible option to try, given my problem.

I applied this to my 3 installs. 6.0.4 worked, 6.0.3 worked, and one which still had 6.0.2 did not, with the removal of the 'fqdn' option.

So it appears I had a couple of issues, 6.0.2 would not work, I obviously tried to correct it including the fqdn option, eventually, in desperation, I updated dhcpcd on 2 of the 3 instances, still did not work because my configuration attempts from the previous version interfered. Additional desperation resulting in me having 3 separate versions of dhcpcd, one for each installation, none working because the oldest didn't work, the newer ones being workable but having incorrect configuration, from my previous fix attempts.

Sigh...

Thank you for your assistance. Very much appreciated.

----------

## UberLord

 *lyallp wrote:*   

> I added "fqdn both" as part of my attempts to get it to work, after reading the man page on dhcpcd.
> 
> It appeared a sensible option to try, given my problem.
> 
> 

 

It is a sensible option.

However, some DHCP servers don't like both it and the hostname.

I sent a patch to dnsmasq (which should appear in dnsmasq-2.67) to correct this very problem.

----------

## salfter

tl;dr: if you're using NetworkManager, your hostname needs to be set in there as well as in /etc/hostname.

I switched one of my long-running hosts at home over to using NetworkManager a while back.  Somewhere around the same time, I noticed I was no longer able to ssh into it from another host on the LAN by name, even though this had always worked before.  I wasn't too motivated at the time to fix it, as I rarely do that...most of my access to it is either at the console or from across the Internet.

More recently, I switched a mining rig over from nvOC (basically Ubuntu preconfigured with mining software and scripts) to Gentoo.  Once again, the hostname disappeared from the LAN.  This time, it was more of an inconvenience as this is a headless box (basically, it's a motherboard, processor, memory, WiFi dongle, an M.2 SSD, and four GPUs in an open frame, powered by a server power supply through a breakout board and a picoPSU).  I checked the earlier posts here, but they didn't seem to apply.

I somewhat recalled nmtui having a hostname option when I configured WiFi on the mining rig.  I went back to it, checked the setting...it was empty.  I plugged in a name, exited, and rebooted.  Tried pinging it by name from the FreeNAS box...success!  Did the same with the desktop box (the aforementioned "long-running host"), but need to wait for a HandBrake job to complete before I reboot it.

----------

