openwrt / openwrt/packages

ddns-scripts: Fails to determine public IPv6 address since update to OpenWrt 25.12

Open
#28,990 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug release/25.12
Dominant language
Makefile
Stars
4.6k
Forks
4k
Avg merge
3d 12h
Merged PRs (30d)
134

Description

Package Name

ddns-scripts

Maintainer

(@feckert)

OpenWrt Version

25.12.1

OpenWrt Target/Subtarget

mvebu/cortexa9

Steps to Reproduce
  1. Upgraded to OpenWrt 25.12.1 from 24.10.6
  2. Observed that DDNS updates (using the "nsupdate" method) no longer work.
Actual Behaviour

The public IPv6 address is no longer determined correctly:

115038       : Detecting current IP using source: interface
 115038       : #> ip -o -br -js addr show dev 'wan' scope global | /usr/bin/jsonfilter -e '@[0].addr_info[0].local'
 115038       : Current IP 'fd94:2ff5:9671:12::1' detected on interface 'wan'
 115038       : Detected IP: fd94:2ff5:9671:12::1
 115038       : Update needed - L: 'fd94:2ff5:9671:0012:0000:0000:0000:0001' <> R: '2a00:xxxx:xxxx:0e12:0000:0000:0000:0001'
 115039 ERROR : No or private or invalid IP 'fd94:2ff5:9671:0012:0000:0000:0000:0001' given! Please check your configuration

Excerpt from /etc/config/network:

config device
        option name 'wan'
        option macaddr '12:34:56:10:b9:4f'

config interface 'wan'
        option device 'wan'
        option proto 'dhcp'
        option metric '10'

config interface 'wan6'
        option device 'wan'
        option proto 'dhcpv6'
        option reqaddress 'try'
        option reqprefix 'auto'
        option ip6assign '64'
        option metric '10'
        option sourcefilter '0'

Excerpt from ip a:

7: wan@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 12:34:56:10:b9:4f brd ff:ff:ff:ff:ff:ff permaddr 12:34:56:10:b9:4f
    inet 100.112.143.195/16 brd 100.112.255.255 scope global wan
       valid_lft forever preferred_lft forever
    inet6 fd94:2ff5:9671:12::1/64 scope global noprefixroute
       valid_lft forever preferred_lft forever
    inet6 2a00:xxxx:xxxx:e12::1/64 scope global dynamic noprefixroute
       valid_lft 2933sec preferred_lft 2933sec
    inet6 2a00:xxxx:yyyy:47::131e/128 scope global dynamic noprefixroute
       valid_lft 2932sec preferred_lft 2932sec
    inet6 fe80::6034:56ff:fe10:b94f/64 scope link proto kernel_ll
       valid_lft forever preferred_lft forever
Confirmation Checklist

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the ddns-scripts IPv6 address detection path and reproduce the logged interface command against the supplied network configuration and addresses. Done means the public global IPv6 address is selected instead of the private fd94 address and the nsupdate DDNS update succeeds.

Written by the indexing model from the issue text.

Assessment

Domain
networking
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.