still ipv6 notify problems with dhcp v6 server to clients

Issue #92 closed
TheHiman created an issue

Actualy there is still a major problem with not notify v6 clients in case the dynamic WAN v6 prefixes have changed.

When a configuration change is made at the router and then PPPoE Sessions is restartet the WAN interface got new prefixes dynamicly assigned. The problem is that all clients are not known about this changes and still using outdated v6 and temporary v6 addresses from previous assignment until they expire. So ipv6 becomes a blackhole for any windows machines.

The only solution at the moment is to manualy replug the network cable or disable/reenable the interface on the windows machine.
The main problem comes up every 24 hours when ISPs assigns new v4/v6 prefixes by forcement.

Actualy one solution is to assign an insane small lease time for ipv6 of a 1 minute. but there are still outtages because of missing active notification from the server to the clients that external prefixes have changed.

We should check the available options for such an option by eventually using odhcp6 or another daemon which is capable of active notify the clients in case of WAN v6 prefix changes ?

Comments (14)

  1. TheHiman reporter

    here are some more infos:

    https://tools.ietf.org/html/rfc3315
    and here:
    https://tools.ietf.org/id/draft-wing-behave-dhcpv6-reconfigure-01.html

    The missing server-option is: “RECONFIGURE”.

    We need to send out RECONFIGURE messages from the dhcp6 server to all clients at every WAN-ip changes, then we have fixed this issue.
    I´am not sure if dnsmasq actualy can provide this information? odhcp6, as i know, can handle this options when correctly configured.

  2. M_ars

    how does it look like on your side? the clients (android/apple/windows/…) follow the change. What clients do you have?

    Example for an VDSL2 line, disconnected by night

    Jan 13 03:48:45 Tomato daemon.info pppd[1001]: No response to 5 echo-requests
    Jan 13 03:48:45 Tomato daemon.notice pppd[1001]: Serial link appears to be disconnected.
    Jan 13 03:48:45 Tomato daemon.info pppd[1001]: Connect time 19055.0 minutes.
    ...
    Jan 13 03:48:45 Tomato daemon.err dhcp6c[1026]: client6_send: transmit failed: Network is unreachable
    ...
    Jan 13 03:48:45 Tomato daemon.info dnsmasq-dhcp[1118]: router advertisement on 2003:f0:xxxx:aaaa::, old prefix for br0
    ...
    Jan 13 03:48:51 Tomato daemon.notice pppd[1001]: Connection terminated.
    Jan 13 03:48:51 Tomato daemon.info pppd[1001]: Sent PADT
    Jan 13 03:48:51 Tomato daemon.notice pppd[1001]: Modem hangup
    ...
    Jan 13 03:49:49 Tomato daemon.info pppd[23934]: RP-PPPoE plugin version 3.14 compiled against pppd 2.4.7
    Jan 13 03:49:49 Tomato user.info redial[23936]: Redial (wan) started, the check interval is 20 seconds
    Jan 13 03:49:49 Tomato daemon.notice pppd[23935]: pppd 2.4.7 started by root, uid 0
    Jan 13 03:49:54 Tomato daemon.info pppd[23935]: PPP session is 1234 (0x5678)
    ...
    Jan 13 03:49:58 Tomato daemon.info dnsmasq-dhcp[1118]: router advertisement on 2003:f0:xxxx:bbbb::, old prefix for br0
    Jan 13 03:49:58 Tomato daemon.info dnsmasq-dhcp[1118]: DHCPv6, IP range 2003:f0:xxxx:bbbb::2 -- 2003:f0:xxxx:bbbb::ffff:ffff, lease time 10d, constructed for br0
    Jan 13 03:49:58 Tomato daemon.info dnsmasq-dhcp[1118]: DHCPv4-derived IPv6 names on 2003:f0:xxxx:bbbb::, constructed for br0
    Jan 13 03:49:58 Tomato daemon.info dnsmasq-dhcp[1118]: router advertisement on 2003:f0:xxxx:bbbb::, constructed for br0
    ...
    here we go again ...
    

  3. TheHiman reporter

    actualy i have android 8-10 in use and some contracted windows7/server2008 devices here which gets no updates.
    have you the chance to recheck with win7, too on your side ?
    on one Win10 Device i had the same issues. maybe i need some more manual configuration options at the dhcp/dnsmasq parts ?

    The loginfo your posted i got, too - but my clients got no updates on the fly in my case…

  4. M_ars

    yes, i can confirm, the clients do not follow instantly for ipv6 if the global address changes. after some time they detect that they need to adjust the configuration.

    What configuration for ipv6 do you use? SLAAC and DHCP? Can you try only SLAAC and add to custom config (you can play with poll time)

    # Ask client to poll for option changes every XX hours. (RFC4242)
    dhcp-option=option6:information-refresh-time,1h
    

  5. TheHiman reporter

    so far actualy no problems. external changes are now really fast updated internaly on win7 machines.
    It looks much much better as before.

  6. TheHiman reporter

    there still problems with updates when the disconnection is pppoe protocol based and initiated by the ISP. So there is a different handling when manually connect/disconnect/reboot or plug out/in WAN port. We should check “soft” reloading in case the ISP disconnect by PADx Protokoll Frames on the fly and reestablish the same way.

  7. M_ars

    disable/re-enable the interface on the windows (7) machine helps right ? if that is the case, all needed infos for ipv6 connectivity are available basicly

  8. TheHiman reporter

    this plugin/out is the only way to update the v6 parts actualy. but receiving the new ips on the fly is more useful…

    as i stated before: there is a different handling in updating when the provider reinitiate the session via running session by PADx commands,
    instead use hard restart/reloads/manual triggerung or other methods. Using this methods works asap on the fly. the only thing what is
    not working is reinitate the ip set in a running session by protocol termination without restart/reload the local pppoe client the hard way.

    Actualy it looks like renewing v6 IPs is only working by dhcp timeout and not by “pushing” interactivate RA session updates.
    Sometimes it works very fast, sometimes only with huge timeouts. But absolutely not verry reliable…

  9. Log in to comment