Avis au Linuxien - Help me pour un projet centos srv NFS

Sly Sword

OCPC Administrator
Membre du Staff
Salut les potos,

Y 'aurait-il un adèpte du scrip Vim sous linux ?

Actuellement en formation, je dois rendre un projet d'un CentOS 8 serveur NFS.

Notre formateur nous àa donne une basse pour fixer l'adresse IP de notre VM en bridge mais celle-ci n'est pour moi pas viable à 100% car si la carte réseau reboot ou si le pc reboot la configuration est perdu et la configuration du networkmanager reprend le fichier de conf de la carte réseau. (pour info le script n'attaque pas ce fichier)

Après nous devons toujours dans ce script lancver les étape d'installation des service nécessaire NFS DHPC exception firewall etc...

J'aimerai mettre une touche personnel à ce projet en effet le déploiement d'un client via NFS ne permet pas d'ajouter ou de modifier la taille des partitions, j'aimerais donc avec ce script appeler les fichier ks.cfg pour déployer un client et le faire soit en choix auto (par défaut) soit en configuration sur mesure.

C'est un devoir à rendre en vu de mon dilpome d'admin système et réseau. :)

Si il y a des aventurier ils sont les bienvenus :) et je mettrais en ligne le script :)


Edit : j'ai aussi découvert FOG serveur je partagerais avec vous dans un autre sujet mes découvertes ;)
 
Salut @Sly Sword

Ton formateur aurait dû te préciser que pour une configuration réseau fixe sur Linux il est possible d'éditer le fichier d'origine pour inclure tes propres paramètres, mais il est également possible de faire tout cela par la console (c'est plutôt recommander) et de ne pas passer par un logiciel annexe.

Voici les paramètres standard pour une configuration manuelle,

Il faut créer un fichier ifcfg-eth0 qui correspond au nom de l'interface réseau à configurer, donc pour t'expliquer je vais prendre la carte réseau RJ45, il s'agit de l'interface eth0.

Fichier à créer dans le dossier /etc/sysconfig/network-scripts

Il doit contenir les informations suivantes:

Code:
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
HWADDR="TON ADRESSE MAC"
NM_CONTROLLED="no"
ONBOOT="yes"
BOOTPROTO=static
# BOOTPROTO=dhcp
IPADDR=TON ADRESSE IP
NETMASK=TON ADRESSE DE SOUS RESEAU (GENERALEMENT 255.255.255.0)
#
# The GATEWAY is sometimes in: /etc/sysconfig/network
GATEWAY=TA PASSERELLE


Par la suite tu devras également modifier un fichier contenant les DNS, qui ce trouve à cette emplacement /etc/sysconfig/network

Par défaut je mets les DNS de google, mais tu devras mettre les DNS de ton prestataire.

Code:
# cat /etc/sysconfig/network
NETWORKING="yes"
DNS1=8.8.8.8
DNS2=8.8.4.4
SEARCH=TON DOMAINE.FR


Il ne te restera plus qu'à exécuter la commande suivante afin d'initialiser les scripts.

Code:
# rpm -qd initscripts


Voilà c'est fini, tu n'as plus qu'a rebooter ton serveur pour prendre les paramètres en compte ;)

Si après le reboot, les paramètres revienne par défaut c'est que tu as fais une erreur quelque part ou alors tu as un problème de chmod !!!
 
Salut @aTx

Oui je connais ce fichier mais le script de base n'attaque pas "ne modifi pas ce fichier" c'est un peu comme si tu était sur GN3 ou packet tracert et que tu lance des commande dans le RUN d'un router et au reboot et bien la start n'a rien.

Mais effectivement je n'ai pas donner toutes les infos voici l'état actuel du porjet et ce script qui ne fait que de ce rallongé :

#set -v
#*************************************************
# les Verificateurs de données *
# *
#*************************************************
VerifOctet()

{
debut=$1
fin=$2
octet=$3
while true
do
if [ $octet -ge $debut -a $octet -le $fin ]
then
echo -en "[\033[01;05;32m ($octet) \033[0m]"
return $octet
break
else
echo -en "[\033[01;05;31m ($octet) \033[0m]"
echo "saisir votre octet compris entre $debut et $fin : \c"
read octet
fi
done
}

VerifMask()
{
debut=$1
octet=$2
[ $debut -eq 0 ] || debut=128
while true
do
case $octet in
$debut|128|192|224|240|248|252|254|255 )
return $octet
break;;
* ) echo -en "[\033[01;05;31m ($octet)KO\033[0m]"
echo "choisir une des valeurs suivante 128 192 224 240 248 252 254 255 :"
read octet;;
esac
done
}

