Debian Stretch не разрешает имя хоста, но IP работает.

Вопрос или проблема

Я настроил сетевое соединение Stretch для eth0 (он выбрал ens3), после установки:

GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
grub-mkconfig -o /boot/grub/grub.cfg
перезагрузка

так что теперь у меня есть:

>: cat /etc/network/interfaces
source /etc/network/interfaces.d/*

# Циклический сетевой интерфейс
auto lo
iface lo inet loopback

# Основной сетевой интерфейс
allow-hotplug eth0
iface eth0 inet static
    address 192.168.1.10/24
    gateway 192.168.1.1
    # Опции dns-* реализуются пакетом resolvconf, если он установлен
    dns-nameservers 8.8.8.8

что работает, так что:

>: ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
      valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
      valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 52:54:00:0a:f7:bc brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.10/24 brd 192.168.1.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:fe0a:f7bc/64 scope link
       valid_lft forever preferred_lft forever

И я могу пинговать dns-серверы Google, как:

>: ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=55 time=10.9 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=55 time=10.9 ms

Но не сам Google и не любой другой домен. Мой файл hosts выглядит так:

>: cat /etc/hosts
127.0.0.1   localhost
192.168.1.10    someserver.name.com someserver

# Следующие строки желательны для хостов, поддерживающих IPv6
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Мой resolv.conf выглядит так:

>: cat /etc/resolv.conf
nameserver 8.8.8.8

но я могу пинговать свой шлюз, так что маршрут по умолчанию, похоже, в порядке:

>: ip r
default via 192.168.1.1 dev eth0 onlink
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.10

мой /etc/nsswitch.conf говорит:

hosts:          files dns
networks:       files

Что не хватает? Должен ли я делать что-то еще в Stretch?

Похоже, вы путаете два вопроса: маршрутизацию и DNS.
Если вы можете пинговать числовые адреса, такие как <8.8.8.8> или <128.171.224.100> (www.hawaii.edu), то проблема связана с DNS, а не с маршрутизацией.

Файл /etc/nsswitch.conf указывает, где искать информацию DNS и в каком порядке делать запросы. Посмотрите на строку, начинающуюся с ‘hosts’.

# Основной сетевой интерфейс
allow-hotplug eth0
iface eth0 inet static
    address 192.168.1.10/24
    gateway 192.168.1.1
    # Опции dns-* реализуются пакетом resolvconf, если он установлен
    dns-nameservers 8.8.8.8

Уберите /24.
Причины этого:
С точки зрения синтаксиса вы неправы.

Предполагая, что ваш адрес 192.168.1.10 содержит DNS-сервер, удаление /24 должно исправить вашу ошибку.

Ответ или решение

Проблема с разрешением имени хоста в Debian Stretch, при этом возможность пинга IP-адресов показывает, что, вероятно, дело связано с настройками DNS, а не с маршрутизацией, так как вы можете успешно пинговать IP-адреса, такие как 8.8.8.8. Давайте детально рассмотрим вашу конфигурацию и возможные пути решения проблемы.

Анализ Конфигурации

  1. Сетевой интерфейс: У вас правильно настроен интерфейс eth0 с статическим IP-адресом 192.168.1.10 и шлюзом 192.168.1.1.

    auto eth0
    iface eth0 inet static
       address 192.168.1.10
       gateway 192.168.1.1
       dns-nameservers 8.8.8.8
  2. Файл hosts: Ваш /etc/hosts файл выглядит корректно:

    127.0.0.1   localhost
    192.168.1.10    someserver.name.com someserver

    Здесь вы добавили запись для локального хоста, что позволяет вашему серверу разрешать своё имя.

  3. DNS конфигурация: Файл /etc/resolv.conf также корректный:

    nameserver 8.8.8.8

    Это говорит системе использовать DNS-сервер Google для разрешения имен.

  4. Файл nsswitch.conf: Конфигурация вашего /etc/nsswitch.conf также не вызывает замечаний:

    hosts:          files dns

    Она указывает, что система сначала проверяет файл /etc/hosts, а затем использует DNS, чтобы разрешить имя.

Возможные Причины Проблемы

Основная проблема заключается в том, что DNS не разрешается, но IP-адреса работают. Это может быть связано с несколькими факторами:

  • Проблемы с DNS-сервером: Убедитесь, что DNS-сервер, указанный в /etc/resolv.conf, действительно доступен. Попробуйте выполнить команду:

    nslookup www.google.com

    или

    dig www.google.com

    Эти команды помогут проверить, работает ли DNS.

  • Проблемы с сетевой конфигурацией: Возможно, другие настройки сети мешают успешному разрешению имен. Проверьте наличие правил iptables, которые могут блокировать DNS-запросы.

Рекомендации по Исправлению Проблемы

  1. Перепроверьте настройки /etc/resolv.conf: Убедитесь, что ваш файл всегда обновлен и не перезаписывается другими процессами, такими как resolvconf или systemd-resolved. Если у вас есть другие DNS-серверы, попробуйте добавить их в этот файл.

  2. Тестирование DNS с другими серверами: Убедитесь, что у вас есть доступ к другим общим DNS-серверам, например:

    nameserver 1.1.1.1  # Cloudflare
    nameserver 8.8.4.4  # Дополнительный Google DNS
  3. Проверка системного времени: Неправильное время также может привести к проблемам с аутентификацией DNS. Убедитесь, что время на вашем сервере установлено правильно.

  4. Проверка конфликта с другими программами: Убедитесь, что никакие программы не вмешиваются в разрешение DNS. Возможно, стоит временно отключить NetworkManager, если он используется, и проверить настройки вручную.

  5. Обновление пакетов: Убедитесь, что ваш пакетный менеджер обновлен. В Debian Stretch иногда могут быть незакрытые уязвимости или проблемы.

Заключение

Если все вышеперечисленные рекомендации не помогли, рассмотрите возможность обращения к сообществу Debian или форумам, где можно получить помощь от более опытных пользователей. Помните, что проблемы с разрешением DNS очень распространены, и их решение зачастую требует тщательной проверки всех заинтересованных сторон в конфигурации.

Оцените материал
Добавить комментарий

Капча загружается...