/ usr / bin / host не подбирает изменения в / etc / hosts даже после перезагрузки

У меня есть машина Ubuntu Server 12.04 ( amd64 ), на которой, когда я изменяю /etc/hosts , изменения не принимаются, даже после перезагрузки. Я использую /usr/bin/host для тестирования, но ни одна из других программ, похоже, не забирает его.

Это сервер, а nscd и dnsmasq не установлены. Кроме того, файл /etc/nsswitch.conf содержит строку:

 hosts: files dns 

так что я ожидаю, что это сработает. Я также проверил, что mtime файла изменяется с помощью редактирования и пытается запустить service networking restart (несмотря ни на что), а также resolvconf -u .

Все команды, где они выполняются с root . Машина настроена вручную в /etc/network/interfaces а не через Network Manager (она также не установлена).

В основном я хочу добиться того, что IP для нескольких хостов можно манипулировать. Причина в том, что внутри нашей сети я получаю IP-адрес, к которому у меня нет маршрута, но я могу использовать внешний IP для этой службы через HTTPS.

Что мне не хватает?

Примечание. DNS-сервер не работает локально, а строки /etc/resolv.conf в /etc/resolv.conf (и соответствующие строки в interfaces ) указывают на DNS-сервер, который дает мне неправильный IP-адрес.

Также обратите внимание: я искал в Интернете и читал «похожие вопросы», но мое дело, похоже, не охвачено.

/etc/host.conf :

 # The "order" line is only used by old versions of the C library. order hosts,bind multi on 

3 Solutions collect form web for “/ usr / bin / host не подбирает изменения в / etc / hosts даже после перезагрузки”

Команда хоста не проверяет файл hosts. С manpage:

 host is a simple utility for performing DNS lookups. 

Если вы хотите проверить поиск, соблюдая файл hosts, используйте ping или getent.

 $ tail -1 /etc/hosts 127.0.0.1 google.com $ ping -c1 google.com | head -1 PING google.com (127.0.0.1) 56(84) bytes of data. $ getent ahosts google.com 127.0.0.1 STREAM google.com 127.0.0.1 DGRAM 127.0.0.1 RAW 

Утилита host используется для поиска DNS. Он не заботится о файлах хостов или не-DNS-методах решения имени хоста. Если вы хотите увидеть, как ваша система будет разрешать имя хоста при обычных обстоятельствах (принимая во внимание nsswitch.conf), вы можете использовать getent . Утилита host должна быть зарезервирована для тестирования DNS. Вот пример:

 $ host foobar.com foobar.com has address 69.89.31.56 foobar.com mail is handled by 0 foobar.com. $ getent hosts foobar.com 10.188.14.16 foobar.com 

Такие программы, как dig , host и nslookup запрашивают только DNS . Они не запрашивают другие источники имен хостов, такие как /etc/hosts , NIS или LDAP.

В большинстве настроек самый простой способ плавного добавления имен узлов локально – запустить DNS-сервер. Запуск кеша DNS – хорошая идея в любом случае для производительности. Другими словами, тот факт, что DNS-сервер не работает локально, – это что-то, что нужно исправить, а не что-то работать.

Dnsmasq является общим выбором: он широко доступен, небольшой (он используется во многих Linux-маршрутизаторах) и легко настраивается. Dnsmasq кэширует DNS-запросы и может обслуживать дополнительные имена из файла hosts. Он также предоставляет базовый сервер DHCP, подходящий для небольших сетей, но вам не нужно использовать эту часть. Если у вас изолированная машина, запустите Dnsmasq. Если у вас есть локальная сеть, запустите Dnsmasq (или другое эквивалентное программное обеспечение, которое уже есть) на вашем маршрутизаторе. См. Раздел Как сделать машину доступной из локальной сети с использованием имени хоста для получения дополнительной информации, в том числе о том, как настроить Dnsmasq.

  • Что означает «Недопустимый формат модуля»?
  • Звук Ubuntu не работает после сна / приостановки
  • Как узнать, безопасно ли использовать torghost?
  • Ubuntu 16.04 зависает случайно
  • установка cronjob во время IST
  • Не удалось выполнить скомпилированную программу C
  • Проблемы с открытием файлов .dvi
  • Как я могу запустить этот запуск / init как пользователь без root?
  • Как использовать grep, когда файл не содержит строку
  • Два cronjobs не работают (один для запуска процесса, один для остановки процесса)
  • SSH работает / остается в живых, пока ping работает в фоновом режиме
  • Новая GeForce установлена, заикается, с чего начать?
  • Interesting Posts

    Книга Samsung Ultra не просыпается после спящего режима и приостанавливает работу на Crunchbang

    Как настроить спуфинг MAC в Fedora?

    Пакет: git-1.7.6.1-1.el5.rf.i386 (rpmforge) Требуется: libcurl.so.3

    Как переключиться на другой дистрибутив Linux и сохранить данные?

    VirtualBox Не удалось создать объект COM VirtualBox

    Создание задачи Cron для уничтожения остановленных / неудачных прогонов в системе

    X после обновления до Fedora 23

    Как восстановить мою службу systemd при обновлении ее зависимостей

    Как получить доступ на уровне пользователя к нажатию клавиш-модификаторов в консольном приложении?

    Как предотвратить использование оболочки звонящего в sudo

    nmap -sn перечисляет все активные хосты в моей сети, но nmap -sL не делает

    Как узнать, является ли usb hdd hdd или флеш-накопителем, отличным от внешнего вида.

    Проблема с замораживанием GUI Centos 7

    Просмотр разрешения / владельца полного дерева каталогов

    Как устранить потерю связи в VM?

    Linux и Unix - лучшая ОС в мире.