какие есть варианты с DNS?
От: ksd Россия  
Дата: 09.08.19 09:56
Оценка:
По каким то причинам, у некоторых клиентов за пределами РФ не разрешаются адреса наших серверов DNS-ами их провайдеров. Используем libcurl, собрали ее с c-ares, чтобы libcurl ходила на правильные DNS, но! Оказалось, некоторые провайдеры такое дело блокируют, т.е. не приходит ответ с UDP-порта 53.
Как можно еще побороться? Может, бывают DNS через HTTP(S) с соответствующей либой?
#dns #libcurl #cares #c-ares
Re: какие есть варианты с DNS?
От: vsb Казахстан  
Дата: 09.08.19 10:04
Оценка:
Здравствуйте, ksd, Вы писали:

ksd>По каким то причинам, у некоторых клиентов за пределами РФ не разрешаются адреса наших серверов DNS-ами их провайдеров.


По каким именно причинам? Пробовали использовать известных DNS хостеров, например Cloudflare?

ksd>Может, бывают DNS через HTTP(S) с соответствующей либой?


DNS over HTTPS называется. Либа не нужна, просто делаете HTTP запрос.
Re: какие есть варианты с DNS?
От: m2l  
Дата: 09.08.19 10:50
Оценка:
Здравствуйте, ksd, Вы писали:

ksd>По каким то причинам, у некоторых клиентов за пределами РФ не разрешаются адреса наших серверов DNS-ами их провайдеров. Используем libcurl, собрали ее с c-ares, чтобы libcurl ходила на правильные DNS, но! Оказалось, некоторые провайдеры такое дело блокируют, т.е. не приходит ответ с UDP-порта 53.

ksd>Как можно еще побороться? Может, бывают DNS через HTTP(S) с соответствующей либой?

Проверь работу DNS через TCP. Штука более стандартная, в отличии от нового DNS over HTTPS и должна работать в некоторых случаях неработоспособности DNS over UDP.
И попробуйте проверить, как на проблемных хостах отрабатывает нормальный DNS, без c-ares. Ну вроде curl/ping в консоли.
Re: какие есть варианты с DNS?
От: Mihas  
Дата: 09.08.19 11:34
Оценка: +1
Здравствуйте, ksd, Вы писали:

ksd>По каким то причинам, у некоторых клиентов за пределами РФ не разрешаются адреса наших серверов DNS-ами их провайдеров. Используем libcurl, собрали ее с c-ares, чтобы libcurl ходила на правильные DNS, но! Оказалось, некоторые провайдеры такое дело блокируют, т.е. не приходит ответ с UDP-порта 53.

ksd>Как можно еще побороться? Может, бывают DNS через HTTP(S) с соответствующей либой?

Я однажды столкнулся с тем, что DNS-сервер местного провайдера (в РФ), разрешая один (амазоновский) адрес, выдавал ответ немного длиннее положенных нескольких сотен байт. Из-за чего ответ отбрасывался.
Re[2]: не похоже
От: ksd Россия  
Дата: 09.08.19 11:43
Оценка:
Здравствуйте, Mihas, Вы писали:

M>Здравствуйте, ksd, Вы писали:


ksd>>По каким то причинам, у некоторых клиентов за пределами РФ не разрешаются адреса наших серверов DNS-ами их провайдеров. Используем libcurl, собрали ее с c-ares, чтобы libcurl ходила на правильные DNS, но! Оказалось, некоторые провайдеры такое дело блокируют, т.е. не приходит ответ с UDP-порта 53.

ksd>>Как можно еще побороться? Может, бывают DNS через HTTP(S) с соответствующей либой?

M>Я однажды столкнулся с тем, что DNS-сервер местного провайдера (в РФ), разрешая один (амазоновский) адрес, выдавал ответ немного длиннее положенных нескольких сотен байт. Из-за чего ответ отбрасывался.

на 3 разных DNS, включая гугловый одно и то же: DNS request timeout
Re[2]: какие есть варианты с DNS?
От: ksd Россия  
Дата: 09.08.19 11:45
Оценка:
Здравствуйте, m2l, Вы писали:

m2l>Здравствуйте, ksd, Вы писали:


ksd>>По каким то причинам, у некоторых клиентов за пределами РФ не разрешаются адреса наших серверов DNS-ами их провайдеров. Используем libcurl, собрали ее с c-ares, чтобы libcurl ходила на правильные DNS, но! Оказалось, некоторые провайдеры такое дело блокируют, т.е. не приходит ответ с UDP-порта 53.

ksd>>Как можно еще побороться? Может, бывают DNS через HTTP(S) с соответствующей либой?

m2l>Проверь работу DNS через TCP. Штука более стандартная, в отличии от нового DNS over HTTPS и должна работать в некоторых случаях неработоспособности DNS over UDP.

m2l>И попробуйте проверить, как на проблемных хостах отрабатывает нормальный DNS, без c-ares. Ну вроде curl/ping в консоли.
штука в том, что каждый раз неожиданность какая то случается, и, как правило, доступность не очень хорошая удаленных машин. хорошо бы такое средство, чтобы было надежно. http/https везде же открыт и работает.
Re[3]: какие есть варианты с DNS?
От: m2l  
Дата: 09.08.19 15:39
Оценка:
Здравствуйте, ksd, Вы писали:

m2l>>Проверь работу DNS через TCP. Штука более стандартная, в отличии от нового DNS over HTTPS и должна работать в некоторых случаях неработоспособности DNS over UDP.

m2l>>И попробуйте проверить, как на проблемных хостах отрабатывает нормальный DNS, без c-ares. Ну вроде curl/ping в консоли.
ksd>штука в том, что каждый раз неожиданность какая то случается, и, как правило, доступность не очень хорошая удаленных машин. хорошо бы такое средство, чтобы было надежно. http/https везде же открыт и работает.
Ты мягко сказать очень сильно не прав. DNS over HTTPS — эта штука появившаяся в последние пару лет. Из браузеров она есть только в Firefox 62+ и то в тестовом режиме — по умолчанию не используется.
Т.е. весь имеющийся интернет последние тридцать лет работал на обычном DNS. И таки работал.

И вообще, DNS over HTTPS не надёжность увеличивает, а privicy, ценой надёжности. И пока это все-же экспериментальный протокол.
Отредактировано 09.08.2019 15:51 m2l . Предыдущая версия .
Re: какие есть варианты с DNS?
От: Anton Batenev Россия https://github.com/abbat
Дата: 09.08.19 19:08
Оценка:
Здравствуйте, ksd, Вы писали:

ksd> По каким то причинам, у некоторых клиентов за пределами РФ не разрешаются адреса наших серверов DNS-ами их провайдеров. Используем libcurl, собрали ее с c-ares, чтобы libcurl ходила на правильные DNS, но!


А что значит "правильные DNS"?
Ну и выключить c-ares, включить "--enable-threaded-resolver", если нужен асинхронный резолвинг.
github.com/abbat
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.