Почему возникает ошибка "Ejabberd: ошибка поиска DNS, ресурс временно недоступен"?

Здравствуйте. <br/> <br/> Я поднял ejabberd на hyper-v с использованием диска SCSI и операционной системы Ubuntu 22. Настроил Let's Encrypt на домен. Я могу получить доступ к веб-интерфейсу по https на порту 5443 с разных компьютеров и браузеров. Пользователей добавил, и они успешно входят с помощью Pidgin, Gajim и других мессенджеров, используя формат [email protected]. Однако при попытке отправить сообщения возникает ошибка "dns lookup failed resource temporarily unavailable". Я изменил "A" записи для домена 3 дня назад, но это не помогло. Также не удаётся войти с мобильного устройства через Conversations, с сообщением о том, что сервер не найден. Я пытался использовать VPN, но это тоже не решило проблему. В чем может заключаться причина?
  • 16 ноября 2024 г. 6:13
Ответы на вопрос 2
Ошибка "dns lookup failed resource temporarily unavailable" в ejabberd может возникать по нескольким причинам, связанным с DNS-конфигурацией, настройками сервера или сетевыми ограничениями. Вот несколько возможных причин и решений:

1. **DNS-записи**:
   Убедитесь, что DNS-записи вашего домена правильно настроены и полностью распространяются. Вы можете использовать такие инструменты, как `dig` или `nslookup`, чтобы проверить A-запись вашего домена и убедиться, что она указывает на правильный IP-адрес вашего сервера.

   ```
   dig A pampam.com
   dig A [ваш_поддомен] # если используете поддомен
   ```

2. **Сетевые настройки**:
   Убедитесь, что ваш сервер имеет правильные сетевые настройки и может выходить в интернет. Проверьте, нет ли ограничений брандмауэра или NAT, которые могут блокировать запросы DNS. Попробуйте выполнить ping до нескольких известных адресов (например, google.com) с вашего сервера.

3. **Конфигурация ejabberd**:
   Убедитесь, что в конфигурации ejabberd указаны правильные настройки для DNS. Проверьте параметры, связанные с DNS, и убедитесь, что сервер может разрешать имена хостов. В некоторых случаях может помочь добавление IP-адресов ваших DNS-серверов в файл `/etc/resolv.conf`.

4. **Логи ejabberd**:
   Проверьте логи ejabberd для получения дополнительной информации об ошибке. Логи могут указать на проблемы с распространением DNS или сетевыми ошибками. Логи обычно хранятся в `/var/log/ejabberd.log`.

5. **Запуск DNS-клиента**:
   Убедитесь, что ваш сервер имеет запущенный DNS-клиент, и что он настроен на использование правильных DNS-серверов. Возможно, стоит попробовать использовать публичные DNS-серверы, такие как Google DNS (8.8.8.8 и 8.8.4.4) или Cloudflare DNS (1.1.1.1).

6. **Тестирование локального разрешения DNS**:
   Попробуйте использовать команду `host` или `dig` на вашем сервере, чтобы проверить разрешение доменного имени с самого сервера; это может помочь изолировать проблему.

   ```
   host pampam.com
   ```

Если после всех проверок проблема сохраняется, вы можете попробовать перезапустить ejabberd и сетевые службы или даже сам сервер. Иногда это помогает решить временные проблемы с DNS или сетевыми подключениями.
"А" записи для домена сменил 3 дня назад.

Для Jabber вроде же нужны SRV-записи особого вида, не? Например, Яндекс при хосте домена у него добавляет так:
SRV  _xmpp-server._tcp.conference  21600 IN SRV 20 0 5269 domain-xmpp.yandex.net.  21600
SRV  _xmpp-server._tcp             21600 IN SRV 20 0 5269 domain-xmpp.yandex.net.  21600
SRV  _xmpp-client._tcp.conference  21600 IN SRV 20 0 5222 domain-xmpp.yandex.net.  21600
SRV  _xmpp-client._tcp             21600 IN SRV 20 0 5222 domain-xmpp.yandex.net.  21600
Похожие вопросы