Community discussions

MikroTik App
 
TonyHoyle
just joined
Topic Author
Posts: 8
Joined: Tue Mar 16, 2010 6:13 pm

dhcp client issues

Thu Jun 23, 2022 1:23 pm

I've hit a problem with the dhcp client when used against my cable ISP (Virgin Media).

Up to and including firmware 7.2.3 it worked as always, giving an IP within a few seconds.
Since 7.3.0 it just sits there saying 'searching...'

From what I can tell it has the packet has changed such that the other end no longer likes it, and doesn't respond (if I'm reading torch correctly, which I may not be).

In 7.2.3 the output looks like this:
10:58:33 dhcp,debug,state dhcp-client on ether1 entering <selecting...> state
 10:58:33 dhcp,debug,packet dhcp-client on ether1 sending discover with id 371580191 to 255.255.255.255
 10:58:33 dhcp,debug,packet     flags = broadcast
 10:58:33 dhcp,debug,packet     ciaddr = 0.0.0.0
 10:58:33 dhcp,debug,packet     chaddr = 2C:C8:1B:FF:B1:2D
 10:58:33 dhcp,debug,packet     Msg-Type = discover
 10:58:33 dhcp,debug,packet     Parameter-List = Subnet-Mask,Classless-Route,Router,Static-Route,Domain-Server,NTP-Server,CAPWAP-Server,Vendor-Specific
 10:58:33 dhcp,debug,packet     Host-Name = "MikroTik"
 10:58:33 dhcp,debug,packet     Client-Id = 01-2C-C8-1B-FF-B1-2D
 10:58:33 dhcp,debug,packet dhcp-client on ether1 received offer with id 371580191 from 86.26.63.1
 10:58:33 dhcp,debug,packet     hops = 1
 10:58:33 dhcp,debug,packet     flags = broadcast
 10:58:33 dhcp,debug,packet     ciaddr = 0.0.0.0
 .. etc.
In 7.4beta4 (same in 7.3.0, but I was testing to see if this was already fixed)
 11:14:40 dhcp,debug,state dhcp-client on ether1 entering <selecting...> state
 11:14:40 dhcp,debug,packet dhcp-client on ether1 sending discover with id 3024160202 to 255.255.255.255
 11:14:40 dhcp,debug,packet     flags = broadcast
 11:14:40 dhcp,debug,packet     ciaddr = 0.0.0.0
 11:14:40 dhcp,debug,packet     chaddr = 2C:C8:1B:FF:B1:2D
 11:14:40 dhcp,debug,packet     Host-Name = "MikroTik"
 11:14:40 dhcp,debug,packet     Msg-Type = discover
 11:14:40 dhcp,debug,packet     Parameter-List = Subnet-Mask,Classless-Route,Router,Static-Route,Domain-Server,NTP-Server,CAPWAP-Server,Vendor-Specific
 11:14:40 dhcp,debug,packet     Client-Id = 01-2C-C8-1B-FF-B1-2D
 11:14:41 dhcp,debug,packet dhcp-client on ether1 sending discover with id 3024160202 to 255.255.255.255
 11:14:41 dhcp,debug,packet     secs = 2
 11:14:41 dhcp,debug,packet     flags = broadcast
 11:14:41 dhcp,debug,packet     ciaddr = 0.0.0.0
 .. and repeats forever
For now I can stick on the old firmware - I don't need anything new, but nothing in the changelogs suggests changes to dhcp-client..

Any idea what changed in 7.3 that could have caused this?

Tony
 
TonyHoyle
just joined
Topic Author
Posts: 8
Joined: Tue Mar 16, 2010 6:13 pm

Re: dhcp client issues

Thu Jun 23, 2022 8:16 pm

OK replying to myself, there's been a change in the way DHCP options are sent.

The previous version sent DHCP options like this:
    Magic cookie: DHCP
    Option: (53) DHCP Message Type (Discover)
    Option: (55) Parameter Request List
    Option: (12) Host Name
    Option: (61) Client identifier
    Option: (255) End
    Padding: 000000000000000000000000000000000000000000000000000000
In 7.3.0 it was changed to this:
    Magic cookie: DHCP
    Option: (12) Host Name
    Option: (53) DHCP Message Type (Discover)
    Option: (55) Parameter Request List
    Option: (61) Client identifier
    Option: (255) End
    Padding: 000000000000000000000000000000000000000000000000000000
