ddns is broken

e9hack e9hack at gmail.com
Wed Oct 28 10:10:59 EDT 2020


This is my ddns configuration:

config ddns 'global'
	option ddns_dateformat '%F %R'
	option ddns_loglines '250'
	option upd_privateip '0'

config service 'dynv6_ipv4'
	option enabled '1'
	option service_name 'dynv6.com'
	option lookup_host 'xxxxxxx.dynv6.net'
	option domain 'xxxxxxx.dynv6.net'
	option password 'xxxxxxx'
	option interface 'wan'
	option ip_source 'network'
	option ip_network 'wan'
	option force_unit 'hours'
	option force_interval '12'
	option check_unit 'minutes'
	option check_interval '1'
	option use_https '1'
	option use_syslog '3'

config service 'dynv6_ipv6'
	option enabled '1'
	option service_name 'dynv6.com'
	option lookup_host 'xxxxxxx.dynv6.net'
	option domain 'xxxxxxx.dynv6.net'
	option password 'xxxxxxx'
	option use_ipv6 '1'
	option interface 'wan_6'
	option ip_source 'network'
	option ip_network 'wan_6'
	option force_unit 'hours'
	option force_interval '12'
	option check_unit 'minutes'
	option check_interval '1'
	option use_https '1'
	option use_syslog '3'

config service 'do_de_ipv4'
	option enabled '1'
	option service_name 'do.de'
	option lookup_host 'xxxxxxx.net'
	option domain 'xxxxxxx.net'
	option username 'xxxxxxx'
	option password 'xxxxxxx'
	option interface 'wan'
	option ip_source 'network'
	option ip_network 'wan'
	option force_unit 'hours'
	option force_interval '12'
	option check_unit 'minutes'
	option check_interval '1'
	option use_https '1'
	option use_syslog '3'

config service 'do_de_ipv6'
	option enabled '1'
	option service_name 'do.de'
	option lookup_host 'xxxxxxx.net'
	option domain 'xxxxxxx.net'
	option username 'xxxxxxx'
	option password 'xxxxxxx'
	option use_ipv6 '1'
	option interface 'wan_6'
	option ip_source 'network'
	option ip_network 'wan_6'
	option force_unit 'hours'
	option force_interval '12'
	option check_unit 'minutes'
	option check_interval '1'
	option use_https '1'
	option use_syslog '3'

wan part from /etc/config/network:

config interface 'wan'
	option ifname 'eth0.7'
	option proto 'pppoe'
	option username 'xxxxxxx at t-online.de'
	option password 'xxxxxxx'
	option keepalive '10 5'
	option pppd_options 'debug'
	option persist '1'
	option maxfail '50'
	option holdoff '5'

Output from ifstatus:

root at xxxxxxx:~# ifstatus wan
{
        "up": true,
        "pending": false,
        "available": true,
        "autostart": true,
        "dynamic": false,
        "uptime": 61194,
        "l3_device": "pppoe-wan",
        "proto": "pppoe",
        "device": "eth0.7",
        ....
}

root at xxxxxxx:~# ifstatus wan_6
{
        "up": true,
        "pending": false,
        "available": true,
        "autostart": true,
        "dynamic": true,
        "uptime": 61273,
        "l3_device": "pppoe-wan",
        "proto": "dhcpv6",
        "device": "pppoe-wan",
        ....
}

IPv4 address isn't update with mentioned commit. If I run ps, I see the following line (for the other provider too):

/usr/bin/curl -RsS -o /var/run/ddns/dynv6_ipv4.dat --stderr /var/run/ddns/dynv6_ipv4.err --interface eth0.7 --noproxy * https://dynv6.com/api/update?hostname=xxxxxxx.dynv6.net&token=xxxxxxx&ipv4=84.x.x.x

ifconfig shows for wan related interfaces:

eth0.7    Link encap:Ethernet  HWaddr aa:aa:aa:aa:aa:aa
          inet6 addr: fe80::yyyy:yyyy:yyyy:yyyy/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:726 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1011 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:208298 (203.4 KiB)  TX bytes:137320 (134.1 KiB)

pppoe-wan Link encap:Point-to-Point Protocol
          inet addr:84.x.x.x  P-t-P:62.y.y.y  Mask:255.255.255.255
          inet6 addr: 2003:dddd:dddd:dddd:dddd:dddd:dddd:dddd/64 Scope:Global
          inet6 addr: fe80::eeee:eeee:eeee:eeee/128 Scope:Link
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:708 errors:0 dropped:0 overruns:0 frame:0
          TX packets:863 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:201778 (197.0 KiB)  TX bytes:111796 (109.1 KiB)

Regards,
Hartmut

Am 27.10.2020 um 22:01 schrieb Joel Johnson:
> I have IPv4 and IPv6 native DDNS working with a couple of different providers, thus the original commit. Would you be able to share a sanitized version of your service configuration section? I'm not using PPPoE which may be the related difference, "ifstatus wan | grep l3" returns "br-wan" for me for both wan and wan6.
> 
> Joel
> 
> On 2020-10-25 15:49, e9hack wrote:
>> Hi,
>>
>> ifstatus reports for wan
>> "l3_device": "pppoe-wan"
>> "device": "eth0.7"
>>
>> and for wan_6
>> "l3_device": "pppoe-wan"
>> "device": "pppoe-wan"
>>
>> I think, ddns is broken to extract the proper interface. For ipv4, I
>> see with ps a running curl request with interface eth0.7.
>>
>> Regards,
>> Hartmut
>>
>>
>> Am 25.10.2020 um 22:20 schrieb Ansuel Smith:
>>> Now I can't understand why for ipv6 works and is broken for ipv4. Any idea?
>>>
>>> Il giorno dom 25 ott 2020 alle ore 22:17 e9hack <e9hack at gmail.com> ha scritto:
>>>>
>>>> Hi,
>>>>
>>>> commit 5b362932a7df5ce44ca3a8f4cf1d2b225ca8d5ae
>>>> ddns-scripts: use ip_source as bind_network default
>>>>
>>>> breaks ddns for ipv4, if pppoe is used for wan access. This commit sets eth0.7 as interface for curl in my case. The correct interface is pppoe-wan. For ipv6 the correct interface is set. Usually it isn't necessary to define an interface, because the correct interface is select automatically by the routing entry for the update ip address.
>>>>
>>>> It looks like there is more wrong after the last major update. After start of ddns, ddns waits for the check interval till the first update. Previously it was done immediately.
>>>>
>>>> Regards,
>>>> Hartmut
>>>>
>>>> _______________________________________________
>>>> openwrt-devel mailing list
>>>> openwrt-devel at lists.openwrt.org
>>>> https://lists.openwrt.org/mailman/listinfo/openwrt-devel




More information about the openwrt-devel mailing list