#*************************************************
# *
# les données de la config du network *
# *
#*************************************************



SaisieIP ()
{
echo -e " Saisir une adresse IP sous la forme a.b.c.d : \c"
read adressip

IFS="."
set $(echo "$adressip")
a=$1; b=$2; c=$3; d=$4

VerifOctet 1 254 $a
IPa=$?

VerifOctet 0 254 $b
IPb=$?


VerifOctet 0 254 $c
IPc=$?

VerifOctet 1 254 $d
IPd=$?

echo " Votre IP est : $IPa.$IPb.$IPc.$IPd"

}

SaisieMask()
{
echo -e " saisir votre masque sous la forme a.b.c.d : \c"
read adressip

IFS="."
set $(echo "$adressip")

a=$1; b=$2; c=$3; d=$4


VerifMask 128 $a
Maska=$?

VerifMask 0 $b
Maskb=$?

VerifMask 0 $c
Maskc=$?

VerifMask 0 $d
Maskd=$?


echo " le masque est : $Maska.$Maskb.$Maskc.$Maskd"
}


SaisieDNS ()
{
echo -e " Saisir un DNS a.b.c.d : \c"
read adressip

IFS="."
set $(echo "$adressip")


a=$1; b=$2; c=$3; d=$4


VerifOctet 1 254 $a
DNSa=$?

VerifOctet 0 254 $b
DNSb=$?


VerifOctet 0 254 $c
DNSc=$?

VerifOctet 1 254 $d
DNSd=$?

echo " Le DNS est : $DNSa.$DNSb.$DNSc.$DNSd"

}

SaisieGTW ()
{
echo -e " Entrez votre passerelle au format a.b.c.d : \c"
read adressip

IFS="."
set $(echo "$adressip")

a=$1; b=$2; c=$3; d=$4;


VerifOctet 1 254 $a
GTWa=$?

VerifOctet 0 254 $b
GTWb=$?


VerifOctet 0 254 $c
GTWc=$?

VerifOctet 1 254 $d
GTWd=$?


echo " La passerelle est : $GTWa.$GTWb.$GTWc.$GTWd"

}

SaisieNTW ()
{

ip -o addr
echo "tu prends laquelle?"
read netcard
echo "Je vais rectifdier tes betises, je vais prendre celle la : $netcard"

echo "Regarde si c est bon, sinon Ctrl+c et tu recommence!"
echo " IP=$IPa.$IPb.$IPc.$IPd"
echo " Mask=$Maska.$Maskb.$Maskc.$Maskd"
echo " GTW=$GTWa.$GTWb.$GTWc.$GTWd"
echo " DNS=$DNSa.$DNSb.$DNSc.$DNSd"
read reponse

ip addr flush dev $netcard
ip addr add $IPa.$IPb.$IPc.$IPd / $Maska.$Maskb.$Maskc.$Maskd dev $netcard
ip route add default via $GTWa.$GTWb.$GTWc.$GTWd
echo "nameserver $DNSa.$DNSb.$DNSc.$DNSd" > /etc/resolv.conf
systemctl restart NetworkManager.service

}

SaisieIP
SaisieMask
SaisieDNS
SaisieGTW
SaisieNTW

#*************************************************
# *
# on test le reseau en bridge *
# *
#*************************************************
echo "Mets ta carte en Bridge, et plus vite que ça on a du TAF"
echo "tape entrer quabd tu te reveille"
read



ping -c 4 8.8.8.8 >/dev/null 2>&1 && echo -en " [\033[01;32m Ca PING!! \033[0m]\n" \
|| echo -en "FAUX [\033[01;31m T es vraiment Nul \033[0m]\n"