The host name is sent first. It seems Virgin Media require Option 53 to be first. I've no idea if this a mikrotik or a VM bug (although there's basically zero chance of getting them to change it if it is, large ISPs don't even have a bug report process..) as I couldn't find anything that said option 53 *must* be first..

The workaround seems to be to change the DHCP options to clientid instead, which removes the hostname field, so you get:
    Magic cookie: DHCP
    Option: (53) DHCP Message Type (Discover)
    Option: (55) Parameter Request List
    Option: (61) Client identifier
    Option: (255) End
    Padding: 000000000000000000000000000000000000000000000000000000000000000000000000…
This works as before.
 
JohnConnett
newbie
Posts: 29
Joined: Thu Feb 23, 2023 2:27 pm

Re: dhcp client issues

Fri Feb 24, 2023 1:41 pm

I have a brand new hAP ax³ and am struggling to connect it to my Virgin Media broadband. I suspect I may be suffering from the same issues
and have raised it as dhcp-client problem with Virgin Media in General.

I have tried to remove hostname(12) but this failed with Default options are not removable! using the CLI. Also had a similar failure using WinBox.

My interpretation of RFC 2131, 4.4.1 Initialization and allocation of network address is that none of the three DHCP Client Options, considered by RouterOS as default options which cannot be removed, are mandatory. Nor, it appears is, DHCP Message Type (Discover)(53). A quick scan of the four updating RFCs didn't find any obvious mentions of Host Name(12). I think it could be argued that making these three options mandatory is a bug. Virgin Media and other ISPs are free to make them a requirement when using their services.

I'm very new to RouterOS and would be interested to know how you achieved your workaround!
 
User avatar
bpwl
Forum Guru
Forum Guru
Posts: 2978
Joined: Mon Apr 08, 2019 1:16 am

Re: dhcp client issues

Fri Feb 24, 2023 2:35 pm

 
JohnConnett
newbie
Posts: 29
Joined: Thu Feb 23, 2023 2:27 pm

Re: dhcp client issues

Fri Feb 24, 2023 3:05 pm

So fixed in 7.4beta5 for dhcpv4-server. My problem is with dhcp-client in 7.7.
 
JohnConnett
newbie
Posts: 29
Joined: Thu Feb 23, 2023 2:27 pm

Re: dhcp client issues

Fri Feb 24, 2023 5:14 pm

Problem is still present in 7.8rc3.
 
JohnConnett
newbie
Posts: 29
Joined: Thu Feb 23, 2023 2:27 pm

Re: dhcp client issues

Fri Feb 24, 2023 6:48 pm

After a closer reading of RFC 2131 I found this in 3. The Client Server Protocol:

Several options have been defined so far. One particular option - the "DHCP message type" option - must be included in every DHCP message. This option defines the "type" of the DHCP message. Additional options may be allowed, required, or not allowed, depending on the DHCP message type.

Not a lot more information in RFC 2132 about the "DHCP message type" option. The Internet Assigned Numbers Authority lists the current DHCP Message Type 53 Values.

I can find nothing that states that the "DHCP message type" option MUST be the first option, although it MUST be included in every DHCP message. The Google Nest Doorbell (Battery) seems to be an example that is unhappy if it isn't, which was fixed in dhcpv4-server in 7.4beta5.

The RouterOS dhcp-client is technically correct, so it's not a bug. However, my hAP ax³ won't connect with Virgin Media (and possibly other services) that are overly strict in interpreting DHCP options. I guess the best I can do is make a polite request that the "DHCP message type" option is always presented first in a DHCPDISCOVER message. This would still be technically correct and should work with Virgin Media.

Can anyone can suggest a workaround that would allow me to get connected?
 
JohnConnett
newbie
Posts: 29
Joined: Thu Feb 23, 2023 2:27 pm

Re: dhcp client issues

Sat Feb 25, 2023 2:21 pm

 
JohnConnett
newbie
Posts: 29
Joined: Thu Feb 23, 2023 2:27 pm

Re: dhcp client issues

Tue Feb 28, 2023 1:01 pm

Problem is still present in 7.8.
 
moschops
just joined
Posts: 3
Joined: Thu Mar 02, 2023 7:45 pm

Re: dhcp client issues

