Casper define o nome do host via dhcp

3

Eu estou inicializando com sucesso via pxeboot um live ubuntu remix. Eu quero definir o nome do host via dhcp porque estou inicializando várias instâncias da mesma imagem. Agora eu estou usando um hookline em /etc/dhcp/dhclient-enter-hooks.d/pinhostname que funciona muito bem.

RUN="yes"
if [ "$RUN" = "yes" ]; then
var='/sbin/ifconfig eth0 | /usr/bin/awk '/inet addr/ {print $2}' | /usr/bin/cut -f2 -d:'
var='/usr/bin/dig -x $var +short'
var='echo $var | /usr/bin/awk -F. '{print $1}''
/bin/hostname $var
fi

Mas o servidor dhcp chega atrasado para o munin etc e o nome do host não está configurado no tempo. No registro do Casper, ele mostra que recebe o nome do host muito antes:

IP-Config: eth0 hardware address 08:00:27:86:3e:84 mtu 1500 DHCP RARP
IP-Config: eth0 complete (from 10.1.1.1):
address: 10.1.1.10        broadcast: 10.1.1.255       netmask: 255.255.255.0
gateway: 10.1.1.1         dns0     : 10.1.1.1         dns1   : 0.0.0.0
host   : storage1
domain : domain.com
rootserver: 10.1.1.1 rootpath:
filename  : pxelinux.0

Como posso definir esse nome de host? Acho que preciso colocar um script em / scripts antes de empacotar o initrd. Há um monte de scripts diferentes onde eu colocaria o meu? Obrigado pelo seu tempo

    
por Johannes 01.11.2012 / 14:06

2 respostas

1

Eu encontrei um hack feio que funciona para mim. Eu descompactei o initrd inserido

cat /root/var/log/netboot.config | awk /HOSTNAME/ | cut -f2 -d= | sed 's/.\(.*\).//' > /root/etc/hostname
HOST='cat /root/var/log/netboot.config | awk /HOSTNAME/ | cut -f2 -d= | sed 's/.\(.*\).//''
hostname "$HOST"

em / initrd_temp / scripts / casper-bottom / 23networking em algum lugar depois dessa linha:

cp /tmp/net-"${DEVICE}".conf /root/var/log/netboot.config

Cuidado com isso IS feio. Isso provavelmente deve ser feito em 18 nomes de usuários - mas talvez os dispositivos de rede ainda não estejam ativos.

    
por Johannes 06.11.2012 / 13:11
0

Você pode querer experimentar o dhcpcd5. Eu substitui o dhclient do ISC pelo dhcpcd5 e ele 'apenas funcionou'. O nome do host agora é definido pela resposta do DHCP.

    
por RustyCar 14.06.2018 / 22:19