#*************************************************
# *
# on installe les softs d admin *
# *
#*************************************************
#echo " Maintenant il te faut des outils voila un DHCP"
yum -y install dhcp-server.x86_64
echo " on passe au TFTP mais pas certain que ce soit fait pour toi"
yum -y install tftp-server.x86_64
echo " on l installe mais n'y touche jamis, OK?? Syslinux "
yum -y install syslinux.x86_64
echo " ca c est pas NINTENDO Familly Services... NFS et ACL "
dnf -y install nfs4-acl-tools-0.3.5-3.el8.x86_64


#*************************************************
# *
# on test le reseau en HOST-ONLY *
# *
#*************************************************

echo " T'es capable de mettre ta carte en Host-Only ?"
echo " tape entrer et je lance la commande"

SaisieIP
SaisieMask
SaisieGTW
SaisieNTW


#*************************************************
# *
# On avance meme si ca ne sert a rien *
# *
#*************************************************
echo "authoritative;" > /etc/dhcp/dhcpd.conf
echo "subnet $IPa.$IPb.$IPc.0 netmask $Maska.$Maskb.$Maskc.$Maskd {" >> /etc/dhcp/dhcpd.conf
echo "range $IPa.$IPb.$IPc.100 $IPa.$IPb.$IPc.120;" >> /etc/dhcp/dhcpd.conf
echo "option routers $IPa.$IPb.$IPc.$IPd;" >> /etc/dhcp/dhcpd.conf
echo "option domain-name-servers $IPa.$IPb.$IPc.$IPd;" >> /etc/dhcp/dhcpd.conf
echo "option broadcast-address $IPa.$IPb.$IPc.255;" >> /etc/dhcp/dhcpd.conf
echo "next-server $IPa.$IPb.$IPc.$IPd;" >> /etc/dhcp/dhcpd.conf
echo "option subnet-mask $Maska.$Maskb.$Maskc.0;" >> /etc/dhcp/dhcpd.conf
echo "filename \"pxelinux.0\";" >>/etc/dhcp/dhcpd.conf
echo "}" >> /etc/dhcp/dhcpd.conf


systemctl enable dhcpd.service
systemctl restart dhcpd.service
systemctl status dhcpd.service
systemctl enable --now tftp.socket
systemctl restart tftp.socket
systemctl status tftp.socket
systemctl start firewalld.service
firewall-cmd --add-service=tftp --permanent
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --reload
systemctl restart firewalld.service

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp /usr/share/syslinux/ldlinux.c32 /var/lib/tftpboot/
cd /var/lib/tftpboot/
mkdir pxelinux.cfg

echo "PROMPT 0" > pxelinux.cfg/default
echo "DEFAULT linux" >> pxelinux.cfg/default
echo "LABEL linux" >>pxelinux.cfg/default
echo "KERNEL vmlinuz" >> pxelinux.cfg/default
echo "APPEND initrd=initrd.img ks=nfs:$IPa.$IPb.$IPc.$IPd:/reponses/ks.cfg" >> pxelinux.cfg/default

mkdir /SrcCentos
mkdir /reponses
chmod -R 777 /reponses

mount /dev/sr0 /SrcCentos/
cd /SrcCentos/images/pxeboot
cp vmlinuz initrd.img /var/lib/tftpboot/
cd
echo "/reponses $IPa.$IPb.$IPc.0/24(ro,sync,no_root_squash,no_subtree_check)" > /etc/exports
echo "/SrcCentos $IPa.$IPb.$IPc.0/24(ro,sync,no_root_squash,no_subtree_check)" >> /etc/exports

systemctl enable --now nfs-server.service
systemctl restart nfs-server.service
systemctl status nfs-server.service
exportfs -v

