Le but est de déployer/centraliser des installations « Netboot » sur des machines Centos7.
Les machines clientes iront chercher sur le PXE l’installation minimal de l’iso Centos7.
Les spécifications de la machine
Host : pxe.house.cpb
- IP : 172.16.186.33 (Static)
- vCore :2
- RAM : 2Go
- Disque :30Go
2 Machines
- pxe.house.cpb : 172.16.186.33
- client-pxe.house.cpb : DHCP via PXE
1°) Désactivation du SElinux
[root@pxe ~]# vi /etc/selinux/config SELINUX=disabled
Redémarrer la machine.
[root@pxe ~]# reboot
2°) Désactiver l’IPV6
[root@pxe ~]# vi /etc/sysctl.conf net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.all.autoconf = 0 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.default.autoconf = 0
[root@pxe ~]# sysctl -p
3°) Installation de paquets utiles
[root@pxe ~]# yum update && yum upgrade [root@pxe ~]# yum -y install qemu-guest-agent [root@pxe ~]# yum -y install htop nmap net-tools [root@pxe ~]# yum -y install epel-release
4°) Installation et configuration DHCP Server
Le serveur DHCP aura la tâche d’attribuer des IP dynamique à chaque client venant se connecter au PXE.
[root@pxe ~]# yum -y install dhcp
[root@pxe ~]# vi /etc/dhcp/dhcpd.conf ddns-update-style interim; ignore client-updates; authoritative; allow booting; allow bootp; allow unknown-clients; # DHCP sur notre Subnet 172.16.186.0/24 subnet 172.16.186.0 netmask 255.255.255.0 { # Plage d’adresse sur le DHCP ici 10 Machines Max range 172.16.186.50 172.16.186.60; option domain-name-servers 192.168.1.1, 172.16.185.1, 172.16.185.2; option domain-name "pxe.house.cpb"; # Passerelle/Gateway option routers 172.16.186.201; option broadcast-address 172.16.186.255; default-lease-time 600; max-lease-time 7200; # IP Static de Notre Server PXE next-server 172.16.186.33; filename "pxelinux.0"; }
Test de la conf DHCP
[root@pxe ~]# dhcpd -t -cf /etc/dhcp/dhcpd.conf
5°) Installation et configuration tftp et Xinetd
[root@pxe ~]# yum -y install tftp tftp-server syslinux vsftpd xinetd
[root@pxe ~]# vi /etc/xinetd.d/tftp service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /var/lib/tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 }
Copie des Fichier Syslinux sur tfp serveur : /tftpboot
[root@pxe ~]# cp -v /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot ‘/usr/share/syslinux/pxelinux.0’ -> ‘/var/lib/tftpboot/pxelinux.0’ [root@pxe ~]# cp -v /usr/share/syslinux/menu.c32 /var/lib/tftpboot ‘/usr/share/syslinux/menu.c32’ -> ‘/var/lib/tftpboot/menu.c32’ [root@pxe ~]# cp -v /usr/share/syslinux/memdisk /var/lib/tftpboot ‘/usr/share/syslinux/memdisk’ -> ‘/var/lib/tftpboot/memdisk’ [root@pxe ~]# cp -v /usr/share/syslinux/mboot.c32 /var/lib/tftpboot ‘/usr/share/syslinux/mboot.c32’ -> ‘/var/lib/tftpboot/mboot.c32’ [root@pxe ~]# cp -v /usr/share/syslinux/chain.c32 /var/lib/tftpboot ‘/usr/share/syslinux/chain.c32’ -> ‘/var/lib/tftpboot/chain.c32’
Copie des Fichiers ISO sur tfp serveur : /pub
Assurer vous que le CD ISO centos est bien monté sur la machine virtuelle
[root@pxe ~]# mount -o loop /dev/sr0 /mnt [root@pxe ~]# ls -al /mnt
[root@pxe ~]# cd /mnt/ [root@pxe mnt]# cp -av * /var/ftp/pub/ [root@pxe mnt]# ls -al /var/ftp/pub/
Copie des fichiers Kernel sur tfp serveur
[root@pxe ~]# mkdir /var/lib/tftpboot/pxelinux.cfg [root@pxe ~]# mkdir /var/lib/tftpboot/networkboot [root@pxe mnt]# cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/networkboot/ [root@pxe mnt]# cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/networkboot/
Umount le CDROM sur /mnt
[root@pxe mnt]# cd / [root@pxe /]# umount /mnt/
6°) Création d’un KIX de démarrage
Générer un password Crypté root pour le KIX
[root@pxe ~]# openssl passwd -1 bettyboop $1$AQexes9s$.SImNOXPq.D7SaQVS5Oz81
Création fichier KixStart sur tftp Server : centos7.cfg
[root@pxe ~]# vi /var/ftp/pub/centos7.cfg #platform=x86, AMD64, or Intel EM64T #version=DEVEL # Firewall configuration firewall --disabled # Install OS instead of upgrade install # Use FTP installation media url --url="ftp://172.16.186.33/pub/" # Root password rootpw --iscrypted $1$AQexes9s$.SImNOXPq.D7SaQVS5Oz81 # System authorization information auth useshadow passalgo=sha512 # Use graphical install graphical firstboot disable # System keyboard keyboard fr # System language lang fr_FR # SELinux configuration selinux disabled # Installation logging level logging level=info # System timezone timezone Europe/Paris # System bootloader configuration bootloader location=mbr clearpart --all --initlabel part swap --asprimary --fstype="swap" --size=1024 part /boot --fstype xfs --size=300 part pv.01 --size=1 --grow volgroup root_vg01 pv.01 logvol / --fstype xfs --name=lv_01 --vgname=root_vg01 --size=1 --grow %packages @^minimal @core %end %addon com_redhat_kdump --disable --reserve-mb='auto' %end
7°) Création du Start Menu
Création fichier Menu sur tftp Server : default
[root@pxe ~]# vi /var/lib/tftpboot/pxelinux.cfg/default default menu.c32 prompt 0 timeout 30 MENU TITLE Infra Centos7 test Christian PXE Menu LABEL centos7_x64 MENU LABEL CentOS 7_X64 KERNEL /networkboot/vmlinuz APPEND initrd=/networkboot/initrd.img inst.repo=ftp://172.16.186.33/pub ks=ftp://172.16.186.33/pub/centos7.cfg
8°) Démarrage des services
Service Xinetd
[root@pxe ~]# systemctl start xinetd && systemctl enable xinetd [root@pxe ~]# systemctl status xinetd
Service DHCP
[root@pxe ~]# systemctl start dhcpd.service && systemctl enable dhcpd.service [root@pxe ~]# systemctl status dhcpd.service
Service vsftp
[root@pxe ~]# systemctl start vsftpd && systemctl enable vsftpd [root@pxe ~]# systemctl status vsftpd
9°) Ouverture des ports sur le Firewall
[root@pxe ~]# firewall-cmd --add-service=ftp --permanent --zone=public [root@pxe ~]# firewall-cmd --add-service=dhcp --permanent --zone=public [root@pxe ~]# firewall-cmd --add-port=69/tcp --permanent --zone=public [root@pxe ~]# firewall-cmd --add-port=69/udp --permanent --zone=public [root@pxe ~]# firewall-cmd --add-port=4011/udp --permanent --zone=public [root@pxe ~]# firewall-cmd --reload
10°) Installation Client Centos7 via PXE
Sur Proxmox
« next »
« next »
« next »
« next »
« next »
« next »
« next »
« finish »
Démarrer la machine Cliente et rentrer dans le BIOS Machine.
Le client se connecte sur le Serveur PXE
Côté Client
Menu de démarrage
Menu d’installation Centos
Laisser faire l’installation « minimal » de la machine Cliente
Views: 19