<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>54262</bug_id>
          
          <creation_ts>2025-05-14 15:42:36 +0300</creation_ts>
          <short_desc>samba-winbind-dnsupdate: Некорректное считывание IPv4-адреса из вывода `dig` при недоступности DC по IPv6</short_desc>
          <delta_ts>2025-08-25 16:35:41 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>samba-winbind-dnsupdate</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugzilla.altlinux.org/show_bug.cgi?id=55254</see_also>
    
    <see_also>https://bugzilla.altlinux.org/show_bug.cgi?id=43863</see_also>
    
    <see_also>https://bugzilla.altlinux.org/show_bug.cgi?id=54307</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Evgeny Shesteperov">alimektor</reporter>
          <assigned_to name="Andrey Limachko">liannnix</assigned_to>
          <cc>liannnix</cc>
    
    <cc>varaksaaa</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>264748</commentid>
    <comment_count>0</comment_count>
    <who name="Evgeny Shesteperov">alimektor</who>
    <bug_when>2025-05-14 15:42:36 +0300</bug_when>
    <thetext>Версия

-   bind-utils-9.18.34-alt1
-   samba-winbind-dnsupdate-0.7.1-alt1

Шаги воспроизведения

1.  Создать Samba-домен, добавить записи PTR для IPv4.

2.  Выполнить:

        # winbind-dnsupdate

Ожидаемый результат: успешное обновление DNS.

Фактический результат: неверно парсится адрес IPv4 в команде dig.

    [INFO]: Hostname: work.samba.testdomain.
    [INFO]: Check winbind status.
    [INFO]: Winbind is running. Continue.
    [INFO]: Trying to get the site name.
    [INFO]: Site: Default-First-Site-Name.
    [INFO]: Get host credentials.
    [INFO]: Retrieving host credentials successfully.
    [INFO]: Trying to get a list of domain controllers in site.
    [INFO]: Success.
    [INFO]: Trying to find an available DNS server.
    [INFO]: Checking the availability of DNS server on dc.samba.testdomain..
    [INFO]: DNS server on dc.samba.testdomain. available.
    [INFO]: Update IPv4.
    [INFO]: Trying to get IPv4 address of a domain controller.
    [INFO]: Successful. DC info:
    [INFO]: Domain controller name: dc.samba.testdomain.
    [INFO]: Domain controller IPv4: refused
    refused
    refused
    &lt;IPv4&gt;.
    [INFO]: Trying parse connection interface name.
    Error: any valid prefix is expected rather than &quot;refused
    refused
    refused
    &lt;IPv4&gt;&quot;.
    [WARNING]: Ip route error: .

Вижу проблему в команде dig:

    # dig -t &quot;A&quot; &quot;dc.samba.testdomain&quot; @&quot;dc.samba.testdomain&quot; +short
    ;; communications error to &lt;IPv6&gt;#53: connection refused
    ;; communications error to &lt;IPv6&gt;#53: connection refused
    ;; communications error to &lt;IPv6&gt;#53: connection refused
    &lt;IPv4&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270552</commentid>
    <comment_count>1</comment_count>
    <who name="Artem Varaksa">varaksaaa</who>
    <bug_when>2025-08-06 18:46:27 +0300</bug_when>
    <thetext>Также столкнулся с данной проблемой. Подробнее:


Шаги
====

1. Развернуть Samba DC (ALT Server 11.0 x86_64 minimal).

При этом в /etc/samba/smb.conf:

&gt;    interfaces = &lt;dc-ipv4&gt; 127.0.0.1
&gt;    bind interfaces only = yes

2. Ввести клиентов (ALT Workstation, Workstation K, Education (KDE), Education (XFCE) 11.0 x86_64) с помощью Winbind.

3. На клиенте: # bash -x winbind-dnsupdate


Фактический результат
=====================

Целевой IPv4-адрес (для примера 11.12.13.14) считывается некорректно:

&gt; ++++ dig -t A dc.samba.testdomain @dc.samba.testdomain +short
&gt; +++ out=&apos;;; communications error to &lt;dc-ipv6&gt;#53: connection refused
&gt; ;; communications error to &lt;dc-ipv6&gt;#53: timed out
&gt; ;; communications error to &lt;dc-ipv6&gt;#53: connection refused
&gt; 11.12.13.14&apos;
&gt; ++++ awk &apos;-F &apos; &apos;{print $NF}&apos;
&gt; +++ ip=&apos;refused
&gt; out
&gt; refused
&gt; 11.12.13.14&apos;

&gt; [INFO]: Domain controller IPv4: refused
&gt; out
&gt; refused
&gt; 11.12.13.14.
&gt; [INFO]: Trying parse connection interface name.
&gt; +++ ip route get dport 389 &apos;refused
&gt; out
&gt; refused
&gt; 11.12.13.14&apos;
&gt; Error: any valid prefix is expected rather than &quot;refused
&gt; out
&gt; refused
&gt; 11.12.13.14&quot;.
&gt; [WARNING]: Ip route error: .
&gt; ++ return 1
&gt; + connect_iface=