cp /root/anaconda-ks.cfg /reponses/ks.cfg
sed -i "s/#\ Use\ CDROM\ installation\ media/#use\ nfs\ installation/g" /reponses/ks.cfg
sed -i "s/\ cdrom\ nfs/ \--server=$IPa.$IPb.$IPc.$IPd\ --dir=/SrcCentos/g" /reponses/ks.cfg
#sed -i "s/cdrom/nfs\ --server=$IPa.$IPb.$IPc.$IPd\ --dir=/SrcCentos/g" /reponses/ks.cfg
#sed -i "s/cdrom/nfs\ --server=$IPa.$IPb.$IPc.$IPd\ --dir=/SrcCentos/g" /reponses/ks.cfg
#nfs --server=$IPa.$IPb.$IPc.$IPd --dir=/SrcCentos

Le but est d'avoir une VM CentOs 8 avec un système de partition non LVM mais personalisé

Actuellement bloque au niveau du srv DHCP y a du rouge partout.


Tu remarquera que nous ne modifions jamais les fichier de configuration de la carte :

/etc/sysconfig/network-scripts/ifcfg-ens33 ni /etc/sysconfig/network, d'ailleurs dans ce dernier il n'y a rien sauf ceci # Created by anaconda

Hiers soir notre prof nous à passer un autre jeu pour le script :

SaisieMASK()
{
echo -e " saisir votre masque en notation CIDR VALEUR COMPRIS ENTRE 0 ET 32 : \c"
read valeur
while true
do
if [ $valeur -ge 0 -a $valeur -le 32 ]
then
return $valeur
break
else
echo -en "Votre saisie ${rouge} ($valeur) est fausse ${blanc}"
echo -e " saisir votre masque en notation CIDR VALEUR COMPRIS ENTRE 0 ET 32 : \c"
read valeur
fi
done
}

SaisieMASK
MASKCIDR=$?


Pour moi c'est pour que le mask soit ajouter en PREFIX CIDR sur le fichier de configuration de la carte réseau, mais je n'en sais pas plus je n'ai pas participé à cette réunion tardive :(


La finalité du projet demander c'est qu'avec ce script nous configurons le serveur en bridge puis en host only, afin qu'il devienne un serveur de déploiement NFS pour déployer d'autre client CentOS 8.

Mais je trouve ce script très long rien que pour configurer le réseau, et je remarque que la configuration n'est pas 100% viable
 
Attend tu pars sur une VM et non sur un vrai serveur du coup c'est pour cela que ta configuration foire, les VM passe par des carte réseau virtualisé donc tu as beau crée un script avec l'IP, mask ect... cela ne fonctionnera pas vue que l'adresse IP elle même change sans arrêt, exemple avec VM Ware, celui-ci utilise VMNAT (leur carte réseau virtualiser) pour ce connecter a internet, si tu tapes un "ipconfig" sur la VM et que tu tapes un "ipconfig" sur ton PC par exemple tu verras que l'adresse IP et le sous réseau son complétement différent !

Après perso tu te casse la nenette pour pas grand chose a mon avis, je suis sur qu'il y en a plein sur le net des script de ce genre, après je n'ai pas cherché non plus mais cela doit exister ?

Après si il n'y a pas de fichier dans "network-scripts" et "network" normal que cela ne fonctionne pas, les run charge les fichiers qui sont dans "network-scripts" et "network", je comprend également que ta config reviens par défaut au démarrage vue que les dossier son vide.

Je ne comprend pas pourquoi ton formateur ne passe par "network-scripts" et "network" vue que c'est quand même la base du réseau :Dubitatif:
 
mais je suis d'accord avec toi il fait compliqué alors que cela pourrai être simple.

pour ma vm et bien moi je fait un bridge physique sur ma carte réseau dans Virtual network Editor. Vmnet 0

j'ai réussi à faire le tp nfs sans souci ( installation avec une procédure et entré les commande une à une sans script auto)

J'ai même une VM pour un srv fog sous Debian et CenteOS avec services srv dhcp etc... tout en ayant ma box en dhcp, passerelle, et dns et j'arrive à deployer même des master avec sysprep sur machine virtuel et réel.

mais son script de configuration est bancal, enfin pour moi, car tous les tuto que je trouve et même toi, modifie le fichier config de la carte réseau.

aujourd'hui j ai un peux avancer mais maintenant j ai deux ip sur la même n.i.c

