L’utilisation de DHCP lors de l’installation de Solaris est très simple, mais elle amène régulièrement une question portant sur le nom de machine non défini, et positionné à “unknown“. Ce billet fait suite à cette question dans les forums de SunWizard.
Le client DHCP de solaris peut obtenir et affecter le nom de la machine depuis un serveur DHCP. Pour cela, il est nécessaire que :
- La machine demande son nom au serveur DHCP
- Le serveur DHCP connaisse le nom de la machine et soit capable de lui retourner
Coté serveur
La configuration du serveur ne fait pas l’objet de ce billet, sa syntaxe dépend la plupart du temps du serveur, même si le principe reste le même. Dans mon cas j’utilise le serveur DHCP d’OpenBSD.
Voici un extrait de mon fichier de configuration /etc/dhcpd.conf :
# Blade 2000
host chtugha {
hardware ethernet 00:01:02:03:04:05;
fixed-address 192.168.1.2;
option host-name "chtugha";
}
La dernière ligne défini le nom de machine (hostname) que le serveur DHCP doit retourner au client.
Coté client
Les informations DHCP sont obtenues par dhcpagent, qui est le client DHCP de Solaris. Son comportement est défini par le fichier de configuration /etc/default/dhcpagent .
Ce fichier contient une variable qui nous intéresse particulièrement ici, il s’agit de PARAM_REQUEST_LIST. Celle-ci contient la liste des options DHCP que le client doit demander au serveur. La liste des options est définie dans la RFC 2132. L’option que dhcpagent doit obtenir est la numéro 12 : “Host Name Option”.
Solaris propose une commande servant à connaitre les informations retournées par le serveur DHCP. Il s’agit de dhcpinfo.
Par exemple, pour connaitre le nom de machine retourné par le serveur DHCP vous devez utiliser :
[william@chtugha:~]$ /sbin/dhcpinfo 12
chtugha
Le masque de sous réseau s’obtient de la même manière à l’aide de la commande :
[william@chtugha:~]$ /sbin/dhcpinfo 1
255.255.255.0