Thu Mar 02, 2023 7:48 pm

I have also faced similar issues with the CCR2004, often the symptom being I keep getting the port being flipped between link up and link down. To the VM Hub 4.

For the being I've had to put a cheap router between the two and double NAT'ed, not ideal but it works.

Hopefull they look at a fix for this in the future.
 
JohnConnett
newbie
Posts: 29
Joined: Thu Feb 23, 2023 2:27 pm

Re: dhcp client issues

Fri Mar 03, 2023 1:44 pm

I have tried to remove hostname(12) but this failed with Default options are not removable! using the CLI. Also had a similar failure using WinBox.
Using
/ip dhcp-client set dhcp-options=clientid
from the CLI removes hostname(12). Hooray! Problem solved.

Unfortunately not. It seems that hostname(12) wasn't the problem (or not all of the problem?).

Here's what RouterOS 7.8 has it its DHCP Discover packet (with hostname(12) removed):
Dynamic Host Configuration Protocol (Discover)
  Message type: Boot Request (1)
  Hardware type: Ethernet (0x01)
  Hardware address length: 6
  Hops: 0
  Transaction ID: 0x9c7ea574
  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
  Your (client) IP address: 0.0.0.0
  Next server IP address: 0.0.0.0
  Relay agent IP address: 0.0.0.0
  Client MAC address: Routerbo_??:??:?? (48:a9:8a:??:??:??)
  Client hardware address padding: 00000000000000000000
  Server host name not given
  Boot file name not given
  Magic cookie: DHCP
  Option: (53) DHCP Message Type (Discover)
    Length: 1
    DHCP: Discover (1)
  Option: (55) Parameter Request List
    Length: 8
    Parameter Request List Item: (1) Subnet Mask
    Parameter Request List Item: (121) Classless Static Route
    Parameter Request List Item: (3) Router
    Parameter Request List Item: (33) Static Route
    Parameter Request List Item: (6) Domain Name Server
    Parameter Request List Item: (42) Network Time Protocol Servers
    Parameter Request List Item: (138) CAPWAP Access Controllers
    Parameter Request List Item: (43) Vendor-Specific Information
  Option: (61) Client identifier
    Length: 7
    Hardware type: Ethernet (0x01)
    Client MAC address: Routerbo_??:??:?? (48:a9:8a:??:??:??)
  Option: (255) End
    Option End: 255
  Padding: 0000000000000000000000000000000000000000000000000000000000000000000000
Virgin Media doesn't like it.

Here's what my Buffalo WZR-HP-G300NH running OpenWrt 22.03.2 has in its DHCP Discover packet:
Dynamic Host Configuration Protocol (Discover)
  Message type: Boot Request (1)
  Hardware type: Ethernet (0x01)
  Hardware address length: 6
  Hops: 0
  Transaction ID: 0x25fcf31a
  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
  Your (client) IP address: 0.0.0.0
  Next server IP address: 0.0.0.0
  Relay agent IP address: 0.0.0.0
  Client MAC address: Buffalo_??:??:?? (00:24:a5:??:??:??)
  Client hardware address padding: 00000000000000000000
  Server host name not given
  Boot file name not given
  Magic cookie: DHCP
  Option: (53) DHCP Message Type (Discover)
    Length: 1
    DHCP: Discover (1)
  Option: (57) Maximum DHCP Message Size
    Length: 2
    Maximum DHCP Message Size: 576
  Option: (55) Parameter Request List
    Length: 8
    Parameter Request List Item: (1) Subnet Mask
    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: (28) Broadcast Address
    Parameter Request List Item: (42) Network Time Protocol Servers
    Parameter Request List Item: (121) Classless Static Route
  Option: (12) Host Name
    Length: 6
    Host Name: router
  Option: (60) Vendor class identifier
    Length: 12
    Vendor class identifier: udhcp 1.35.0
  Option: (255) End
    Option End: 255
  Padding: 0000000000000000000000000000000000000000
Virgin Media likes this.

Will try tweaking the options on RouterOS to see if I can find something that works ...
 
JohnConnett
newbie
Posts: 29
Joined: Thu Feb 23, 2023 2:27 pm

Re: dhcp client issues

Fri Mar 03, 2023 3:23 pm

