Possible issue with Dynamic DNS and PPPoE in pfSense v2.4.5


  • I'd like to report a problem I am having using the Dynamic DNS client in pfSense v2.4.5 (amd64) on a Intel Core i3-8350K. I have created an account with freedns and have setup a "freeDNS" service in the Dynamic DNS Clients section of pfSense and it all works correctly and I get green in the cached IP area to indicate the IP address was updated. I also setup a "freeDNS (v6)" service in the same section and have verified freeDNS can works correctly for IPv6 by using their web pages and sample scripts at https://freedns.afraid.org/dynamic/. The pfSense system logs reports the following in the System Logs when I try to do a save and force update: services_dyndns_edit.php: Dynamic DNS () There was an error trying to determine the public IP for interface - wan (pppoe0 ). Notice the space after pppoe0 in the log. My internet connection is a fibre connection with my local ISP called Eir here in Ireland and it is a PPPoE IPv4 configuration in my WAN setting in pfSense and DHCPv6 for IPv6 Configuration Type. The WAN connection is itself a PPP connection with link Type set to PPPoE and the Link Interface set to "igb0.10 - VLAN 10 for Eir FTTH". Finally I have a VLAN setup in pfSense on my "igb0" NIC which tags all the traffic on the WAN connection with a VLAN tag of 10 which is required for Eir. Finally the WAN Interface is reported as for example "fe80::20a:cdff:fe27:aee9%pppoe0" in the Interfaces section of pfSense. Note the suffix of "%pppoe0". I suspect that because of my unusual PPPoE and VLAN setup that this is causing problems for the if (!is_ipaddr($this->_dnsIP)) code in dyndns.class in pfSense. I think the $this->_dnsIP parameter in the pfSense dyndns.class code is somehow ending up as an empty string on my setup. If I change the interface to monitor to my "LAN" interface in the freeDNS (v6) service, then the IPv6 Dynamic DNS update using freeDNS (v6) all works perfectly but of course this now is publishing an internal LAN IPv6 address of mine which is incorrect. I have also got this problem to occur with another IPv6 Dynamic DNS client such as DuckDNS when using a "Custom (v6)" client in pfSense. This suggests to me that it looks like a generic problem with Dynamic DNS in pfSense when using with a PPPoE WAN connection. I am somewhat knowledgeable with networks but not so much with Unix / FreeBSD etc but can run any tests required to confirm this is a real issue with pfSense. I hope you can help to fix this issue with your wonderful pfSense product.

    Regards,
    PJ Naughter


  • So it's just the IPv6 that it's not working? It's unclear from the title.
    I cannot help because I have Dynamic DNS and PPOE but only for IPv4.
    Anyway looking at all my internal interfaces, IPv6 from "IPv6 Link Local" in status interfaces, it ends with %vmx1 or %vmx2 which are the physical interface names (I'm on vmware), so I guess %pppoe0 in your case should be fine..


  • Yes it is definitely only IPv6 which does not work and as I reported if I tell it to monitor the LAN address it reports the internal IPv6 address correctly, so there is some definite issue in pfSense when somehow dealing with a IPv6 WAN address at least in my scenario. As I also said the problem occurs with other providers also.