et le dhcp srv est failled alors que ma vm du tp initial du.cdu.ctdonne toujours.

As-tu vu le script en entier ?

donc oui je suis d'accord avec toi sont script comme tu le vois est de faire compliquer quand on peu faire simple mais je ne sais pas code mou alors que j'ai tout en tête dans le process même modifier les fichier réponse pour qui ajoute ou modifier des partitions.
 
Dernière édition:
Non je n’ai pas de script enfin uniquement ceux qui sont au boulot, j’ai réglé tout les serveurs à mon boulot (c’est la façon que j’ai apprise au lycée) de cette façon même le master est réglé ainsi et pour qu’il n’y est pas de conflit d’IP au moment du reboot, j’ai également inclus les adresses mac des serveurs dans le modem avec attribution d’IP static ;)
 
bon ça avance avec ce truc un peu bancale enfin ce truc qquoi, obliger de rester dans le sujet qui ne laisse pa sla place à l'adaptation

voici ce que ça donne :

#set -v
#*************************************************
# les validateurs de données *
#*************************************************

VerifOctet()

{
debut=$1
fin=$2
octet=$3
while true
do
if [ $octet -ge $debut -a $octet -le $fin ]
then
echo -en "[\033[01;05;32m ($octet) \033[0m]"
return $octet
break
else
echo -en "[\033[01;05;31m ($octet) \033[0m]"
echo "saisir votre octet compris entre $debut et $fin : \c"
read octet
fi
done
}

VerifMask()
{
debut=$1
octet=$2
[ $debut -eq 0 ] || debut=128
while true
do
case $octet in
$debut|128|192|224|240|248|252|254|255 )
return $octet
break;;
* ) echo -en "[\033[01;05;31m ($octet)KO\033[0m]"
echo "choisir une des valeurs suivante 128 192 224 240 248 252 254 255 :"
read octet;;
esac
done
}

#***********************************************************
# *
# Outils de configuration des paramètres réseau *
# Mode silencieux *
#***********************************************************

SaisieIP ()
{
echo -e " Saisir une adresse IP sous la forme a.b.c.d : \c"
read adressip

IFS="."
set $(echo "$adressip")
a=$1; b=$2; c=$3; d=$4

VerifOctet 1 254 $a
IPa=$?
VerifOctet 0 254 $b
IPb=$?
VerifOctet 0 254 $c
IPc=$?
VerifOctet 1 254 $d
IPd=$?

echo " Votre IP est : $IPa.$IPb.$IPc.$IPd"
}

SaisieMask()
{
Maska=255;Maskb=255;Maskc=255;Maskd=0;
echo -e " saisir votre masque en notation CIDR VALEUR COMPRIS ENTRE 0 ET 32 : \c"
read valeur
while true
do
if [ $valeur -ge 0 -a $valeur -le 32 ]
then
return $valeur
break
else
echo -en "Votre saisie ${rouge} ($valeur) est fausse ${blanc}"
echo -e " saisir votre masque en notation CIDR VALEUR COMPRIS ENTRE 0 ET 32 : \c"
read valeur
fi
done
}


SaisieDNS ()
{
echo -e " Saisir un DNS a.b.c.d : \c"
read adressip
IFS="."
set $(echo "$adressip")
a=$1; b=$2; c=$3; d=$4
VerifOctet 1 254 $a
DNSa=$?
VerifOctet 0 254 $b
DNSb=$?
VerifOctet 0 254 $c
DNSc=$?
VerifOctet 1 254 $d
DNSd=$?

echo " Le DNS est : $DNSa.$DNSb.$DNSc.$DNSd"
}

SaisieGTW ()
{
echo -e " Entrez votre passerelle au format a.b.c.d : \c"
read adressip
IFS="."
set $(echo "$adressip")
a=$1; b=$2; c=$3; d=$4;
VerifOctet 1 254 $a
GTWa=$?
VerifOctet 0 254 $b
GTWb=$?
VerifOctet 0 254 $c
GTWc=$?
VerifOctet 1 254 $d
GTWd=$?

echo " La passerelle est : $GTWa.$GTWb.$GTWc.$GTWd"
}