Tweaked the options on RouterOS using the following:
/ip dhcp-client option add name=option57 code=57 value=0x0240
/ip dhcp-client option add name=option12 code=12 value=0x4d696b726f54696b
/ip dhcp-client option add name=option60 code=60 value=0x526f757465724f53
/ip dhcp-client set dhcp-options=clientid,option57,option12,option60
Here's what RouterOS now has in its DHCP Discover packet:
Dynamic Host Configuration Protocol (Discover)
  Message type: Boot Request (1)
  Hardware type: Ethernet (0x01)
  Hardware address length: 6
  Hops: 0
  Transaction ID: 0x9c7ea574
  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
  Your (client) IP address: 0.0.0.0
  Next server IP address: 0.0.0.0
  Relay agent IP address: 0.0.0.0
  Client MAC address: Routerbo_??:??:?? (48:a9:8a:??:??:??)
  Client hardware address padding: 00000000000000000000
  Server host name not given
  Boot file name not given
  Magic cookie: DHCP
  Option: (53) DHCP Message Type (Discover)
    Length: 1
    DHCP: Discover (1)
  Option: (12) Host Name
    Length: 8
    Host Name: MikroTik
  Option: (55) Parameter Request List
    Length: 8
    Parameter Request List Item: (1) Subnet Mask
    Parameter Request List Item: (121) Classless Static Route
    Parameter Request List Item: (3) Router
    Parameter Request List Item: (33) Static Route
    Parameter Request List Item: (6) Domain Name Server
    Parameter Request List Item: (42) Network Time Protocol Servers
    Parameter Request List Item: (138) CAPWAP Access Controllers
    Parameter Request List Item: (43) Vendor-Specific Information
  Option: (57) Maximum DHCP Message Size
    Length: 2
    Maximum DHCP Message Size: 576
  Option: (60) Vendor class identifier
    Length: 8
    Vendor class identifier: RouterOS
  Option: (61) Client identifier
    Length: 7
    Hardware type: Ethernet (0x01)
    Client MAC address: Routerbo_??:??:?? (48:a9:8a:??:??:??)
  Option: (255) End
    Option End: 255
  Padding: 000000000000000000000000000000
Virgin Media still doesn't like it.

It seems unlikely that the values in hostname(12) and vendor class identifier(60) are the problem. I will try with exactly the same values as used by my Buffalo WZR-HP-G300NH just to be sure. My guess is that the problem might be with the Parameter Request List(55). Will investigate if that can be tweaked ...
 
JohnConnett
newbie
Posts: 29
Joined: Thu Feb 23, 2023 2:27 pm

Re: dhcp client issues

Sun Mar 05, 2023 4:34 pm

I have found a solution that works for me. Configure dhcp-client including the following:
/ip dhcp-client option add name=option57 code=57 value=0x0240
/ip dhcp-client set dhcp-options=clientid,option57

Then:
  1. Power off the Virgin Media Super Hub
  2. Disconnect the old router
  3. Connect the new hAP ax³ router
  4. Power on the Virgin Media Super Hub
  5. Wait patiently for a while
  6. Success!
There may well be other combinations that work. However, I only have my single broadband connection with which to experiment. As it is used by several services, including one path of a dual path monitored security system, I am reluctant to investigate further.

