| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Администрирование *NIX систем > ping: unknown host |
| Автор: mbasil 14.6.2011, 20:22 | ||
| Я полный профан в Linux. Однако требуется настроить. Изменил после инсталляции Oracle Linux 6 имя хоста на u01 и в результате получаю ошибку:
При этом ping на localhost проходит и команда hostname выдает u01. Помогите пожалуйста. |
| Автор: ChihPih 14.6.2011, 21:13 |
| А вы про DNS слышали? |
| Автор: mbasil 14.6.2011, 21:42 |
| В файле /etc/resolv.conf имеет место строка: nameserver 192.168.123.254 Дело осложняется тем, что Linux работает на VM VirtualBox. Однако интернет доступен. |
| Автор: bilbobagginz 15.6.2011, 00:39 |
| mbasil, послушайте про DNS. поскорей. Добавлено @ 00:52 практически без слов: http://www.youtube.com/watch?v=hcaJ1Vp_Ntg&feature=related по-русски и нудно: http://www.youtube.com/watch?v=d4u5VdJjCCE P.S. DNS читается НЕ КАК ДЭНЭЕС, а как "Ди.Эн.Эс." |
| Автор: krypt3r 16.6.2011, 03:49 |
| послушайте также про /etc/hosts |
| Автор: bilbobagginz 16.6.2011, 07:25 | ||
krypt3r, Ну если уж такая пьянка, то лучше уж почитает о переключателе резолвера:
и как его тестировать с getent. |
| Автор: mbasil 18.6.2011, 20:19 |
| Спасибо за несколько ехидные рекомендации. Я предупредил, что не специалист в Linux. Я больше разработчик, просто нужда заставляет. |
| Автор: bilbobagginz 19.6.2011, 22:08 |
если единственное что задето предыдущими постами - это ваше "разработщиковское" эго, стоит задуматься. DNS реализовали не инопланетяне, и она к нам не с небес снизошла, простые разработчики как мы с вами. а чтобы это не было бестолковым пустословием, по сабжу, вступление для корректной работы сетевых узлов нужно настоить службы "резолвинга" (т.е. преобразования) некоторых системных ресурсов:
в системах POSIX (и линукс в том же числе) порядок выбора "источника" вычисления ресурсов по разным параметрам записываетсв в файл /etc/nsswitch.conf существует 2 основных метода резолвинга адресов:
files строение файла /etc/hosts простое: каждая строка имеет уникальное начало - адрес. остальные "поля" - различные имена данного узла. хронологически, это была первая система перевода имен, которую внедрили в системах UNIX. между универами-участниками американских проектов на основе сети ARPANET в США гуляли такие файлы, и именно посредством их можно было подключится из standford.edu в mit.edu. постепенно сеть росла, файлы толстели и выходили из синхронизации.... это было и смешно и грустно. особенно смешно и грустно было кода имена путались и письма из одного универа приходили на другой, но не нужный. плохая масштабируемость оного принципа: для корректной работы сети с такой "системой" при добавлении 1 узла нужно синхронизировать файл на ВСЕХ узлах сети, чтобы у всех были корректные данные Стала причиной того, что появилась нужда в более умном решении проблемы резолвинга. dns система dns - решение этой проблемы: на каждую локальную подсеть ставится конечное (малое) количество серверов dns. начальник чукотки (в смысле сетевой админ) настраивает таблицы перевода
грубо говоря, каждый сервер знает подсети, имена (зоны) которой он реально содержит. у него также есть список "родителей", т.к. имена разделены точками, а точка определяет т.н. "поддомен". самый высокий уровень - это просто "точка", т.е. ".", под ним так называемый TLD (top level domain), .com, .net, .org, страны и т.д. и под ними соответственно их поддомены. если я хочу узнать имя брата своего домена, я кричу папе, а папа знает брата. кроме этого, существует протокол автоматического обновления, имен и поддоменов, а также механизм доверенности одного dns к другому. т.е. только доверенный dns может дать авторитетный ответ о домене/хосте. Ессно тут образуется ацикличный(желательно это было вступление, конец вступления. и так, вернемся к вопросу: "я настроил на хосте имя Х". естественное продолжение: для того, чтобы кто-то кроме самого хоста знал об этом, нужно либо:
существует несколько видов записей, читаем доки для самообразования. программа hostname смотрит только в файл /etc/hosts. проверять как что работает в резолвере лучше всего с помощью программы getent использование - ровно по устройству nsswitch.conf: getent hosts u01 покажет нашла ли ваша система с помощью резолвера узел "u01". (hosts - первый параметр определяет какой ресурс ищем) результат будет положительным , если по порядку сначала проверяется dns, а потом hosts файл. в файле будет ответ. для тестирования конкретного метода (напр. dns) есть dns clientы - nslookup, или лучше dig. для работы с источником ldap можно делать прямые запросы клиентом ldap. |