On Wed, May 10, 2023 at 05:55:28AM -0000, Stuart Henderson wrote:
> On 2023-05-10, David Diggles <da...@elven.com.au> wrote:
> > My ISP provides connection via DHCP.
> >
> > Every 5 minutes or so when dhcpleased is renewing the lease,
> > my default route disappears for a few seconds.
>
> That isn't supposed to happen. I just checked on a machine which has
> 10 minute leases and I don't see that problem or those log messages.
>
> I'd run dhcpleased in the foreground with debug logging and collect a
> couple of cycle's worth to see if that gives any clues. Saving a
> packet capture might be useful too ("tcpdump -i cnmac2 -s1500 -w
> /tmp/dhcp.pcap port 67 or 68").
>
> > Definitely I'll be looking at requesting a longer lease by
> > putting a setting in /etc/dhclient.conf but is there any way
> > I can stop the default route disappearing with each renew event?
>
> dhcpleased doesn't support this yet though it would certainly be a
> feature that's useful to have.

Ok Stuart, here's a couple of rounds of dhcpleased -vvv with the tcpdump.

root@sarah log:130# rcctl stop dhcpleased
dhcpleased(ok)
root@sarah log:0# which dhcpleased
/sbin/dhcpleased
root@sarah log:0# /sbin/dhcpleased -d -vvv
state_transition[cnmac2] Down -> Rebooting, timo: 1
DHCPREQUEST on cnmac2
parse_dhcp, from: 0e:a2:00:04:00:03, to: ff:ff:ff:ff:ff:ff
parse_dhcp: 202.63.66.1:67 -> 255.255.255.255:68
dhcp_hdr op: Boot Reply (2)
dhcp_hdr htype: Ethernet (1)
dhcp_hdr hlen: 6
dhcp_hdr hops: 0
dhcp_hdr xid: 0x74253f08
dhcp_hdr secs: 0
dhcp_hdr flags: 0x8000
dhcp_hdr ciaddr: 0.0.0.0
dhcp_hdr yiaddr: 202.63.67.36
dhcp_hdr siaddr: 172.21.116.42
dhcp_hdr giaddr: 0.0.0.0
dhcp_hdr chaddr: dc:9f:db:28:14:bf (00000000000000000000)
DHO_DHCP_MESSAGE_TYPE: DHCPACK
DHO_SUBNET_MASK: 255.255.254.0
DHO_ROUTER: 202.63.66.1
DHO_DOMAIN_NAME_SERVERS: 119.40.106.35 (1/2)
DHO_DOMAIN_NAME_SERVERS: 119.40.106.36 (2/2)
DHO_42, len: 4
DHO_DHCP_LEASE_TIME 600s
DHO_DHCP_SERVER_IDENTIFIER: 202.63.66.1
DHO_END
DHCPACK on cnmac2 from 0e:a2:00:04:00:03/202.63.66.1 to 
ff:ff:ff:ff:ff:ff/255.255.255.255
adding 202.63.67.36 to cnmac2 (lease from 202.63.66.1)
adding nameservers 119.40.106.35 119.40.106.36 (lease from 202.63.66.1 on 
cnmac2)
state_transition[cnmac2] Rebooting -> Bound, timo: 300
configure_interface cnmac2
iface_timeout[3]: Bound
state_transition[cnmac2] Bound -> Renewing, timo: 112
DHCPREQUEST on cnmac2
parse_dhcp, from: 0e:a2:00:04:00:03, to: dc:9f:db:28:14:bf
parse_dhcp: 202.63.66.1:67 -> 202.63.67.36:68
dhcp_hdr op: Boot Reply (2)
dhcp_hdr htype: Ethernet (1)
dhcp_hdr hlen: 6
dhcp_hdr hops: 0
dhcp_hdr xid: 0xa180ce6b
dhcp_hdr secs: 0
dhcp_hdr flags: 0x0
dhcp_hdr ciaddr: 202.63.67.36
dhcp_hdr yiaddr: 0.0.0.0
dhcp_hdr siaddr: 172.21.116.42
dhcp_hdr giaddr: 0.0.0.0
dhcp_hdr chaddr: dc:9f:db:28:14:bf (00000000000000000000)
DHO_DHCP_MESSAGE_TYPE: DHCPNAK
DHO_DHCP_SERVER_IDENTIFIER: 202.63.66.1
DHO_END
DHCPNAK on cnmac2 from 0e:a2:00:04:00:03/202.63.66.1 to 
dc:9f:db:28:14:bf/202.63.67.36
deleting nameservers 119.40.106.35 119.40.106.36 (lease from 202.63.66.1 on 
cnmac2)
deleting 202.63.67.36 from cnmac2 (lease from 202.63.66.1)
state_transition[cnmac2] Renewing -> Init, timo: 1
DHCPDISCOVER on cnmac2
deconfigure_interface cnmac2
iface_timeout[3]: Init
state_transition[cnmac2] Init -> Init, timo: 2
DHCPDISCOVER on cnmac2
parse_dhcp, from: 0e:a2:00:04:00:03, to: ff:ff:ff:ff:ff:ff
parse_dhcp: 202.63.66.1:67 -> 255.255.255.255:68
dhcp_hdr op: Boot Reply (2)
dhcp_hdr htype: Ethernet (1)
dhcp_hdr hlen: 6
dhcp_hdr hops: 0
dhcp_hdr xid: 0x6a13ec33
dhcp_hdr secs: 0
dhcp_hdr flags: 0x8000
dhcp_hdr ciaddr: 0.0.0.0
dhcp_hdr yiaddr: 202.63.67.36
dhcp_hdr siaddr: 172.21.116.42
dhcp_hdr giaddr: 0.0.0.0
dhcp_hdr chaddr: dc:9f:db:28:14:bf (00000000000000000000)
DHO_DHCP_MESSAGE_TYPE: DHCPOFFER
DHO_SUBNET_MASK: 255.255.254.0
DHO_ROUTER: 202.63.66.1
DHO_DOMAIN_NAME_SERVERS: 119.40.106.35 (1/2)
DHO_DOMAIN_NAME_SERVERS: 119.40.106.36 (2/2)
DHO_42, len: 4
DHO_DHCP_LEASE_TIME 600s
DHO_DHCP_SERVER_IDENTIFIER: 202.63.66.1
DHO_END
DHCPOFFER on cnmac2 from 0e:a2:00:04:00:03/202.63.66.1 to 
ff:ff:ff:ff:ff:ff/255.255.255.255
state_transition[cnmac2] Init -> Requesting, timo: 1
DHCPREQUEST on cnmac2
parse_dhcp, from: 0e:a2:00:04:00:03, to: ff:ff:ff:ff:ff:ff
parse_dhcp: 202.63.66.1:67 -> 255.255.255.255:68
dhcp_hdr op: Boot Reply (2)
dhcp_hdr htype: Ethernet (1)
dhcp_hdr hlen: 6
dhcp_hdr hops: 0
dhcp_hdr xid: 0xdafa3da4
dhcp_hdr secs: 0
dhcp_hdr flags: 0x8000
dhcp_hdr ciaddr: 0.0.0.0
dhcp_hdr yiaddr: 202.63.67.36
dhcp_hdr siaddr: 172.21.116.42
dhcp_hdr giaddr: 0.0.0.0
dhcp_hdr chaddr: dc:9f:db:28:14:bf (00000000000000000000)
DHO_DHCP_MESSAGE_TYPE: DHCPACK
DHO_SUBNET_MASK: 255.255.254.0
DHO_ROUTER: 202.63.66.1
DHO_DOMAIN_NAME_SERVERS: 119.40.106.35 (1/2)
DHO_DOMAIN_NAME_SERVERS: 119.40.106.36 (2/2)
DHO_42, len: 4
DHO_DHCP_LEASE_TIME 600s
DHO_DHCP_SERVER_IDENTIFIER: 202.63.66.1
DHO_END
DHCPACK on cnmac2 from 0e:a2:00:04:00:03/202.63.66.1 to 
ff:ff:ff:ff:ff:ff/255.255.255.255
adding 202.63.67.36 to cnmac2 (lease from 202.63.66.1)
adding nameservers 119.40.106.35 119.40.106.36 (lease from 202.63.66.1 on 
cnmac2)
state_transition[cnmac2] Requesting -> Bound, timo: 300
configure_interface cnmac2
iface_timeout[3]: Bound
state_transition[cnmac2] Bound -> Renewing, timo: 112
DHCPREQUEST on cnmac2
parse_dhcp, from: 0e:a2:00:04:00:03, to: dc:9f:db:28:14:bf
parse_dhcp: 202.63.66.1:67 -> 202.63.67.36:68
dhcp_hdr op: Boot Reply (2)
dhcp_hdr htype: Ethernet (1)
dhcp_hdr hlen: 6
dhcp_hdr hops: 0
dhcp_hdr xid: 0x953f83f1
dhcp_hdr secs: 0
dhcp_hdr flags: 0x0
dhcp_hdr ciaddr: 202.63.67.36
dhcp_hdr yiaddr: 0.0.0.0
dhcp_hdr siaddr: 172.21.116.42
dhcp_hdr giaddr: 0.0.0.0
dhcp_hdr chaddr: dc:9f:db:28:14:bf (00000000000000000000)
DHO_DHCP_MESSAGE_TYPE: DHCPNAK
DHO_DHCP_SERVER_IDENTIFIER: 202.63.66.1
DHO_END
DHCPNAK on cnmac2 from 0e:a2:00:04:00:03/202.63.66.1 to 
dc:9f:db:28:14:bf/202.63.67.36
deleting nameservers 119.40.106.35 119.40.106.36 (lease from 202.63.66.1 on 
cnmac2)
deleting 202.63.67.36 from cnmac2 (lease from 202.63.66.1)
state_transition[cnmac2] Renewing -> Init, timo: 1
DHCPDISCOVER on cnmac2
deconfigure_interface cnmac2
iface_timeout[3]: Init
state_transition[cnmac2] Init -> Init, timo: 2
DHCPDISCOVER on cnmac2
parse_dhcp, from: 0e:a2:00:04:00:03, to: ff:ff:ff:ff:ff:ff
parse_dhcp: 202.63.66.1:67 -> 255.255.255.255:68
dhcp_hdr op: Boot Reply (2)
dhcp_hdr htype: Ethernet (1)
dhcp_hdr hlen: 6
dhcp_hdr hops: 0
dhcp_hdr xid: 0x66009a6e
dhcp_hdr secs: 0
dhcp_hdr flags: 0x8000
dhcp_hdr ciaddr: 0.0.0.0
dhcp_hdr yiaddr: 202.63.67.36
dhcp_hdr siaddr: 172.21.116.42
dhcp_hdr giaddr: 0.0.0.0
dhcp_hdr chaddr: dc:9f:db:28:14:bf (00000000000000000000)
DHO_DHCP_MESSAGE_TYPE: DHCPOFFER
DHO_SUBNET_MASK: 255.255.254.0
DHO_ROUTER: 202.63.66.1
DHO_DOMAIN_NAME_SERVERS: 119.40.106.35 (1/2)
DHO_DOMAIN_NAME_SERVERS: 119.40.106.36 (2/2)
DHO_42, len: 4
DHO_DHCP_LEASE_TIME 600s
DHO_DHCP_SERVER_IDENTIFIER: 202.63.66.1
DHO_END
DHCPOFFER on cnmac2 from 0e:a2:00:04:00:03/202.63.66.1 to 
ff:ff:ff:ff:ff:ff/255.255.255.255
state_transition[cnmac2] Init -> Requesting, timo: 1
DHCPREQUEST on cnmac2
parse_dhcp, from: 0e:a2:00:04:00:03, to: ff:ff:ff:ff:ff:ff
parse_dhcp: 202.63.66.1:67 -> 255.255.255.255:68
dhcp_hdr op: Boot Reply (2)
dhcp_hdr htype: Ethernet (1)
dhcp_hdr hlen: 6
dhcp_hdr hops: 0
dhcp_hdr xid: 0xfe3d764f
dhcp_hdr secs: 0
dhcp_hdr flags: 0x8000
dhcp_hdr ciaddr: 0.0.0.0
dhcp_hdr yiaddr: 202.63.67.36
dhcp_hdr siaddr: 172.21.116.42
dhcp_hdr giaddr: 0.0.0.0
dhcp_hdr chaddr: dc:9f:db:28:14:bf (00000000000000000000)
DHO_DHCP_MESSAGE_TYPE: DHCPACK
DHO_SUBNET_MASK: 255.255.254.0
DHO_ROUTER: 202.63.66.1
DHO_DOMAIN_NAME_SERVERS: 119.40.106.35 (1/2)
DHO_DOMAIN_NAME_SERVERS: 119.40.106.36 (2/2)
DHO_42, len: 4
DHO_DHCP_LEASE_TIME 600s
DHO_DHCP_SERVER_IDENTIFIER: 202.63.66.1
DHO_END
DHCPACK on cnmac2 from 0e:a2:00:04:00:03/202.63.66.1 to 
ff:ff:ff:ff:ff:ff/255.255.255.255
adding 202.63.67.36 to cnmac2 (lease from 202.63.66.1)
adding nameservers 119.40.106.35 119.40.106.36 (lease from 202.63.66.1 on 
cnmac2)
state_transition[cnmac2] Requesting -> Bound, timo: 300
configure_interface cnmac2
^Cengine exiting
frontend exiting
waiting for children to terminate
terminating
root@sarah log:0# rcctl start dhcpleased   
dhcpleased(ok)

root@sarah ~:0# tcpdump -i cnmac2 -s1500 -w /tmp/dhcp.pcap port 67 or 68 
tcpdump: listening on cnmac2, link-type EN10MB
^C
95637 packets received by filter
0 packets dropped by kernel
root@sarah ~:0# tcpdump -r /tmp/dhcp.pcap                                
tcpdump: WARNING: snaplen raised from 116 to 1500
22:36:40.276682 0.0.0.0.bootpc > 255.255.255.255.bootps:  xid:0x74253f08 
vend-rfc1048 DHCP:REQUEST HN:"sarah" CID:1.220.159.219.40.20.191 
PR:SM+DG+NS+HN+DN+BR+119+121 RQ:202-63-67-36.ip4.superloop.au [tos 0x10]
22:36:40.327371 202-63-66-1.ip4.superloop.au.bootps > 255.255.255.255.bootpc:  
xid:0x74253f08 flags:0x8000 Y:202-63-67-36.ip4.superloop.au S:172.21.116.42 
ether dc:9f:db:28:14:bf vend-rfc1048 DHCP:ACK SM:255.255.254.0 
DG:202-63-66-1.ip4.superloop.au 
NS:resolv1.home.superloop.com,119-40-106-36.ip4.superloop.au 
NTP:ntp.superloop.com LT:600 SID:202-63-66-1.ip4.superloop.au 
CID:1.220.159.219.40.20.191 [tos 0xc0]
22:41:40.422661 202-63-67-36.ip4.superloop.au.56480 > 
202-63-66-1.ip4.superloop.au.bootps: (request) xid:0xa180ce6b 
C:202-63-67-36.ip4.superloop.au vend-rfc1048 DHCP:REQUEST HN:"sarah" 
CID:1.220.159.219.40.20.191 PR:SM+DG+NS+HN+DN+BR+119+121
22:41:40.434534 202-63-66-1.ip4.superloop.au.bootps > 
202-63-67-36.ip4.superloop.au.bootpc:  xid:0xa180ce6b 
C:202-63-67-36.ip4.superloop.au S:172.21.116.42 vend-rfc1048 DHCP:NACK 
SID:202-63-66-1.ip4.superloop.au CID:1.220.159.219.40.20.191 [tos 0xc0]
22:41:40.442012 0.0.0.0.bootpc > 255.255.255.255.bootps:  xid:0x6a13ec33 
vend-rfc1048 DHCP:DISCOVER HN:"sarah" CID:1.220.159.219.40.20.191 
PR:SM+DG+NS+HN+DN+BR+119+121 [tos 0x10]
22:41:41.532272 0.0.0.0.bootpc > 255.255.255.255.bootps:  xid:0x6a13ec33 
vend-rfc1048 DHCP:DISCOVER HN:"sarah" CID:1.220.159.219.40.20.191 
PR:SM+DG+NS+HN+DN+BR+119+121 [tos 0x10]
22:41:41.653804 202-63-66-1.ip4.superloop.au.bootps > 255.255.255.255.bootpc:  
xid:0x6a13ec33 flags:0x8000 Y:202-63-67-36.ip4.superloop.au S:172.21.116.42 
ether dc:9f:db:28:14:bf vend-rfc1048 DHCP:OFFER SM:255.255.254.0 
DG:202-63-66-1.ip4.superloop.au 
NS:resolv1.home.superloop.com,119-40-106-36.ip4.superloop.au 
NTP:ntp.superloop.com LT:600 SID:202-63-66-1.ip4.superloop.au 
CID:1.220.159.219.40.20.191 [tos 0xc0]
22:41:41.658881 0.0.0.0.bootpc > 255.255.255.255.bootps:  xid:0xdafa3da4 
vend-rfc1048 DHCP:REQUEST HN:"sarah" CID:1.220.159.219.40.20.191 
PR:SM+DG+NS+HN+DN+BR+119+121 RQ:202-63-67-36.ip4.superloop.au 
SID:202-63-66-1.ip4.superloop.au [tos 0x10]
22:41:42.414218 202-63-66-1.ip4.superloop.au.bootps > 255.255.255.255.bootpc:  
xid:0xdafa3da4 flags:0x8000 Y:202-63-67-36.ip4.superloop.au S:172.21.116.42 
ether dc:9f:db:28:14:bf vend-rfc1048 DHCP:ACK SM:255.255.254.0 
DG:202-63-66-1.ip4.superloop.au 
NS:resolv1.home.superloop.com,119-40-106-36.ip4.superloop.au 
NTP:ntp.superloop.com LT:600 SID:202-63-66-1.ip4.superloop.au 
CID:1.220.159.219.40.20.191 [tos 0xc0]
22:46:42.512451 202-63-67-36.ip4.superloop.au.63976 > 
202-63-66-1.ip4.superloop.au.bootps: (request) xid:0x953f83f1 
C:202-63-67-36.ip4.superloop.au vend-rfc1048 DHCP:REQUEST HN:"sarah" 
CID:1.220.159.219.40.20.191 PR:SM+DG+NS+HN+DN+BR+119+121
22:46:42.525222 202-63-66-1.ip4.superloop.au.bootps > 
202-63-67-36.ip4.superloop.au.bootpc:  xid:0x953f83f1 
C:202-63-67-36.ip4.superloop.au S:172.21.116.42 vend-rfc1048 DHCP:NACK 
SID:202-63-66-1.ip4.superloop.au CID:1.220.159.219.40.20.191 [tos 0xc0]
22:46:42.531574 0.0.0.0.bootpc > 255.255.255.255.bootps:  xid:0x66009a6e 
vend-rfc1048 DHCP:DISCOVER HN:"sarah" CID:1.220.159.219.40.20.191 
PR:SM+DG+NS+HN+DN+BR+119+121 [tos 0x10]
22:46:43.622162 0.0.0.0.bootpc > 255.255.255.255.bootps:  xid:0x66009a6e 
vend-rfc1048 DHCP:DISCOVER HN:"sarah" CID:1.220.159.219.40.20.191 
PR:SM+DG+NS+HN+DN+BR+119+121 [tos 0x10]
22:46:43.762685 202-63-66-1.ip4.superloop.au.bootps > 255.255.255.255.bootpc:  
xid:0x66009a6e flags:0x8000 Y:202-63-67-36.ip4.superloop.au S:172.21.116.42 
ether dc:9f:db:28:14:bf vend-rfc1048 DHCP:OFFER SM:255.255.254.0 
DG:202-63-66-1.ip4.superloop.au 
NS:resolv1.home.superloop.com,119-40-106-36.ip4.superloop.au 
NTP:ntp.superloop.com LT:600 SID:202-63-66-1.ip4.superloop.au 
CID:1.220.159.219.40.20.191 [tos 0xc0]
22:46:43.768051 0.0.0.0.bootpc > 255.255.255.255.bootps:  xid:0xfe3d764f 
vend-rfc1048 DHCP:REQUEST HN:"sarah" CID:1.220.159.219.40.20.191 
PR:SM+DG+NS+HN+DN+BR+119+121 RQ:202-63-67-36.ip4.superloop.au 
SID:202-63-66-1.ip4.superloop.au [tos 0x10]
22:46:44.526556 202-63-66-1.ip4.superloop.au.bootps > 255.255.255.255.bootpc:  
xid:0xfe3d764f flags:0x8000 Y:202-63-67-36.ip4.superloop.au S:172.21.116.42 
ether dc:9f:db:28:14:bf vend-rfc1048 DHCP:ACK SM:255.255.254.0 
DG:202-63-66-1.ip4.superloop.au 
NS:resolv1.home.superloop.com,119-40-106-36.ip4.superloop.au 
NTP:ntp.superloop.com LT:600 SID:202-63-66-1.ip4.superloop.au 
CID:1.220.159.219.40.20.191 [tos 0xc0]

Reply via email to