Ожидаемый результат
===================

Корректное определение IPv4-адреса вне зависимости от наличия (некритичных) ошибок.


Дополнительно
=============

Было обнаружено в связи с выполнением workaround https://bugzilla.altlinux.org/show_bug.cgi?id=43863#c6, из-за которого DC по IPv6 недоступен (не слушает на нём; слушает только на IPv4).

При этом (см. https://bugzilla.altlinux.org/show_bug.cgi?id=55254#c9) internal DNS Samba DC всё равно отвечает свой IPv6-адрес.

Т. к. выполняется `# dig -t A dc.samba.testdomain @dc.samba.testdomain +short`, то сначала выполняются A/AAAA запросы к настроенному DNS об адресе `dc.samba.testdomain` (исходя из параметра `@dc.samba.testdomain`), откуда он и узнаёт IPv6-адрес DC DNS (в /etc/resolv.conf указан только IPv4), а потом уже по найденным IP-адресам выполняются DC-запросы цели `-t A dc.samba.testdomain`:

&gt; # apt-get install -y tshark
&gt; # tshark -f &apos;udp port 53&apos;
&gt; Running as user &quot;root&quot; and group &quot;root&quot;. This could be dangerous.
&gt; Capturing on &apos;ens19&apos;
&gt; ^Z
&gt; [1]+  Остановлен    tshark -f &apos;udp port 53&apos;
&gt; # dig -t A dc.samba.testdomain @dc.samba.testdomain +short
&gt; ;; communications error to &lt;dc-ipv6&gt;#53: connection refused
&gt; ;; communications error to &lt;dc-ipv6&gt;#53: connection refused
&gt; ;; communications error to &lt;dc-ipv6&gt;#53: connection refused
&gt; 11.12.13.14
&gt; # fg
&gt; tshark -f &apos;udp port 53&apos;
&gt;     1 0.000000000 &lt;client-ipv4&gt; → 11.12.13.14 DNS 79 Standard query 0xece7 A dc.samba.testdomain
&gt;     2 0.000014600 &lt;client-ipv4&gt; → 11.12.13.14 DNS 79 Standard query 0x4dea AAAA dc.samba.testdomain
&gt;     3 0.001841126 11.12.13.14 → &lt;client-ipv4&gt; DNS 154 Standard query response 0x4dea AAAA dc.samba.testdomain AAAA &lt;dc-ipv6&gt; SOA dc.samba.testdomain
&gt;     4 0.001841306 11.12.13.14 → &lt;client-ipv4&gt; DNS 142 Standard query response 0xece7 A dc.samba.testdomain A 11.12.13.14 SOA dc.samba.testdomain
&gt;     5 0.003885318 &lt;client-ipv6&gt; → &lt;dc-ipv6&gt; DNS 122 Standard query 0x320b A dc.samba.testdomain OPT
&gt;     6 0.004676707 &lt;client-ipv6&gt; → &lt;dc-ipv6&gt; DNS 122 Standard query 0x320b A dc.samba.testdomain OPT
&gt;     7 0.004863977 &lt;client-ipv6&gt; → &lt;dc-ipv6&gt; DNS 122 Standard query 0x320b A dc.samba.testdomain OPT
&gt;     8 0.005030542 &lt;client-ipv4&gt; → 11.12.13.14 DNS 102 Standard query 0x320b A dc.samba.testdomain OPT
&gt;     9 0.005480418 11.12.13.14 → &lt;client-ipv4&gt; DNS 142 Standard query response 0x320b A dc.samba.testdomain A 11.12.13.14 SOA dc.samba.testdomain
&gt; ^C9 packets captured

Воспроизводимость
=================

Воспроизводится на виртуальных машинах:

[sisyphus]
samba-4.21.7-alt3.x86_64
bind-utils-9.18.38-alt1.x86_64
samba-winbind-dnsupdate-0.7.1-alt1.noarch

[p11+387440.6]
samba-4.21.7-alt3.x86_64
bind-utils-9.18.37-alt1.x86_64
samba-winbind-dnsupdate-0.7.1-alt1.noarch

[p11]
samba-4.20.8-alt2.x86_64
bind-utils-9.18.37-alt1.x86_64
samba-winbind-dnsupdate-0.7.1-alt1.noarch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271361</commentid>
    <comment_count>2</comment_count>
    <who name="Artem Varaksa">varaksaaa</who>
    <bug_when>2025-08-25 16:35:41 +0300</bug_when>
    <thetext>Недоступность DNS DC по IPv6 также может быть вызвана ошибкой https://bugzilla.altlinux.org/54307, если используется BIND9_DLZ</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>