Перейти к содержанию

Вопрос

Опубликовано (изменено)

Если 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).

Изменено пользователем dchusovitin

Рекомендуемые сообщения

  • 0
Опубликовано (изменено)
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
 

Изменено пользователем Denis P
  • 0
Опубликовано
7 minutes ago, Denis P said:

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

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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.