LINUX.ORG.RU
решено ФорумAdmin

dhcp установить hostname


0

3

Доброго всем.

Есть сетевая загрузка десктопов с одного образа с корнем в NFS. Хочу сделать, чтобы каждому компу присваивалось свое имя (hostname). Делаю на сервере в dhcpd.conf такие записи:

...
host comp163 {
        hardware ethernet 00:25:02:14:23:2b;
        fixed-address 192.168.1.163;
       option host-name comp163;
}
...

Запускаю загрузку и после запуска init-скрипта dbus выдается [ok] и полный ступор.

Без опции option host-name компы нормально грузятся, но имена выставлены как их IP-адреса.

С дури еще пробовал ставить dhcpcd-dsub, но без толку.

Отладить по логам не получается - /var в ram'е, да и не понятно, что смотреть. Сначала думал на dbus, но что-то после него перестает работать. Пробовал отключать dbus, тогда ступор после старта local.

Генту, config_eth0=(«dhcp»), что еще - покажу.

Помогите, кто чем. пожалуйста.

Спасибо.



Последнее исправление: chegeware (всего исправлений: 2)

Ну можно, например, загрузиться в сингле. Можно прописать в конфиге статику, а загрузившись ручками сказать dhclient eth0... В редхате что бы имя из dhcp прописалось, изначальный хостнейм должен быть localhost. К ступору это не должно приводить, но просто к тому что бывает не так все просто. Возможно ступор из-за того, что какой то демон хочет отресолвить хостнейм. В днсе оне прописаны? Крайне желательно что бы на соответствующий ИП ссылалось.

Nefer
()

если загрузка сетевая, то лично я сетевые параметры получаю через ядро и udhcpc, зашитый в initramfs(initramfs, сделанный через genkernel подойдет). Конфигурация сетевого интерфейса при этом ДОЛЖНА БЫТЬ config_eth0=«noop», иначе через некоторое время после старта интерфейса init-скриптом машина зависнет(похоже на твой случай)

Pinkbyte ★★★★★
()
Ответ на: спасибо от chegeware

увы

Пробовал config_eth0=«noop», еще отключил /etc/init.d/dhcpcd, еще в boot-level не было hostname - поставил.

Загружается. Смотрю dhcpcd -T eth0 [code] ... new_host_name=dzeta ... [/code]

Т.е. имя хоста передается.

Запускаю вручную /etc/init.d/dhcpcd start

Почему имя хоста не устанавливается? Какие-то хуки надо прописать?

chegeware
() автор топика
Ответ на: увы от chegeware

еще

почему хук /lib/dhcpcd/dhcpcd-hooks/20-resolv.conf срабатывает, а 30-hostname - нет?

chegeware
() автор топика
Ответ на: комментарий от Reset

Нету /etc/hostname.

Короче, проблема сужается. После того, как руками сделать

# hostname myname

как бы это сказать, перестает нормально работать система, например, [hostname -a (-f)]; [getent passwd (hosts)] и т.д. не возвращают результата.

Не пойму, в чем дело?

chegeware
() автор топика
Ответ на: комментарий от chegeware

еще

Дальше, убрал все ldap из /etc/nsswitch.conf

Теперь в ответ на # hostname -a (-f) выдает hostname: Unknown host

Не пойму, почему такое?

chegeware
() автор топика
Ответ на: комментарий от Led

Прекрасно понял. В отличии от. Как одно другому мешает?

Nefer
()
Ответ на: еще от chegeware

Надо смотреть скрипты, например. Я могу только сказать что в редхатовых хостнейм поставит только если до этого был установлен localhost. По идее подобная фишка и на генте может случиться.

О! Нашел и поглянул скрипты. Так и есть. Поставь в конфигах localhost и будет устанавливаться.

Nefer
()
Ответ на: комментарий от Nefer

После загрузки инит-скрипт нормально устанавливает хостнейм из конфига.

Теперь хочу поменять хостнейм в консоли, он меняется, но в системе после этого что-то перестает работать hostname -f, getent hosts ...

chegeware
() автор топика
Ответ на: комментарий от chegeware

dns сервера прописаны? Доступны? Посмотреть на машине - куда отправлаются пакеты. Посмотреть на сервер - приходят ли пакеты, уходят ли ответы. Смотреть логи серва. Думать.

Nefer
()
Ответ на: комментарий от Nefer

уж как думал

Короче, проблема локализировалась, но до конца не решилась. Еще раз поясню. Изначально было задумано, чтобы дополнительно резолвить имена хостов через записи лдап, такая строчка в /etc/nsswitch.conf

...
hosts:       files dns ldap
...
И было проверено, лдап-ресолвинг работает.

Как только стали добавлять установку hostname, хоть через dhcp, хоть вручную из консоли, этот самый лдап-резолвинг перестает работать, просто зависает. Вот такая труба получилась.

Сейчас убрал лдап-резолвинг, да и фиг с ним. Завязать dhcp+bind.

Всем спасибо.

chegeware
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.