Hello
I have recently run into an issue where IPv6 prefix delegation has ceased working on my router. When I enable the IPv6 DHCP client, the status will remain in “requesting…” for a while before finally changing to “error”.
If I enable logging options that will let me see what is going on, it appears that the router does receive an prefix, but for some reason does not acknowledge it, retries a couple of times, then fails. I even reproduced this on another router with an otherwise default configuration. Below is that configuration and the relevant logging in a single code block. I’ve only scrubbed part of the IPv6 address in the logs.
## ROUTEROS CONFIGURATION ##
# nov/02/2018 00:51:19 by RouterOS 6.43.4
/interface bridge
add admin-mac=CC:2D:E0:7B:46:05 auto-mac=no comment=defconf name=bridge
/interface wireless
set [ find default-name=wlan1 ] band=2ghz-b/g/n channel-width=20/40mhz-Ce \
disabled=no distance=indoors frequency=auto mode=ap-bridge ssid=\
MikroTik-7B4607 wireless-protocol=802.11
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip pool
add name=default-dhcp ranges=192.168.88.10-192.168.88.254
/ip dhcp-server
add address-pool=default-dhcp disabled=no interface=bridge name=defconf
/interface bridge port
add bridge=bridge comment=defconf interface=ether2
add bridge=bridge comment=defconf interface=wlan1
/ip neighbor discovery-settings
set discover-interface-list=LAN
/interface list member
add comment=defconf interface=bridge list=LAN
add comment=defconf interface=ether1 list=WAN
/ip address
add address=192.168.88.1/24 comment=defconf interface=bridge network=\
192.168.88.0
/ip dhcp-client
add comment=defconf dhcp-options=hostname,clientid disabled=no interface=ether1
/ip dhcp-server network
add address=192.168.88.0/24 comment=defconf gateway=192.168.88.1
/ip dns
set allow-remote-requests=yes
/ip dns static
add address=192.168.88.1 name=router.lan
/ip firewall filter
add action=accept chain=input comment=\
"defconf: accept established,related,untracked" connection-state=\
established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=\
invalid
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=drop chain=input comment="defconf: drop all not coming from LAN" \
in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept in ipsec policy" \
ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" \
ipsec-policy=out,ipsec
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" \
connection-state=established,related
add action=accept chain=forward comment=\
"defconf: accept established,related, untracked" connection-state=\
established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" connection-state=\
invalid
add action=drop chain=forward comment=\
"defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat \
connection-state=new in-interface-list=WAN
/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" ipsec-policy=\
out,none out-interface-list=WAN
/ipv6 dhcp-client
add add-default-route=yes interface=ether1 pool-name=telstra-pd request=prefix
/ipv6 firewall address-list
add address=::/128 comment="defconf: unspecified address" list=bad_ipv6
add address=::1/128 comment="defconf: lo" list=bad_ipv6
add address=fec0::/10 comment="defconf: site-local" list=bad_ipv6
add address=::ffff:0.0.0.0/96 comment="defconf: ipv4-mapped" list=bad_ipv6
add address=::/96 comment="defconf: ipv4 compat" list=bad_ipv6
add address=100::/64 comment="defconf: discard only " list=bad_ipv6
add address=2001:db8::/32 comment="defconf: documentation" list=bad_ipv6
add address=2001:10::/28 comment="defconf: ORCHID" list=bad_ipv6
add address=3ffe::/16 comment="defconf: 6bone" list=bad_ipv6
add address=::224.0.0.0/100 comment="defconf: other" list=bad_ipv6
add address=::127.0.0.0/104 comment="defconf: other" list=bad_ipv6
add address=::/104 comment="defconf: other" list=bad_ipv6
add address=::255.0.0.0/104 comment="defconf: other" list=bad_ipv6
/ipv6 firewall filter
add action=accept chain=input comment=\
"defconf: accept established,related,untracked" connection-state=\
established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=\
invalid
add action=accept chain=input comment="defconf: accept ICMPv6" protocol=icmpv6
add action=accept chain=input comment="defconf: accept UDP traceroute" port=\
33434-33534 protocol=udp
add action=accept chain=input comment=\
"defconf: accept DHCPv6-Client prefix delegation." dst-port=546 protocol=\
udp src-address=fe80::/16
add action=accept chain=input comment="defconf: accept IKE" dst-port=500,4500 \
protocol=udp
add action=accept chain=input comment="defconf: accept ipsec AH" protocol=\
ipsec-ah
add action=accept chain=input comment="defconf: accept ipsec ESP" protocol=\
ipsec-esp
add action=accept chain=input comment=\
"defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec
add action=drop chain=input comment=\
"defconf: drop everything else not coming from LAN" in-interface-list=!LAN
add action=accept chain=forward comment=\
"defconf: accept established,related,untracked" connection-state=\
established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" connection-state=\
invalid
add action=drop chain=forward comment="defconf: drop packets with bad src ipv6" \
src-address-list=bad_ipv6
add action=drop chain=forward comment="defconf: drop packets with bad dst ipv6" \
dst-address-list=bad_ipv6
add action=drop chain=forward comment="defconf: rfc4890 drop hop-limit=1" \
hop-limit=equal:1 protocol=icmpv6
add action=accept chain=forward comment="defconf: accept ICMPv6" protocol=\
icmpv6
add action=accept chain=forward comment="defconf: accept HIP" protocol=139
add action=accept chain=forward comment="defconf: accept IKE" dst-port=500,4500 \
protocol=udp
add action=accept chain=forward comment="defconf: accept ipsec AH" protocol=\
ipsec-ah
add action=accept chain=forward comment="defconf: accept ipsec ESP" protocol=\
ipsec-esp
add action=accept chain=forward comment=\
"defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec
add action=drop chain=forward comment=\
"defconf: drop everything else not coming from LAN" in-interface-list=!LAN
/system clock
set time-zone-name=Australia/Melbourne
/system logging
add topics=dhcp
/system routerboard settings
set silent-boot=no
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN
## DHCP LOGGING ##
nov/02 00:53:54 dhcp,debug discovering...
nov/02 00:53:54 dhcp,debug,packet send ether1 -> ff02::1:2%6
nov/02 00:53:54 dhcp,debug,packet type: solicit
nov/02 00:53:54 dhcp,debug,packet transaction-id: b90b1e
nov/02 00:53:54 dhcp,debug,packet -> clientid: 00030001 cc2de07b 4604
nov/02 00:53:54 dhcp,debug,packet -> oro: 23
nov/02 00:53:54 dhcp,debug,packet -> elapsed_time: 0
nov/02 00:53:54 dhcp,debug,packet -> rapid_commit: [empty]
nov/02 00:53:54 dhcp,debug,packet -> ia_pd:
nov/02 00:53:54 dhcp,debug,packet t1: 1800
nov/02 00:53:54 dhcp,debug,packet t2: 2880
nov/02 00:53:54 dhcp,debug,packet id: 0x2
nov/02 00:53:54 dhcp,debug,packet recv client: ether1 fe80::3e94:d5ff:fe2c:6015 ->
fe80::ce2d:e0ff:fe7b:4604
nov/02 00:53:54 dhcp,debug,packet type: advertise
nov/02 00:53:54 dhcp,debug,packet transaction-id: b90b1e
nov/02 00:53:54 dhcp,debug,packet -> clientid: 00030001 cc2de07b 4604
nov/02 00:53:54 dhcp,debug,packet -> serverid: 00010001 20dd4deb 00144ffa d708
nov/02 00:53:54 dhcp,debug,packet -> vendor_opts: 00000440 00020030 52553544 55
48746a 4e576f57 414a6d48 536a6c33 2b46792b
nov/02 00:53:54 dhcp,debug,packet 6f455a53 764e7938 77567041 7575334f 74454272 764
2773d
nov/02 00:53:54 dhcp,debug,packet -> ia_pd:
nov/02 00:53:54 dhcp,debug,packet t1: 7101
nov/02 00:53:54 dhcp,debug,packet t2: 11361
nov/02 00:53:54 dhcp,debug,packet id: 0x2
nov/02 00:53:54 dhcp,debug,packet -> ia_prefix:
nov/02 00:53:54 dhcp,debug,packet prefix: 2001:8003:####:####::/56
nov/02 00:53:54 dhcp,debug,packet valid time: 14202
nov/02 00:53:54 dhcp,debug,packet pref. time: 14202
nov/02 00:53:54 dhcp,debug handle advertise
nov/02 00:53:54 dhcp,debug ia_pd 2001:8003:####:####:: recorded
nov/02 00:53:55 dhcp,debug using recorded advertise
nov/02 00:53:55 dhcp,debug,packet send ether1 -> ff02::1:2%6
nov/02 00:53:55 dhcp,debug,packet type: request
nov/02 00:53:55 dhcp,debug,packet transaction-id: 50d410
nov/02 00:53:55 dhcp,debug,packet -> clientid: 00030001 cc2de07b 4604
nov/02 00:53:55 dhcp,debug,packet -> serverid: 00010001 20dd4deb 00144ffa d708
nov/02 00:53:55 dhcp,debug,packet -> oro: 23
nov/02 00:53:55 dhcp,debug,packet -> elapsed_time: 0
nov/02 00:53:55 dhcp,debug,packet -> ia_pd:
nov/02 00:53:55 dhcp,debug,packet t1: 7101
nov/02 00:53:55 dhcp,debug,packet t2: 11361
nov/02 00:53:55 dhcp,debug,packet id: 0x2
nov/02 00:53:55 dhcp,debug,packet -> ia_prefix:
nov/02 00:53:55 dhcp,debug,packet prefix: 2001:8003:####:####::/56
nov/02 00:53:55 dhcp,debug,packet valid time: 14202
nov/02 00:53:55 dhcp,debug,packet pref. time: 14202
nov/02 00:53:56 dhcp,debug resending..
nov/02 00:53:56 dhcp,debug,packet send ether1 -> ff02::1:2%6
nov/02 00:53:56 dhcp,debug,packet type: request
nov/02 00:53:56 dhcp,debug,packet transaction-id: 50d410
nov/02 00:53:56 dhcp,debug,packet -> clientid: 00030001 cc2de07b 4604
nov/02 00:53:56 dhcp,debug,packet -> serverid: 00010001 20dd4deb 00144ffa d708
nov/02 00:53:56 dhcp,debug,packet -> oro: 23
nov/02 00:53:56 dhcp,debug,packet -> elapsed_time: 1
nov/02 00:53:56 dhcp,debug,packet -> ia_pd:
nov/02 00:53:56 dhcp,debug,packet t1: 7101
nov/02 00:53:56 dhcp,debug,packet t2: 11361
nov/02 00:53:56 dhcp,debug,packet id: 0x2
nov/02 00:53:56 dhcp,debug,packet -> ia_prefix:
nov/02 00:53:56 dhcp,debug,packet prefix: 2001:8003:####:####::/56
nov/02 00:53:56 dhcp,debug,packet valid time: 14202
nov/02 00:53:56 dhcp,debug,packet pref. time: 14202
nov/02 00:53:58 dhcp,debug resending..
nov/02 00:53:58 dhcp,debug,packet send ether1 -> ff02::1:2%6
nov/02 00:53:58 dhcp,debug,packet type: request
nov/02 00:53:58 dhcp,debug,packet transaction-id: 50d410
nov/02 00:53:58 dhcp,debug,packet -> clientid: 00030001 cc2de07b 4604
nov/02 00:53:58 dhcp,debug,packet -> serverid: 00010001 20dd4deb 00144ffa d708
nov/02 00:53:58 dhcp,debug,packet -> oro: 23
nov/02 00:53:58 dhcp,debug,packet -> elapsed_time: 3
nov/02 00:53:58 dhcp,debug,packet -> ia_pd:
nov/02 00:53:58 dhcp,debug,packet t1: 7101
nov/02 00:53:58 dhcp,debug,packet t2: 11361
nov/02 00:53:58 dhcp,debug,packet id: 0x2
nov/02 00:53:58 dhcp,debug,packet -> ia_prefix:
nov/02 00:53:58 dhcp,debug,packet prefix: 2001:8003:####:####::/56
nov/02 00:53:58 dhcp,debug,packet valid time: 14202
nov/02 00:53:58 dhcp,debug,packet pref. time: 14202
nov/02 00:54:02 dhcp,debug resending..
nov/02 00:54:02 dhcp,debug,packet send ether1 -> ff02::1:2%6
nov/02 00:54:02 dhcp,debug,packet type: request
nov/02 00:54:02 dhcp,debug,packet transaction-id: 50d410
nov/02 00:54:02 dhcp,debug,packet -> clientid: 00030001 cc2de07b 4604
nov/02 00:54:02 dhcp,debug,packet -> serverid: 00010001 20dd4deb 00144ffa d708
nov/02 00:54:02 dhcp,debug,packet -> oro: 23
nov/02 00:54:02 dhcp,debug,packet -> elapsed_time: 7
nov/02 00:54:02 dhcp,debug,packet -> ia_pd:
nov/02 00:54:02 dhcp,debug,packet t1: 7101
nov/02 00:54:02 dhcp,debug,packet t2: 11361
nov/02 00:54:02 dhcp,debug,packet id: 0x2
nov/02 00:54:02 dhcp,debug,packet -> ia_prefix:
nov/02 00:54:02 dhcp,debug,packet prefix: 2001:8003:####:####::/56
nov/02 00:54:02 dhcp,debug,packet valid time: 14202
nov/02 00:54:02 dhcp,debug,packet pref. time: 14202
nov/02 00:54:10 dhcp,debug resending..
nov/02 00:54:10 dhcp,debug,packet send ether1 -> ff02::1:2%6
nov/02 00:54:10 dhcp,debug,packet type: request
nov/02 00:54:10 dhcp,debug,packet transaction-id: 50d410
nov/02 00:54:10 dhcp,debug,packet -> clientid: 00030001 cc2de07b 4604
nov/02 00:54:10 dhcp,debug,packet -> serverid: 00010001 20dd4deb 00144ffa d708
nov/02 00:54:10 dhcp,debug,packet -> oro: 23
nov/02 00:54:10 dhcp,debug,packet -> elapsed_time: 15
nov/02 00:54:10 dhcp,debug,packet -> ia_pd:
nov/02 00:54:10 dhcp,debug,packet t1: 7101
nov/02 00:54:10 dhcp,debug,packet t2: 11361
nov/02 00:54:10 dhcp,debug,packet id: 0x2
nov/02 00:54:10 dhcp,debug,packet -> ia_prefix:
nov/02 00:54:10 dhcp,debug,packet prefix: 2001:8003:####:####::/56
nov/02 00:54:10 dhcp,debug,packet valid time: 14202
nov/02 00:54:10 dhcp,debug,packet pref. time: 14202
nov/02 00:54:25 dhcp,debug resending..
nov/02 00:54:25 dhcp,debug,packet send ether1 -> ff02::1:2%6
nov/02 00:54:25 dhcp,debug,packet type: request
nov/02 00:54:25 dhcp,debug,packet transaction-id: 50d410
nov/02 00:54:25 dhcp,debug,packet -> clientid: 00030001 cc2de07b 4604
nov/02 00:54:25 dhcp,debug,packet -> serverid: 00010001 20dd4deb 00144ffa d708
nov/02 00:54:25 dhcp,debug,packet -> oro: 23
nov/02 00:54:25 dhcp,debug,packet -> elapsed_time: 30
nov/02 00:54:25 dhcp,debug,packet -> ia_pd:
nov/02 00:54:25 dhcp,debug,packet t1: 7101
nov/02 00:54:25 dhcp,debug,packet t2: 11361
nov/02 00:54:25 dhcp,debug,packet id: 0x2
nov/02 00:54:25 dhcp,debug,packet -> ia_prefix:
nov/02 00:54:25 dhcp,debug,packet prefix: 2001:8003:####:####::/56
nov/02 00:54:25 dhcp,debug,packet valid time: 14202
nov/02 00:54:25 dhcp,debug,packet pref. time: 14202
nov/02 00:54:25 dhcp,debug max retransmit timeout