Jump to content

Question

Posted (edited)

Если DNS запрос поступает от локального клиента и апстрим возвращает ошибку, то DNS сервер (ndnproxy) не возвращает ответ клиенту.
Проверялось с 4.3.2, 5.0 Alpha 3

Воспроизводится, если запрос идет от 127.0.0.1 и апстрим возвращает - SERVFAIL, NXDOMAIN, REFUSED.
Если запрос поступает с любого другого IP (127.0.0.2, 78.47.125.180, 192.168.1.1), то сервер (ndnproxy) возвращает ответ.

Можно воспроизвести, если установить 1.1.1.1:53 в качестве апстрим DNS (через системный профиль, либо у ethernet подключения) и запрашивая домены - ftp.ru.debian.org, www.rshb.ru
Либо любой несуществующий домен, чтобы был ответ NXDOMAIN.
PS. Некоторые NS серверы заблокировали подключения из вне (РФ) и забанили Cloudflare. CF для примера и воспроизведения (возвращает SERVFAIL для указанных доменов).

Проверялось на чистом entware. Дополнительно с тестовым сервером в локальной сети, для определения кодов ошибок.

Примеры dig + tcpdump:

Spoiler
# dig -b 127.0.0.1 @127.0.0.1 ftp.ru.debian.org
# Нет ответа

22:45:10.178884 lo    In  IP localhost.55777 > localhost.domain: 50626+ [1au] A? ftp.ru.debian.org. (58)
22:45:10.179291 eth3  Out IP my.external.ip.58415 > one.one.one.one.domain: 15812+ [1au] A? ftp.ru.debian.org. (58)
22:45:10.181861 eth3  In  IP one.one.one.one.domain > my.external.ip.58415: 15812 ServFail 0/0/1 (75)

# dig -b 127.0.0.2 @127.0.0.1 ftp.ru.debian.org
# Есть ответ (refused)

22:45:44.111476 lo    In  IP 127.0.0.2.58388 > localhost.domain: 11738+ [1au] A? ftp.ru.debian.org. (58)
22:45:44.111846 eth3  Out IP my.external.ip.56846 > one.one.one.one.domain: 30503+ [1au] A? ftp.ru.debian.org. (58)
22:45:44.114737 eth3  In  IP one.one.one.one.domain > my.external.ip.56846: 30503 ServFail 0/0/1 (75)
22:45:44.114874 lo    In  IP localhost.domain > 127.0.0.2.58388: 11738 Refused$ 0/0/1 (58)

# dig -b 192.168.1.1 @127.0.0.1 ftp.ru.debian.org
# Есть ответ (refused)

22:46:40.306098 lo    In  IP 192.168.1.1.56225 > localhost.domain: 29043+ [1au] A? ftp.ru.debian.org. (58)
22:46:40.306494 eth3  Out IP my.external.ip.55991 > one.one.one.one.domain: 50692+ [1au] A? ftp.ru.debian.org. (58)
22:46:40.309821 eth3  In  IP one.one.one.one.domain > my.external.ip.55991: 50692 ServFail 0/0/1 (75)
22:46:40.310054 lo    In  IP localhost.domain > 192.168.1.1.56225: 29043 Refused$ 0/0/1 (58)

# dig -b 78.47.125.180 @78.47.125.180 ftp.ru.debian.org
# Есть ответ (refused)

23:13:30.107835 lo    In  IP my.keenetic.net.51598 > my.keenetic.net.domain: 25083+ [1au] A? ftp.ru.debian.org. (58)
23:13:30.108214 eth3  Out IP my.external.ip.57581 > one.one.one.one.domain: 11974+ [1au] A? ftp.ru.debian.org. (58)
23:13:30.111954 eth3  In  IP one.one.one.one.domain > my.external.ip.57581: 11974 ServFail 0/0/1 (75)
23:13:30.112104 lo    In  IP my.keenetic.net.domain > my.keenetic.net.51598: 25083 Refused$ 0/0/1 (58)

 

self-test в следующем сообщении (5.0 Alpha 3).

Edited by dchusovitin

3 answers to this question

Recommended Posts

  • 0
Posted (edited)
22 минуты назад, dchusovitin сказал:

