Я ожидаю, что IP-адрес вашего сервера будет фиксированным. Ваш /etc/hosts
должен содержать
127.0.0.1 localhost
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
xxx.x.x.1 rhel64.example.com rhel64
localhost
никогда не должен указывать на адрес, отличный от 127.0.0.1 или :: 1. Добавьте дополнительные хосты с фиксированными адресами по /etc/hosts
мере необходимости.
Для динамических адресов убедитесь, что вы указали правильный домен /etc/dnsmasq.conf
, и убедитесь, что имя хоста отправлено в запросе. Проверьте dnsmasq.leases
файл, который должен быть в /var/lib
каталоге, попробуйте проверить. Домен должен быть указан так.
domain=example.com
В качестве альтернативы вы можете указать фиксированные адреса в dnsmasq.conf
файле или /etc/ethers
. Линия , как это будет отображать MAC - адрес aa.bb.cc.dd.ee.ff
для 192.0.2.1
. DNS-имя будет указано /etc/hosts
как указано выше.
aa.bb.cc.dd.ee.ff 192.0.2.1
РЕДАКТИРОВАТЬ: Диагностика, я бы использовал включить.
Запуск гетента на хосте с запущенным dnsmasq.
getent hosts rhel64
Это должно вернуть значение, которое вы ввели в файл hosts или вернули DNS. Если это работает, попробуйте использовать host
команду для поиска адреса. Используйте, nslookup
если хосты недоступны. Попробуйте эти команды. (Похоже, ваш сервер dnsmasq
и apache
серверы находятся на одном хосте.
hosts rhel64.
hosts rhel64.example.com.
hosts rhel64. localhost
hosts rhel64.example.com. localhost
hosts rhel64. rhel64.
hosts rhel64.example.com. rhel64.
hosts rhel64. rhel64.example.com.
hosts rhel64.example.com. rhel64.example.com.
Какая команда терпит неудачу и как она терпит неудачу, должна помочь вам определить проблему. Вы также можете убедиться, что dnsmasq прослушивает все IP-адреса.
При диагностике проблемы: Запросы на rhel64.
имя хоста не квалифицированы с доменом, а запросы rhel64.example.com.
на полное имя. Последняя точка в именах указывает решателю не пытаться использовать домены из списка поиска. Второе имя хоста, если оно указано, переопределяет серверы имен, перечисленные в /etc/resolv.conf
. В этом случае я использовал серверы с /etc/resolv.conf
адреса localhost (127.0.0.1 или :: 1), адрес имени хоста, который был найден в DNS, и адрес полностью определенного имени, который был найден после имени сервера. Последние два сервера не будут работать, если первоначальный поиск имени не удался.
netstat -an | grep :53
РЕДАКТИРОВАТЬ: при повторном чтении вашего поста, я замечаю, что вы получаете свой адрес от DHCP, замечания по установке фиксированного IP-адреса применяются к DHCP-серверам в стиле Unix. Они должны быть применены к dchp-серверу, который, вероятно, является маршрутизатором по адресу xxx.xx1, который не будет адресом вашего сервера. Вы должны быть в состоянии получить текущий IP-адрес с помощью команды ifconfig
или более новой команды ip addr
. Это адрес, который должен соответствовать вашему имени хоста в файле / etc / hosts.
Если у вас нет доступа к маршрутизатору, вы можете попытаться заставить DHCP обновить службу DNS для вас. Добавьте следующую запись в наш файл конфигурации DHCP: option fqdn.fqdn rhel64.example.com; или опция fqdn.fqdn rhel64;
После добавления записи вам нужно будет перезапустить dhclient
процесс. Попробуйте команды
sudo dhclient -r
sudo dhclient
В противном случае вам нужно будет перезагрузить интерфейс или все настройки сети.