Installer DHCPd :
cd /usr/ports/net/isc-dhcp30-server make install clean
Configurer DHCPd par l'intermédiaire de /usr/local/etc/dhcpd.conf :
option domain-name "poinsot.lan"; option domain-name-servers 192.168.100.254; option broadcast-address 192.168.100.255; option subnet-mask 255.255.255.0; default-lease-time 3600; max-lease-time 86400; ddns-update-style none; subnet 192.168.100.0 netmask 255.255.255.0 { range 192.168.100.50 192.168.100.99; option routers 192.168.100.254; option root-path "/usr/tftpboot"; filename "boot/pxeboot"; } host debian { hardware ethernet 00:03:ff:4b:44:d8; fixed-address 192.168.100.68; }
Créer le répertoire /usr/tftpboot où nous entreposerons nos fichiers :
mkdir /usr/tftpboot
Modifier /etc/inet.conf pour le démarrage du démon tfptd :
tftp dgram udp wait nobody /usr/libexec/tftpd tftpd -l -s /usr/tftpboot
Ayant demandé de tracer les demandes, via l'option l, nous éditons /etc/syslog.conf afin d'y ajouter :
!tftpd *.* /var/log/tftpd.log
Créer ce fichier :
touch /var/log/tftpd.log chmod 0640 /var/log/tftpd.log
Puis redémarrer syslogd :
pkill -1 syslogd # ou /etc/rc.d/syslogd restart
Configurer le partage de fichier par NFS, en modifiant/créant le fichier /etc/exports :
/usr/tftpboot -ro -network 192.168.100.0 -mask 255.255.255.0
Faites démarrez l'ensemble de ces services au démarrage de la machine en ajoutant les entrées suivantes au fichier /etc/rc.conf :
# inetd inetd_enable="YES" # NFS rpcbind_enable="YES" nfs_server_enable="YES" nfs_reserved_port_only="YES" # ? mountd_enable="YES" mountd_flags="-r -p 799" # DHCP dhcpd_enable="YES" dhcpd_ifaces="de0"
TODO:
#mkdir /usr/tftpboot/boot #cd /usr/src/sys/boot/i386/pxeldr/pxeboot #make #cp /usr/obj/usr/src/sys/boot/i386/pxeldr/pxeboot /usr/tftpboot/boot mkdir /usr/tftpboot/boot cp /boot/pxeboot /usr/tftpboot/boot/ cp -R /boot/kernel /usr/tftpboot/boot/ #ln -s /usr/tftpboot/boot/pxeboot /usr/tftpboot/pxeboot
/usr/tftpboot/boot/loader.conf :
mfsroot_load="YES" mfsroot_type="mfs_root" mfsroot_name="/boot/mfsroot" #comconsole_speed="115200" #console="comconsole" vfs.root.mountfrom="ufs:/dev/md0c"
/usr/tftpboot/boot/loader.rc :
echo Loading Kernel... load /boot/kernel/kernel echo Loading mfsroot... load -t mfs_root /mfsroot echo booting... echo \007\007 echo initializing h0h0magic... set vfs.root.mountfrom="ufs:/dev/md0c" boot
Démarrage des services :
/etc/rc.d/inetd (re)start /etc/rc.d/rpcbind start /etc/rc.d/mountd start /etc/rc.d/nfsd start # nfsserver ?
Webographie :