SaisieNTW ()
{

ip -o addr
echo " Saisir le nom de la carte réseau ens33 sur VMware "
read netcard

echo " Avertissement votre script va prendre selectionner la : $netcard"
echo " IP=$IPa.$IPb.$IPc.$IPd"
echo " Mask=$Maska.$Maskb.$Maskc.$Maskd"
echo " GTW=$GTWa.$GTWb.$GTWc.$GTWd"
echo " DNS=$DNSa.$DNSb.$DNSc.$DNSd"
echo " Valider sur ENTER si ok, sinon faites Ctrl+c pour recommencer ou corriger le script ! "
read reponse

ip addr flush dev $netcard
ip addr add $IPa.$IPb.$IPc.$IPd/$MASKCIDR broadcast \
$GTWa.$GTWb.$GTWc.255 dev $netcard
ip route add default via $GTWa.$GTWb.$GTWc.$GTWd

echo "nameserver $DNSa.$DNSb.$DNSc.$DNSd" > /etc/resolv.conf
systemctl enable NetworkManager.service
systemctl restart NetworkManager.service

}

echo " #*************************************************
# configuration réseau en mode Bridge *
#************************************************* "

SaisieIP
SaisieMask
MASKCIDR=$?
SaisieDNS
SaisieGTW
SaisieNTW

echo " #*************************************************
# *
# test du reseau en bridge *
# *
#************************************************* "

echo " taper ENTER si OK sinon CTRL+C pour quitter "
read reponse

ping -c 4 iprec.fr >/dev/null 2>&1 && echo -en " [\033[01;32m Ca PING!! \033[0m]\n" \
|| echo -en "FAUX [\033[01;31m T es vraiment Nul \033[0m]\n"

echo " #*************************************************
# *
# Check YUM Udapte & *
# installations des SERVICES *
# DHCP - TFTP - Syslinux - NFS4 *
# *
#************************************************* "

echo " vérification des mises à jours CentOs 8, il dit oui à tout "
yum update -y

echo " Installation du serveur DHCP"
yum -y install dhcp-server.x86_64


echo " Installation du serveur TFTP"
yum -y install tftp-server.x86_64


echo " installation de Syslinux "
yum -y install syslinux.x86_64


echo " Installation des Services NFS4 et ACL "
dnf -y install nfs4-acl-tools-0.3.5-3.el8.x86_64

echo "#*************************************************
# *
# Configuration du reseau en HOST-ONLY *
# *
#************************************************* "

echo " Saisir le nom de la carte réseau ens33 sur VMware "
echo " taper ENTER si OK sinon CTRL+C pour quitter"

SaisieIP
SaisieMask
MASKCIDR=$?
SaisieGTW
SaisieDNS
SaisieNTW

echo "#*************************************************
# *
# CONFIGURATION SERVICES *
# DHCP-TFTP-NFS-FIREWALL *
# Fichier réponse *
#*************************************************"



echo "authoritative;" > /etc/dhcp/dhcpd.conf
echo "subnet $IPa.$IPb.$IPc.0 netmask $Maska.$Maskb.$Maskc.$Maskd {" >> /etc/dhcp/dhcpd.conf
echo "range $IPa.$IPb.$IPc.100 $IPa.$IPb.$IPc.120;" >> /etc/dhcp/dhcpd.conf
echo "option routers $IPa.$IPb.$IPc.$IPd;" >> /etc/dhcp/dhcpd.conf
echo "option domain-name-servers $IPa.$IPb.$IPc.$IPd;" >> /etc/dhcp/dhcpd.conf
echo "option broadcast-address $IPa.$IPb.$IPc.255;" >> /etc/dhcp/dhcpd.conf
echo "next-server $IPa.$IPb.$IPc.$IPd;" >> /etc/dhcp/dhcpd.conf
echo "option subnet-mask $Maska.$Maskb.$Maskc.0;" >> /etc/dhcp/dhcpd.conf
echo "filename \"pxelinux.0\";" >>/etc/dhcp/dhcpd.conf
echo "}" >> /etc/dhcp/dhcpd.conf