Here is the section of the (slightly edited) log from my first successful connection (with the MAC address obscured):
12:34:19 interface,info ether1 link down
12:34:19 dhcp,debug,state dhcp-client on ether1 entering <stopped> state
12:34:22 interface,info ether1 link up (speed 1G, full duplex)
12:34:22 dhcp,debug,state dhcp-client on ether1 entering <selecting...> state
12:34:23 dhcp,debug,packet dhcp-client on ether1 sending discover with id 2036451535 to 255.255.255.255
12:34:23 dhcp,debug,packet     flags = broadcast
12:34:23 dhcp,debug,packet     ciaddr = 0.0.0.0
12:34:23 dhcp,debug,packet     chaddr = 48:A9:8A:??:??:??
12:34:23 dhcp,debug,packet     Msg-Type = discover
12:34:23 dhcp,debug,packet     Parameter-List = Subnet-Mask,Classless-Route,Router,Static-Route,Domain-Server,NTP-Server,CAPWAP-Server,Vendor-Specific
12:34:23 dhcp,debug,packet     Max-DHCP-Message-Size = 576
12:34:23 dhcp,debug,packet     Client-Id = 01-48-A9-8A-??-??-??
12:34:24 dhcp,debug,packet dhcp-client on ether1 sending discover with id 2036451535 to 255.255.255.255
12:34:24 dhcp,debug,packet     secs = 2
12:34:24 dhcp,debug,packet     flags = broadcast
12:34:24 dhcp,debug,packet     ciaddr = 0.0.0.0
12:34:24 dhcp,debug,packet     chaddr = 48:A9:8A:??:??:??
12:34:24 dhcp,debug,packet     Msg-Type = discover
12:34:24 dhcp,debug,packet     Parameter-List = Subnet-Mask,Classless-Route,Router,Static-Route,Domain-Server,NTP-Server,CAPWAP-Server,Vendor-Specific
12:34:24 dhcp,debug,packet     Max-DHCP-Message-Size = 576
12:34:24 dhcp,debug,packet     Client-Id = 01-48-A9-8A-??-??-??
12:34:26 dhcp,debug,packet dhcp-client on ether1 sending discover with id 2036451535 to 255.255.255.255
12:34:26 dhcp,debug,packet     secs = 4
12:34:26 dhcp,debug,packet     flags = broadcast
12:34:26 dhcp,debug,packet     ciaddr = 0.0.0.0
12:34:26 dhcp,debug,packet     chaddr = 48:A9:8A:??:??:??
12:34:26 dhcp,debug,packet     Msg-Type = discover
12:34:26 dhcp,debug,packet     Parameter-List = Subnet-Mask,Classless-Route,Router,Static-Route,Domain-Server,NTP-Server,CAPWAP-Server,Vendor-Specific
12:34:26 dhcp,debug,packet     Max-DHCP-Message-Size = 576
12:34:26 dhcp,debug,packet     Client-Id = 01-48-A9-8A-??-??-??
12:34:29 dhcp,debug,packet dhcp-client on ether1 sending discover with id 2036451535 to 255.255.255.255
12:34:29 dhcp,debug,packet     secs = 7
12:34:29 dhcp,debug,packet     flags = broadcast
12:34:29 dhcp,debug,packet     ciaddr = 0.0.0.0
12:34:29 dhcp,debug,packet     chaddr = 48:A9:8A:??:??:??
12:34:29 dhcp,debug,packet     Msg-Type = discover
12:34:29 dhcp,debug,packet     Parameter-List = Subnet-Mask,Classless-Route,Router,Static-Route,Domain-Server,NTP-Server,CAPWAP-Server,Vendor-Specific
12:34:29 dhcp,debug,packet     Max-DHCP-Message-Size = 576
12:34:29 dhcp,debug,packet     Client-Id = 01-48-A9-8A-??-??-??
12:34:31 dhcp,debug,packet dhcp-client on ether1 sending discover with id 2036451535 to 255.255.255.255
12:34:31 dhcp,debug,packet     secs = 9
12:34:31 dhcp,debug,packet     flags = broadcast
12:34:31 dhcp,debug,packet     ciaddr = 0.0.0.0
12:34:31 dhcp,debug,packet     chaddr = 48:A9:8A:??:??:??
12:34:31 dhcp,debug,packet     Msg-Type = discover
12:34:31 dhcp,debug,packet     Parameter-List = Subnet-Mask,Classless-Route,Router,Static-Route,Domain-Server,NTP-Server,CAPWAP-Server,Vendor-Specific
12:34:31 dhcp,debug,packet     Max-DHCP-Message-Size = 576
12:34:31 dhcp,debug,packet     Client-Id = 01-48-A9-8A-??-??-??
12:34:36 dhcp,debug,packet dhcp-client on ether1 sending discover with id 2036451535 to 255.255.255.255
12:34:36 dhcp,debug,packet     secs = 14
12:34:36 dhcp,debug,packet     flags = broadcast
12:34:36 dhcp,debug,packet     ciaddr = 0.0.0.0
12:34:36 dhcp,debug,packet     chaddr = 48:A9:8A:??:??:??
12:34:36 dhcp,debug,packet     Msg-Type = discover
12:34:36 dhcp,debug,packet     Parameter-List = Subnet-Mask,Classless-Route,Router,Static-Route,Domain-Server,NTP-Server,CAPWAP-Server,Vendor-Specific
12:34:36 dhcp,debug,packet     Max-DHCP-Message-Size = 576
12:34:36 dhcp,debug,packet     Client-Id = 01-48-A9-8A-??-??-??
12:34:41 dhcp,debug,packet dhcp-client on ether1 sending discover with id 2036451535 to 255.255.255.255
12:34:41 dhcp,debug,packet     secs = 19
12:34:41 dhcp,debug,packet     ciaddr = 0.0.0.0
12:34:41 dhcp,debug,packet     chaddr = 48:A9:8A:??:??:??
12:34:41 dhcp,debug,packet     Msg-Type = discover
12:34:41 dhcp,debug,packet     Parameter-List = Subnet-Mask,Classless-Route,Router,Static-Route,Domain-Server,NTP-Server,CAPWAP-Server,Vendor-Specific
12:34:41 dhcp,debug,packet     Max-DHCP-Message-Size = 576
12:34:41 dhcp,debug,packet     Client-Id = 01-48-A9-8A-??-??-??
12:34:44 dhcp,debug,packet dhcp-client on ether1 sending discover with id 2036451535 to 255.255.255.255
12:34:44 dhcp,debug,packet     secs = 22
12:34:44 dhcp,debug,packet     ciaddr = 0.0.0.0
12:34:44 dhcp,debug,packet     chaddr = 48:A9:8A:??:??:??
12:34:44 dhcp,debug,packet     Msg-Type = discover
12:34:44 dhcp,debug,packet     Parameter-List = Subnet-Mask,Classless-Route,Router,Static-Route,Domain-Server,NTP-Server,CAPWAP-Server,Vendor-Specific
12:34:44 dhcp,debug,packet     Max-DHCP-Message-Size = 576
12:34:44 dhcp,debug,packet     Client-Id = 01-48-A9-8A-??-??-??
12:34:44 dhcp,debug,packet dhcp-client on ether1 received offer with id 2036451535 from 192.168.100.1
12:34:44 dhcp,debug,packet     ciaddr = 0.0.0.0
12:34:44 dhcp,debug,packet     yiaddr = 192.168.100.20
12:34:44 dhcp,debug,packet     siaddr = 192.168.100.1
12:34:44 dhcp,debug,packet     chaddr = 48:A9:8A:??:??:??
12:34:44 dhcp,debug,packet     Subnet-Mask = 255.255.255.0
12:34:44 dhcp,debug,packet     Address-Time = 20
12:34:44 dhcp,debug,packet     Msg-Type = offer
12:34:44 dhcp,debug,packet     Server-Id = 192.168.100.1
12:34:44 dhcp,debug,state dhcp-client on ether1 entering <requesting...> state
12:34:44 dhcp,debug,packet dhcp-client on ether1 sending request with id 2036451535 to 255.255.255.255
12:34:44 dhcp,debug,packet     secs = 22
12:34:44 dhcp,debug,packet     ciaddr = 0.0.0.0
12:34:44 dhcp,debug,packet     chaddr = 48:A9:8A:??:??:??
12:34:44 dhcp,debug,packet     Address-Request = 192.168.100.20
12:34:44 dhcp,debug,packet     Msg-Type = request
12:34:44 dhcp,debug,packet     Server-Id = 192.168.100.1
12:34:44 dhcp,debug,packet     Parameter-List = Subnet-Mask,Classless-Route,Router,Static-Route,Domain-Server,NTP-Server,CAPWAP-Server,Vendor-Specific
12:34:44 dhcp,debug,packet     Max-DHCP-Message-Size = 576
12:34:44 dhcp,debug,packet     Client-Id = 01-48-A9-8A-??-??-??
12:34:45 dhcp,debug,packet dhcp-client on ether1 received offer with id 2036451535 from 192.168.100.1
12:34:45 dhcp,debug,packet     ciaddr = 0.0.0.0
12:34:45 dhcp,debug,packet     yiaddr = 192.168.100.20
12:34:45 dhcp,debug,packet     siaddr = 192.168.100.1
12:34:45 dhcp,debug,packet     chaddr = 48:A9:8A:??:??:??
12:34:45 dhcp,debug,packet     Subnet-Mask = 255.255.255.0
12:34:45 dhcp,debug,packet     Address-Time = 20
12:34:45 dhcp,debug,packet     Msg-Type = offer
12:34:45 dhcp,debug,packet     Server-Id = 192.168.100.1
12:34:45 dhcp,debug,packet dhcp-client on ether1 received ack with id 2036451535 from 192.168.100.1
12:34:45 dhcp,debug,packet     ciaddr = 0.0.0.0
12:34:45 dhcp,debug,packet     yiaddr = 192.168.100.20
12:34:45 dhcp,debug,packet     siaddr = 192.168.100.1
12:34:45 dhcp,debug,packet     chaddr = 48:A9:8A:??:??:??
12:34:45 dhcp,debug,packet     Subnet-Mask = 255.255.255.0
12:34:45 dhcp,debug,packet     Address-Time = 20
12:34:45 dhcp,debug,packet     Msg-Type = ack
12:34:45 dhcp,debug,packet     Server-Id = 192.168.100.1
12:34:45 dhcp,info dhcp-client on ether1 got IP address 192.168.100.20
12:34:45 dhcp,debug,state dhcp-client on ether1 entering <bound> state
12:34:55 dhcp,debug,state dhcp-client on ether1 entering <renewing...> state
12:34:55 dhcp,debug,packet dhcp-client on ether1 sending request with id 2036451535 to 192.168.100.1
12:34:55 dhcp,debug,packet     ciaddr = 192.168.100.20
12:34:55 dhcp,debug,packet     chaddr = 48:A9:8A:??:??:??
12:34:55 dhcp,debug,packet     Msg-Type = request
12:34:55 dhcp,debug,packet     Parameter-List = Subnet-Mask,Classless-Route,Router,Static-Route,Domain-Server,NTP-Server,CAPWAP-Server,Vendor-Specific
12:34:55 dhcp,debug,packet     Max-DHCP-Message-Size = 576
12:34:55 dhcp,debug,packet     Client-Id = 01-48-A9-8A-??-??-??
12:34:55 dhcp,debug,packet dhcp-client on ether1 received ack with id 2036451535 from 192.168.100.1
12:34:55 dhcp,debug,packet     ciaddr = 192.168.100.20
12:34:55 dhcp,debug,packet     yiaddr = 192.168.100.20
12:34:55 dhcp,debug,packet     siaddr = 192.168.100.1
12:34:55 dhcp,debug,packet     chaddr = 48:A9:8A:??:??:??
12:34:55 dhcp,debug,packet     Subnet-Mask = 255.255.255.0
12:34:55 dhcp,debug,packet     Address-Time = 20
12:34:55 dhcp,debug,packet     Msg-Type = ack
12:34:55 dhcp,debug,packet     Server-Id = 192.168.100.1
12:34:55 dhcp,debug,state dhcp-client on ether1 entering <bound> state
12:35:05 dhcp,debug,state dhcp-client on ether1 entering <renewing...> state
12:35:05 dhcp,debug,packet dhcp-client on ether1 sending request with id 2036451535 to 192.168.100.1
12:35:05 dhcp,debug,packet     ciaddr = 192.168.100.20
12:35:05 dhcp,debug,packet     chaddr = 48:A9:8A:??:??:??
12:35:05 dhcp,debug,packet     Msg-Type = request
12:35:05 dhcp,debug,packet     Parameter-List = Subnet-Mask,Classless-Route,Router,Static-Route,Domain-Server,NTP-Server,CAPWAP-Server,Vendor-Specific
12:35:05 dhcp,debug,packet     Max-DHCP-Message-Size = 576
12:35:05 dhcp,debug,packet     Client-Id = 01-48-A9-8A-??-??-??
12:35:05 dhcp,debug,packet dhcp-client on ether1 received ack with id 2036451535 from 192.168.100.1
12:35:05 dhcp,debug,packet     ciaddr = 192.168.100.20
12:35:05 dhcp,debug,packet     yiaddr = 192.168.100.20
12:35:05 dhcp,debug,packet     siaddr = 192.168.100.1
12:35:05 dhcp,debug,packet     chaddr = 48:A9:8A:??:??:??
12:35:05 dhcp,debug,packet     Subnet-Mask = 255.255.255.0
12:35:05 dhcp,debug,packet     Address-Time = 20
12:35:05 dhcp,debug,packet     Msg-Type = ack
12:35:05 dhcp,debug,packet     Server-Id = 192.168.100.1
12:35:05 dhcp,debug,state dhcp-client on ether1 entering <bound> state
12:35:15 dhcp,debug,state dhcp-client on ether1 entering <renewing...> state
12:35:15 dhcp,debug,packet dhcp-client on ether1 sending request with id 2036451535 to 192.168.100.1
12:35:15 dhcp,debug,packet     ciaddr = 192.168.100.20
12:35:15 dhcp,debug,packet     chaddr = 48:A9:8A:??:??:??
12:35:15 dhcp,debug,packet     Msg-Type = request
12:35:15 dhcp,debug,packet     Parameter-List = Subnet-Mask,Classless-Route,Router,Static-Route,Domain-Server,NTP-Server,CAPWAP-Server,Vendor-Specific
12:35:15 dhcp,debug,packet     Max-DHCP-Message-Size = 576
12:35:15 dhcp,debug,packet     Client-Id = 01-48-A9-8A-??-??-??
12:35:15 dhcp,debug,packet dhcp-client on ether1 received ack with id 2036451535 from 192.168.100.1
12:35:15 dhcp,debug,packet     ciaddr = 192.168.100.20
12:35:15 dhcp,debug,packet     yiaddr = 192.168.100.20
12:35:15 dhcp,debug,packet     siaddr = 192.168.100.1
12:35:15 dhcp,debug,packet     chaddr = 48:A9:8A:??:??:??
12:35:15 dhcp,debug,packet     Subnet-Mask = 255.255.255.0
12:35:15 dhcp,debug,packet     Address-Time = 20
12:35:15 dhcp,debug,packet     Msg-Type = ack
12:35:15 dhcp,debug,packet     Server-Id = 192.168.100.1
12:35:15 dhcp,debug,state dhcp-client on ether1 entering <bound> state
12:35:25 dhcp,debug,state dhcp-client on ether1 entering <renewing...> state
12:35:25 dhcp,debug,packet dhcp-client on ether1 sending request with id 2036451535 to 192.168.100.1
12:35:25 dhcp,debug,packet     ciaddr = 192.168.100.20
12:35:25 dhcp,debug,packet     chaddr = 48:A9:8A:??:??:??
12:35:25 dhcp,debug,packet     Msg-Type = request
12:35:25 dhcp,debug,packet     Parameter-List = Subnet-Mask,Classless-Route,Router,Static-Route,Domain-Server,NTP-Server,CAPWAP-Server,Vendor-Specific
12:35:25 dhcp,debug,packet     Max-DHCP-Message-Size = 576
12:35:25 dhcp,debug,packet     Client-Id = 01-48-A9-8A-??-??-??
Note that the 192.168.100.0 IP address range is used by the Virgin Media Super Hub. The externally visible dynamic IP address was not changed. It appears that Virgin Media rarely change them.

