Named zone rewrite throws Sockets::getServerIPv6: Script error

Niels90

Verified User
Joined
Apr 22, 2016
Messages
17
Dear all,

We are experiencing an issue with DirectAdmin version 1.680 in conjunction with IPv6, specifically when running the following command:


/usr/local/directadmin/directadmin taskq --run "action=rewrite&value=named" --debug 2000
When running this command, we receive the following error:


Sockets::getServerIPv6: Script error:
File /etc/bind/******.db.temp.494401.wzzAE22y7G appears OK to named-checkzone
Although the temporary zone file appears to be OK according to named-checkzone, DirectAdmin seems to generate an error related to Sockets::getServerIPv6. This may indicate a problem retrieving or recognizing the server's IPv6 address during the DNS configuration rewrite.

We haven't observed this behavior before in version 1.679, so it's likely a regression in version 1.680.

Can you please let us know if this is a known issue? If so, is there a solution or temporary workaround available?
 
@Niels90, there are no changes related to the server IPv6 address detection for quite a while. I think it is unlikely to be related to the latest DA release. Please open a support ticket and we will check it out.

You can try debugging the issue manually by checking if the /usr/local/directadmin/scripts/get_main_ip6.sh returns any errors. Example:

Code:
# /usr/local/directadmin/scripts/get_main_ip6.sh && echo success || echo failure
2001:db8::123
success

Note, the extra echo success/failure message here shows if script exited with an error or not.
 
@Niels90, there are no changes related to the server IPv6 address detection for quite a while. I think it is unlikely to be related to the latest DA release. Please open a support ticket and we will check it out.

You can try debugging the issue manually by checking if the /usr/local/directadmin/scripts/get_main_ip6.sh returns any errors. Example:

Code:
# /usr/local/directadmin/scripts/get_main_ip6.sh && echo success || echo failure
2001:db8::123
success

Note, the extra echo success/failure message here shows if script exited with an error or not.

root@web01:~# /usr/local/directadmin/scripts/get_main_ip6.sh && echo success || echo failure
failure
root@web01:~#
 
Try this one to see what is wrong:

Bash:
bash -x /usr/local/directadmin/scripts/get_main_ip6.sh

root@web01:~# bash -x /usr/local/directadmin/scripts/get_main_ip6.sh
++ ip route get to 2001:db8::
++ grep -m 1 -o 'src [0-9a-f:]*'
++ cut -d ' ' -f 2
+ ipv6_addr=
+ '[' -z '' ']'
+ exit 1
 
Your server does not seem to have IPv6 on the network, does it?

Code:
ip -6 add li
?

Code:
ip -6 ro li
?

Bash:
root@web01:~# ip -6 add li
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 2a06:900:201:bb01::951/96 scope global deprecated
       valid_lft forever preferred_lft 0sec
    inet6 2a06:900:201:bb01::896/96 scope global deprecated
       valid_lft forever preferred_lft 0sec
    inet6 2a06:900:201:bb01::596/96 scope global deprecated
       valid_lft forever preferred_lft 0sec
    inet6 2a06:900:201:bb01::521/96 scope global deprecated
       valid_lft forever preferred_lft 0sec
    inet6 2a06:900:201:bb01::496/96 scope global deprecated
       valid_lft forever preferred_lft 0sec
    inet6 2a06:900:201:bb01::141/96 scope global deprecated
       valid_lft forever preferred_lft 0sec
    inet6 fe80::ec4:7aff:fee4:9260/64 scope link
       valid_lft forever preferred_lft forever
root@web01:~# ip -6 ro li
::1 dev lo proto kernel metric 256 pref medium
2a06:900:201:bb01::/96 dev eno1 proto kernel metric 256 pref medium
fe80::/64 dev eno1 proto kernel metric 256 pref medium
default via 2a06:900:201:bb01::1 dev eno1 metric 1024 pref medium
root@web01:~#
 
Back
Top