Чиним DNS в дроплете DigitalOcean
— digitalocean, dns — 1 min read
Пост изначально был написан для канала в Telegram.
В конце выходных почему-то сломался дефолтный DNS от Digital Ocean для казахстанских доменов из-за чего два моих бота, которые связанны с казахстанскими сайтами (KazNic и сайт Нацбанка) перестали достукиваться до них и падали в ошибку EAI_AGAIN, что говорит о том, что случился таймаут при запросе DNS записей домена.
Быстрым фиксом было проставление IP адресов в /etc/hosts
, но это решение мне не нравилось.
Проведя несколько тестов я выяснил, что домены недоступны только с VPS-ок на Digital Ocean и решил, что можно попробовать сменить DNS-ы на самом сервере.
Если у вас стандартный дроплет от Digital Ocean, то это очень легко сделать: vi /etc/netplan/50-cloud-init.yaml
nameservers: addresses: - 1.1.1.1 - 1.0.0.1
Находим секцию с nameservers и меняем адреса на нужные (я выбрал DNS от Cloudflare).
Note: после ребута сервера эти настройки сбросятся, но кто ребутает свой сервер вообще?
После изменени я NS записей выходим из vi и применяем параметры: sudo netplan apply
Готово, можно проверить работоспособность, например, через curl yourwebsite.kz