Здравствуйте, Roman Odaisky, Вы писали:
RO>Здравствуйте, DOOM, Вы писали:
RO>>>
RO>>>$ host localhost
RO>>>localhost.com A 10.11.12.13
RO>>>
RO>>>Хоть кол ему на голове теши. Почему localhost.com? Почему 10.11.12.13?
RO>>>Как его направить на путь истинный?
DOO>>А что у тебя в /etc/hosts?
RO>Разумеется, 127.0.0.1 localhost localhost.localdomain. Почему он приписывает .com?!
RO>>$ host localhost
RO>>localhost.com A 10.11.12.13
RO>>
RO>>Хоть кол ему на голове теши. Почему localhost.com? Почему 10.11.12.13?
RO>>Как его направить на путь истинный?
ivt> Domain Name: LOCALHOST.COM ivt> Registrar: TUCOWS INC.
Я знаю. NS этого домена и возвращают 10.11.12.13. Только почему /usr/bin/host вообще заинтересовался localhost.com?
RO>Это где-то в настройках BIND?
Он сам себе DNS сервер? Честно говоря, тонкостей bind'а не знаю...
Еще варианты поигрываний...
1. Заменить host на nslookup или dig.
2. Добавить "." или правильный суффикс к имени...
3. Посмотреть, что там в nsswitch.conf
Здравствуйте, Roman Odaisky, Вы писали:
RO>Я просмотрел все очевидные места. В resolv.conf только две записи nameserver xx.xx. RO>Тут вот что оказывается: RO>
RO>$ host google
RO>google.com A 64.233.167.99
RO>google.com A 72.14.207.99
RO>google.com A 64.233.187.99
RO>
RO>т. е., он зачем-то автоматически приписывает com. Как отучить? Это где-то в настройках BIND?
Значит, резолвер определяет по hostname ориентировочный домен и пытается резолвить в нём.
RO>P. S. На сервере, о котором речь, стоит Plesk, поэтому руками лезть в конфиги не хочется. Но можно, если нужно.
Добавить в /etc/resolv.conf явно параметр search с нужным списком.
Здравствуйте, Roman Odaisky, Вы писали:
RO>Почему localhost.com?
В DNS имя без точки в конце считается относительным и к нему приписывается что-то, зависящее от контекста.
В вашей ситуации правильным будет:
host localhost.
Здравствуйте, fefelov, Вы писали:
RO>>Почему localhost.com?
F>В DNS имя без точки в конце считается относительным и к нему приписывается что-то, зависящее от контекста. F>В вашей ситуации правильным будет: F>host localhost.
Это мне известно, но почему-то все подключаются к, например, localhost:3306 и как-то же это работает! А у меня horde заработала только после s/localhost/127.0.0.1/g.
Здравствуйте, Roman Odaisky, Вы писали:
RO>но почему-то все подключаются к, например, localhost:3306 и как-то же это работает!
Потому, что host (и с ним htdig, например) проверяют исключительно работу службы DNS. А обычные клиентские приложения могут разрешать (в смысле, resolving) имена вовсе не обращаясь к DNS, например, через файлы (/etc/hosts) или NIS.
Коротко, не нужно думать, что программа host работает также, как и клиент MySQL.
RO>А у меня horde заработала только после s/localhost/127.0.0.1/g.
RO>$ host localhost
RO>localhost.com A 10.11.12.13
RO>
RO>Хоть кол ему на голове теши. Почему localhost.com? Почему 10.11.12.13?
RO>Как его направить на путь истинный?
Возможно домен такой у вас по умолчанию, hostname и domainname что говорят?
А может быть порядок разрешения имён неверно прописан, для FreeBSD можно прописать в /etc/nsswitch.conf
hosts: files dns
в вашем *nix/linux должно быть что-то аналогичное.