systemctl enable dhcpd.service
systemctl restart dhcpd.service
systemctl status dhcpd.service


systemctl enable --now tftp.socket
systemctl restart tftp.socket
systemctl status tftp.socket



systemctl start firewalld.service
firewall-cmd --add-service=tftp --permanent
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --reload
systemctl restart firewalld.service


cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp /usr/share/syslinux/ldlinux.c32 /var/lib/tftpboot/
cd /var/lib/tftpboot/
mkdir pxelinux.cfg

echo "PROMPT 0" > pxelinux.cfg/default
echo "DEFAULT linux" >> pxelinux.cfg/default
echo "LABEL linux" >>pxelinux.cfg/default
echo "KERNEL vmlinuz" >> pxelinux.cfg/default
echo "APPEND initrd=initrd.img ks=nfs:$IPa.$IPb.$IPc.$IPd:/reponses/ks.cfg" >> pxelinux.cfg/default

mkdir /SrcCentos
mkdir /reponses
chmod -R 777 /reponses

mount /dev/sr0 /SrcCentos/
cd /SrcCentos/images/pxeboot
cp vmlinuz initrd.img /var/lib/tftpboot/
cd

echo "/reponses $IPa.$IPb.$IPc.0/24(ro,sync,no_root_squash,no_subtree_check)" > /etc/exports
echo "/SrcCentos $IPa.$IPb.$IPc.0/24(ro,sync,no_root_squash,no_subtree_check)" >> /etc/exports

systemctl enable --now nfs-server.service
systemctl restart nfs-server.service
systemctl status nfs-server.service
exportfs -v

cp /root/anaconda-ks.cfg /reponses/ks.cfg
sed -i "s/#\ Use\ CDROM\ installation\ media/#use\ nfs\ installation/g" /reponses/ks.cfg
sed -i "s/cdrom/nfs --server=$IPa.$IPb.$IPc.$IPd --dir=\/SrcCentos/" /reponses/ks.cfg

#systemctl enable dhcpd.service
#systemctl restart dhcpd.service
#systemctl status dhcpd.service
#systemctl enable --now tftp.socket
#systemctl restart tftp.socket
#systemctl status tftp.socket
#mount /dev/sr0 /SrcCentos/
#systemctl enable --now nfs-server.service
#systemctl restart nfs-server.service
#systemctl status nfs-server.service
#exportfs -v

le client boot buien le pxe mais il semble que si on lance un srv neuf sans mise à jour cela peine un peux jaimerai bien lancer en premier la vérif des mise à jour en -y et que le pc reboot ensuite et reprend le script mais cela deviens compliqué pour moi :p
 
Je t’avouerai que je n’ai malheureusement pas le temps pour vérifier cela de plus je n’ai pas de VM avec CentOS et comme je pars demain, désolé :)
 
Salut :)

@aTx alors j'ai réussi à trouver plusieur solution et j'ai livré mon script :)

La première solution est d'utiliser en grande parti la solution du formateur sur le fhush de la netcard, mais j'ai trouvé la parade via un petit script du net afin de convertir le CIDR en masque et ainsi n'avoir aucun souci d'erreur sur le masque :)

J'ai en parallèle aidé un collègue qui ne voulais pas de truc bancal :) donc pas de flush qui foutais la merde, en fait dans ce second sript il utilise les focntionnalité nmcli et c'est encore plus simple :)

Ci-joint mon script et le sien :) obliger de les mettre en pdf :(
 

Pièces jointes

  • Script_sly.pdf
    319.1 KB · Affichages: 4
  • Sly_collègue.pdf
    314.4 KB · Affichages: 2
j'ai trouvé la parade via un petit script du net afin de convertir le CIDR en masque...
[mode Caramel ON]
Convertir le cidre en masque ? :Insit 1d80:
Pour pallier la pénurie liée au Covid-19 ?

Voilà qui est une bonne idée !
... qui va relancer l'économie en Normandie. :Icon Clap1 1a1655:
[/mode Caramel OFF]

 
Retour
Haut