По каким то причинам, у некоторых клиентов за пределами РФ не разрешаются адреса наших серверов DNS-ами их провайдеров. Используем libcurl, собрали ее с c-ares, чтобы libcurl ходила на правильные DNS, но! Оказалось, некоторые провайдеры такое дело блокируют, т.е. не приходит ответ с UDP-порта 53.
Как можно еще побороться? Может, бывают DNS через HTTP(S) с соответствующей либой?
Здравствуйте, ksd, Вы писали:
ksd>По каким то причинам, у некоторых клиентов за пределами РФ не разрешаются адреса наших серверов DNS-ами их провайдеров.
По каким именно причинам? Пробовали использовать известных DNS хостеров, например Cloudflare?
ksd>Может, бывают DNS через HTTP(S) с соответствующей либой?
DNS over HTTPS называется. Либа не нужна, просто делаете HTTP запрос.
Здравствуйте, 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 в консоли.
Здравствуйте, ksd, Вы писали:
ksd>По каким то причинам, у некоторых клиентов за пределами РФ не разрешаются адреса наших серверов DNS-ами их провайдеров. Используем libcurl, собрали ее с c-ares, чтобы libcurl ходила на правильные DNS, но! Оказалось, некоторые провайдеры такое дело блокируют, т.е. не приходит ответ с UDP-порта 53. ksd>Как можно еще побороться? Может, бывают DNS через HTTP(S) с соответствующей либой?
Я однажды столкнулся с тем, что DNS-сервер местного провайдера (в РФ), разрешая один (амазоновский) адрес, выдавал ответ немного длиннее положенных нескольких сотен байт. Из-за чего ответ отбрасывался.
Здравствуйте, Mihas, Вы писали:
M>Здравствуйте, ksd, Вы писали:
ksd>>По каким то причинам, у некоторых клиентов за пределами РФ не разрешаются адреса наших серверов DNS-ами их провайдеров. Используем libcurl, собрали ее с c-ares, чтобы libcurl ходила на правильные DNS, но! Оказалось, некоторые провайдеры такое дело блокируют, т.е. не приходит ответ с UDP-порта 53. ksd>>Как можно еще побороться? Может, бывают DNS через HTTP(S) с соответствующей либой?
M>Я однажды столкнулся с тем, что DNS-сервер местного провайдера (в РФ), разрешая один (амазоновский) адрес, выдавал ответ немного длиннее положенных нескольких сотен байт. Из-за чего ответ отбрасывался.
на 3 разных DNS, включая гугловый одно и то же: DNS request timeout
Здравствуйте, 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 везде же открыт и работает.
Здравствуйте, 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, ценой надёжности. И пока это все-же экспериментальный протокол.
Здравствуйте, ksd, Вы писали:
ksd> По каким то причинам, у некоторых клиентов за пределами РФ не разрешаются адреса наших серверов DNS-ами их провайдеров. Используем libcurl, собрали ее с c-ares, чтобы libcurl ходила на правильные DNS, но!
А что значит "правильные DNS"?
Ну и выключить c-ares, включить "--enable-threaded-resolver", если нужен асинхронный резолвинг.