Page MenuHomeVyOS Platform

Dynamic DNS doesn't work with IPv6 addresses
Closed, ResolvedPublicFEATURE REQUEST

Description

To reproduce

set service dns dynamic interface eth2 service dynv6 host-name 'xxx'
set service dns dynamic interface eth2 service dynv6 login 'none'
set service dns dynamic interface eth2 service dynv6 password 'p@sssw'
set service dns dynamic interface eth2 service dynv6 protocol 'dyndns2'
set service dns dynamic interface eth2 service dynv6 server 'dynv6.com'

Logs:

Oct 08 17:15:23 r1-roll ddclient[19079]: WARNING:  malformed IPv4 address (fe80::5054:ff:fe31:79b2)
Oct 08 17:16:23 r1-roll ddclient[19324]: WARNING:  malformed IPv4 address (fe80::5054:ff:fe31:79b2)
Oct 08 17:17:23 r1-roll ddclient[19511]: WARNING:  malformed IPv4 address (fe80::5054:ff:fe31:79b2)
Oct 08 17:18:23 r1-roll ddclient[19694]: WARNING:  malformed IPv4 address (fe80::5054:ff:fe31:79b2)
Oct 08 17:19:23 r1-roll ddclient[19877]: WARNING:  malformed IPv4 address (fe80::5054:ff:fe31:79b2)
Oct 08 17:20:23 r1-roll ddclient[20063]: WARNING:  malformed IPv4 address (fe80::5054:ff:fe31:79b2)

The reason is option use of ddclient.conf https://github.com/vyos/vyos-1x/blob/adc7ef387d40e92bd7163ee6b401e99e554394a3/data/templates/dynamic-dns/ddclient.conf.tmpl#L12

# ddclient configuration for interface "eth2"
use=if, if=eth2

For ipv6 should be option usev6 https://desec.readthedocs.io/en/latest/dyndns/configure.html#manual-configuration-other-systems

usev6=if, if=eth2

After changing option:

Oct 08 17:30:42 r1-roll ddclient[22035]: SUCCESS:  updating xxx.dynv6.net: good: IP address set to xxxx:xxxx:71:458::126

Details

Difficulty level
Easy (less than an hour)
Version
VyOS 1.4-rolling-202109300217
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Unspecified (possibly destroys the router)
Issue type
Feature (new functionality)

Event Timeline

Viacheslav renamed this task from Dynamic DNS doesn't work with IPv6 addresses bug. to Dynamic DNS doesn't work with IPv6 addresses.Fri, Oct 8, 3:17 PM
Viacheslav changed Difficulty level from Unknown (require assessment) to Easy (less than an hour).
Viacheslav changed Issue type from Unspecified (please specify) to Feature (new functionality).
Viacheslav changed the subtype of this task from "Bug" to "Feature Request".
Viacheslav changed the task status from Open to In progress.Thu, Oct 21, 5:04 PM

Smoketest can't read configuration file /run/ddclient/ddclient.conf
https://github.com/vyos/vyos-1x/blob/1d89e5196611f06bc1d0f925fc2ac1cb4a5536ec/src/conf_mode/dynamic_dns.py#L134-L135

14:56:49  DEBUG - ======================================================================
14:56:49  DEBUG - ERROR: test_dyndns_ipv6 (__main__.TestServiceDDNS)
14:56:49  DEBUG - ----------------------------------------------------------------------
14:56:49  DEBUG - Traceback (most recent call last):
14:56:49  DEBUG -   File "/usr/libexec/vyos/tests/smoke/cli/test_service_dns_dynamic.py", line 147, in test_dyndns_ipv6
14:56:49  DEBUG -     config = read_file(DDCLIENT_CONF)
14:56:49  DEBUG -   File "/usr/lib/python3/dist-packages/vyos/util.py", line 198, in read_file
14:56:49  DEBUG -     raise e
14:56:49  DEBUG -   File "/usr/lib/python3/dist-packages/vyos/util.py", line 192, in read_file
14:56:49  DEBUG -     with open(fname, 'r') as f:
14:56:49  DEBUG - PermissionError: [Errno 13] Permission denied: '/run/ddclient/ddclient.conf'
14:56:49  DEBUG - 
14:56:49  DEBUG - ----------------------------------------------------------------------
14:56:49  DEBUG - Ran 3 tests in 28.040s
14:56:49  DEBUG - 
14:56:49  DEBUG - FAILED (errors=1)
Viacheslav moved this task from Need Triage to Finished on the VyOS 1.4 Sagitta board.