Not sure this can be considered solved. I have more configuration to do before I try swapping routers. Until then I will not know if there are long term problems with the stability of the connection. Hopefully, this thread will be of some use to others who experience similar issues.

Many thanks to @TonyHoyle, @bpwl and @moschops for their involvement.
 
moschops
just joined
Posts: 3
Joined: Thu Mar 02, 2023 7:45 pm

Re: dhcp client issues

Mon Mar 13, 2023 5:35 pm

Great bit of research @JohnConnett I will give this a try and see if I can replicate your results.

Its interesting that setting and sending an option57 (Max DHCP message size) would get it to work.

Thanks.
 
JohnConnett
newbie
Posts: 29
Joined: Thu Feb 23, 2023 2:27 pm

Re: dhcp client issues

Mon Mar 13, 2023 5:38 pm

I now have a working configuration broadly similar to my old router. It has been reliable this far with no obvious problems. The speed and range on the wifi are a big improvement!

Had a reply from MikroTik Support who had seen my workaround on this forum.

One thing I found during my investigation using Wireshark was that the DHCP servers had Cadant MAC addresses (Cadant are now part of Arris International). Might be a handy hint if similar problems are experienced with another ISP.
 
moschops
just joined
Posts: 3
Joined: Thu Mar 02, 2023 7:45 pm

Re: dhcp client issues

Wed Mar 15, 2023 1:27 pm

Just to give another update since adding the option57 to the DHCP client options I've not seen the port flapping occur now after 48 hours.

Looks like I can permanently retire the router sat between the two of them.

Many Thanks.

Who is online

Users browsing this forum: No registered users and 25 guests