Если DNS запрос поступает от локального клиента и апстрим возвращает ошибку, то DNS сервер (ndnproxy) не возвращает ответ клиенту.
Проверялось с 4.3.2, 5.0 Alpha 3

Воспроизводится, если запрос идет от 127.0.0.1 и апстрим возвращает - SERVFAIL, NXDOMAIN, REFUSED.
Если запрос поступает с любого другого IP (127.0.0.2, 78.47.125.180, 192.168.1.1), то сервер (ndnproxy) возвращает ответ.

Можно воспроизвести, если установить 1.1.1.1:53 в качестве апстрим DNS и запрашивая домены - ftp.ru.debian.org, www.rshb.ru

Проверялось на чистом entware. Дополнительно с тестовым сервером в локальной сети, для определения кодов ошибок.

Примеры dig + tcpdump:

  Скрыть контент
# dig -b 127.0.0.1 @127.0.0.1 ftp.ru.debian.org
# Нет ответа

22:45:10.178884 lo    In  IP localhost.55777 > localhost.domain: 50626+ [1au] A? ftp.ru.debian.org. (58)
22:45:10.179291 eth3  Out IP my.external.ip.58415 > one.one.one.one.domain: 15812+ [1au] A? ftp.ru.debian.org. (58)
22:45:10.181861 eth3  In  IP one.one.one.one.domain > my.external.ip.58415: 15812 ServFail 0/0/1 (75)

# dig -b 127.0.0.2 @127.0.0.1 ftp.ru.debian.org
# Есть ответ (refused)

22:45:44.111476 lo    In  IP 127.0.0.2.58388 > localhost.domain: 11738+ [1au] A? ftp.ru.debian.org. (58)
22:45:44.111846 eth3  Out IP my.external.ip.56846 > one.one.one.one.domain: 30503+ [1au] A? ftp.ru.debian.org. (58)
22:45:44.114737 eth3  In  IP one.one.one.one.domain > my.external.ip.56846: 30503 ServFail 0/0/1 (75)
22:45:44.114874 lo    In  IP localhost.domain > 127.0.0.2.58388: 11738 Refused$ 0/0/1 (58)

# dig -b 192.168.1.1 @127.0.0.1 ftp.ru.debian.org
# Есть ответ (refused)

22:46:40.306098 lo    In  IP 192.168.1.1.56225 > localhost.domain: 29043+ [1au] A? ftp.ru.debian.org. (58)
22:46:40.306494 eth3  Out IP my.external.ip.55991 > one.one.one.one.domain: 50692+ [1au] A? ftp.ru.debian.org. (58)
22:46:40.309821 eth3  In  IP one.one.one.one.domain > my.external.ip.55991: 50692 ServFail 0/0/1 (75)
22:46:40.310054 lo    In  IP localhost.domain > 192.168.1.1.56225: 29043 Refused$ 0/0/1 (58)

# dig -b 78.47.125.180 @78.47.125.180 ftp.ru.debian.org
# Есть ответ (refused)

23:13:30.107835 lo    In  IP my.keenetic.net.51598 > my.keenetic.net.domain: 25083+ [1au] A? ftp.ru.debian.org. (58)
23:13:30.108214 eth3  Out IP my.external.ip.57581 > one.one.one.one.domain: 11974+ [1au] A? ftp.ru.debian.org. (58)
23:13:30.111954 eth3  In  IP one.one.one.one.domain > my.external.ip.57581: 11974 ServFail 0/0/1 (75)
23:13:30.112104 lo    In  IP my.keenetic.net.domain > my.keenetic.net.51598: 25083 Refused$ 0/0/1 (58)

 

self-test в следующем сообщении (5.0 Alpha 3).

я так понимаю вы это наблюдаете со включенным opkg dns-override


если обратить внимание на show dns-proxy то можно увидеть что в этом режиме включается 
rpc_only = on


а если отключить, то уже видим
dns_tcp_port = 53
dns_udp_port = 53
 

Edited by Denis P
  • 0
Posted
7 minutes ago, Denis P said:

я так понимаю вы это наблюдаете со включенным opkg dns-override

Без dns-override. Тут на 5 раз все перепроверял, плюс в чистом окружении. Даже через strace смотрел за процессом ndnproxy 😀

  • Upvote 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

This site uses cookies. By clicking "I accept" or continuing to browse the site, you authorize their use in accordance with the Privacy Policy.