Приношу свои извинения за то, что сказал это - я думаю, что вы идете об этом неправильно (из-за многословности поста).
«Лучшим» способом решения этой проблемы было бы (1) настроить серверы имен, (2) проверить, что они отвечают локально, (3) проверить, что они отвечают из-за пределов вашей сети, а затем (4) указать доменное имя на их.
Обратите внимание, что вам действительно нужно минимум 2 сервера имен, и они должны быть либо в разных сетях, либо в высоконадежных сетях. Вы действительно хотите, чтобы серверы имен имели разные внешние IP-адреса, которые вы обычно не можете сделать из домашнего / потребительского соединения.
Чтобы ответить на ваш вопрос "Что может быть причиной этого?" это сложно - однако, скорее всего, если вы запрашиваете свой сервер имен из локальной сети по его внешнему адресу, ваш маршрутизатор не может правильно маршрутизировать пакеты.
Вашим именным пользователям определенно нужны записи A для их разрешения - и если ваши DNS-записи являются поддоменом, вы пытаетесь использовать его еще сложнее - вам нужны «склеенные записи» (хотя многие провайдеры делают это так же просто, как ввод IP-адреса рядом с днс сервер). То, где запись A изменяется, зависит от вашей настройки - если доменное имя - example.com, а сервер имен - dns1.example.com, то это необходимо настроить на dns1.example.com. Запись A необходимо изменить в файле зоны для имени домена.
DNS сильно зависит от кэширования, но может или не может быть сильно кэшированы. Если серверы имен, к которым вы обращаетесь, недавно получили запрос на запись, и вы не обращаетесь напрямую к серверам Godaddy (и это маловероятно, поскольку они будут отвечать только за доменные имена, для которых они являются авторскими), то да, это может хорошо быть кэшированным. (Это грубое упрощение, но правильный ответ.)