×
Bienvenue sur le nouveau serveur de l'Aru2L (17 Nov 2012)

Nous voila en phase beta suite à une refonte totale du site de l'aru2L, n'hésitez pas à faire remonter les Bugs que vous pouvez trouver sur contact(@)aru2l.org (enlever les parenthèses) ou en créant un post sur le forum.
Nous vous prions de bien vouloir nous excusez pour la gène occasionnée.

Topic-icon Serveur PXE,TFTP,BOOTP,NFS,APT-CACHE, ..

Plus d'informations
il y a 10 ans 6 mois - il y a 6 ans 9 mois #863 par RPG
RPG a créé le sujet : Serveur PXE,TFTP,BOOTP,NFS,APT-CACHE, ..
A la demande générale, ci-dessous la procédure d'install du Serveur Aru2l opérationnel.

Installation du Serveur Aru2l

Pré-requis :
Un réseau 10/100/1000 au choix
Dans notre cas :
Une machine serveur DHCP/BOOTP/TFTP/NFS/Apt-Cacher (@IP 192.168.0.2)
Une machine accés à Internet (ou routeur) (@IP 192.168.0.1)
Tout plein de LiveCD à tester...
Une machine à installer à partir de rien...(enfin, si, en mode PXE)

Méthodologie d'installation :
1) Installation basique
2) Installation paquet apt-cacher pour mise en cache des téléchargements des paquets.
3) Installation Mise à Jour / Paquet Français / Divers Optim.
4) Mise en place du serveur DHCP/BOOTP
5) Mise en place du serveur TFTP
6) Paramétrage divers et mise en place Menu PXE
7) Mise en place du serveur NFS
8) Test Installation et paramétrage Client pour apt-cacher via sed..

Reste à faire : Monter un CD pré paramétrer avec fond d'écrans, mise à jours, softs préinstallers, françisation ... via uck par exemple ou automatix à voir.

1) Installation Basique : Dans mon cas Ubuntu Desktop 7.10
Procéder à une installation standard du poste.
Tout de base, on verra le paramétrage du réseau, des màj.. + loin.

2) Installation du service apt-cache pour assurer le rôle de tampon par rapport aux mises à jour des postes du réseau. *(1)
ligne de commande puis sudo apt-get install apt-cacher
Mise en place du paramétrage
sudo nano /etc/apt-cacher/apt-cacher.conf
Modification de la plage d'adresse autorisée à utiliser apt-cacher.
Remarque : Inutile de mettre localhost 127.0.0.1 les versions récentes de apt-cacher le font automatiquement allowed_hosts=192.168.0.0/24

Génération des reportings (par défaut)
generate_reports=1

Modification du proxy si nécessaire
http proxy=193.253.141.80:80
use proxy=1

sudo nano /etc/default/apt-cacher
Modification du mode de démarrage si nécessaire
AUTOSTART=1

Tout est fini pour apt-cacher.
On relance la bête pour intégrer les changements par :
sudo /etc/init.d/apt-cacher restart

Quelques liens utiles pour voir le fonctionnement.
Remarque : J'ai gardé le port par défaut 3142.
Etat du service : http://[localhost]:3142/ (on peut remplacer localhost par @IP : 192.168.0.2 ici)
Reporting : http://[localhost]:3142/apt-cacher/report idem ci-dessus.

Il reste maintenant à paramétrer les clients pour pouvoir bénéficier de apt-cacher, nous verrons cela à la fin du post.

3) Installation des mises à jours du serveur, paquet français & more...
Soit en mode ligne de commande
sudo apt-get update
sudo apt-get upgrade
On peut se faire plaisir ensuite avec un p'tit sudo apt-get autoclean pour le fun..

4) Mise en place du serveur DHCP/BOOTP
Tout cela se fait via le paquet dhcp3-server *(2)
Donc installation via sudo apt-get install dhcp3-server
Mise en place du paramétrage :
3 fichiers à modifier.
sudo nano /etc/network/interfaces : Contient tout ce qui à trait aux cartes réseaux.
Dans celui du serveur nous mettons, la carte eth1 en adresse fixe 192.168.0.2 et la passerelle 192.168.0.1, ce qui se traduit par :
# Interface ETHERNET primaire.

auto eth1
iface eth1 inet static
address 192.168.0.2
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
Fin de interfaces

sudo nano /etc/dhcp3/dhcpd.conf : Contient tout ce qui à trait au DHCP/BOOTP.
# Configuration Serveur Aru2l DHCP
# Serveur DHCP c'est celui-là, forçage :-)
authoritative;
# Param DNS : Pas de mise à jour particulière
ddns-update-style none;

# Baux DHCP
allow unknown-clients;
# On autorise tout le monde
default-lease-time 1800; # 30 minutes
max-lease-time 7200; # 2 heures

# Log
: On met en place les logs
log-facility local7;

# Réseau
# Sous-réseau 192.168.0.0/24, Passerelle 192.168.0.1, Serveur BOOTP le même
# Mise en place de PXE via le fichier à charger pxelinux.0 (serveur TFTP)
# Un peu de pub..
subnet 192.168.0.0 netmask 255.255.255.0

{
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
range 192.168.0.10 192.168.0.100;
filename "pxelinux.0";
next-server 192.168.0.2;
ping-check = 1;
option domain-name-servers 192.168.0.2;
option domain-name "aru2l.org";
}

# Autorisation du boot distant
# On autorise le boot et le bootp (envoie du fichier PXE), sinon on s'est embété
# pour rien... !
allow bootp;
allow booting;
Fin de dhcpd.conf

Et enfin on attaque le dernier.qui indique au daemon quelle interface surveiller.
sudo nano /etc/default/dhcp3-server
# Une seule interface donc une seule carte référencée
INTERFACES="eth1"
Fin de dhcp3-server

L'éthique me force à dire ;-) que l'on a fait d'une pierre, 2 coups. En effet, on a déjà pratiqué ici le paramétrage d'une partie de TFTP (fichier PXE à charger, BOOTP).. Que nous n'aurons pas besoin de rajouter dans la partie TFTP que voici.

5) Installation serveur TFTP.
Comme d'habitude, on attaque par l'installation du paquet.
sudo apt-get install tftpd-hpa *(3)
Fin des hostilités.
Paramétrage du daemon
sudo nano /etc/default/tftpd-hpa
# On lance TFTPD et on indique ou aller récupérer les fichiers
# On notera le nom de l'utilisateur (aru2l) :-)
RUN_DAEMON="yes"
OPTIONS="-l -c -u aru2l -s /var/lib/tftpboot"
Fin de tftpd-hpa

Il reste à faire 2 modifs de droits sur les répertoires.
sudo chown aru2l:aru2l /var/lib/tftpboot/ -R
sudo chmod 1777 /var/lib/tftpboot/
Redémarrage du serveur tftpd
sudo /etc/init.d/tftpd-hpa restart
Fin de tftpd


6) PXE Go !!!
Ossature. On se positionne dans le bon répertoire et on récupère les fichiers nécessaires.
cd /var/lib/tftpboot/
On récupère le fichier netboot d'Ubuntu Gusty
wget archive.ubuntu.com/ubuntu/dists/gutsy/ma...tboot/netboot.tar.gz
On décompresse le fichier tar -xvzf netboot.tar.gz
On monte l'image du liveCD d'installation ubuntu Desktop que l'on aura au prélable récupérer soit en direct, soit en faisant une image d'un CD via dd if=/dev/cdrom of=ubuntu7.10.iso par exemple.
Ici on va monter cette image pour extraire les fichiers dont on a besoin
sudo mount -o loop -t iso9660 /Ubuntu/ubuntu-7.10-desktop-i386.iso /media/cdrom0/
On copie le noyau du liveCD pour le boot distant dans le repertoire /var/lib/tftpboot/ (ne pas oublier le point final)
cp /media/cdrom0/casper/vmlinuz .
cp /media/cdrom0/casper/initrd.gz .


On ajoute le boot depuis le l'image CD par le biais du le serveur NFS à la configuration pxe
nano pxelinux.cfg/default
LABEL LiveCD
kernel vmlinuz
append initrd=initrd.gz boot=casper netboot=nfs nfsroot=192.168.0.2:/media/cdrom0

7) Installation du serveur NFS
Toujours la même histoire *(4)
sudo apt-get install nfs-kernel-server
Perso, je me suis pas embêter, j'ai créé deux répertoires un pour Ubuntu 7.10 et un pour Kubuntu 7.10. donc je me suis fendu d'un sudo mkdir /media/virt0 et d'un sudo mkdir /media/virt1
Ensuite :
sudo mount -o loop -t iso9660 /Ubuntu/ubuntu-7.10-desktop-i386.iso /media/virt0/
sudo mount -o loop -t iso9660 /Ubuntu/kubuntu-7.10-desktop-i386.iso /media/virt1/
Et hop, roule ma poule. Pb actuel, je suis obligé de relancer ces commandes à chaque redémarrage du serveur .. Point à améliorer.
Il faut maintenant modifier les répertoires exportés pour NFS.
sudo nano /etc/exports
/media/virt0 192.168.0.0/24(ro,async)
/media/virt1 192.168.0.0/24(ro,async)
Fin des modifs.
Redémarrage du serveur NFS
sudo /etc/init.d/nfs-kernel-server restart et zoup c'est bon.



7 Bis : Cosmétique du menu PXE.*(5)

Plutôt qu'utiliser le menu moche de base on va améliorer les choses via un jolie menu coloré.
Pour cela, on récupère menu.c32 qui permet les couleurs, les raccourcis claviers, ...
On se positionne sur www.kernel.org/pub/linux/utils/boot/syslinux/ et on récupère le dernier syslinux.pour en extraire pxelinux.0 et menu.c32 que l'on copie à la racine de /var/lib/tftpboot (on écrase ceux présent...)
On peut ensuite faire un jolie menu comme...
nano /var/lib/tftpboot/pxelinux.cfg/default

DEFAULT menu.c32

TIMEOUT 50
ALLOWOPTIONS 0
PROMPT 0

MENU TITLE Menu Aru2l

LABEL BootDisque
MENU LABEL ^Boot Disque
MENU DEFAULT
LOCALBOOT 0

LABEL Ubuntu
MENU LABEL ^Ubuntu
kernel vmlinuz
append vga=normal initrd=initrd.gz boot=casper netboot=nfs nfsroot=192.168.0.2:/media/virt0

LABEL KUbuntu
MENU LABEL ^KUbuntu
kernel vmlinuz
append vga=normal initrd=initrd.gz boot=casper netboot=nfs nfsroot=192.168.0.2:/media/virt1

Fin du menu

8) Installation du client
Démarrer le client en mode PXE (F10, BIOS, ...) quand le menu apparaît choisir ce que l'on veut installer (Ubuntu, Kubuntu, ..)

Cela va lancer le LiveCD et on pourra cliquer sur Install pour procéder à l'installation.
Le mieux étant d'aller dans Synaptics et de cocher tout par défaut et choisir université de nantes pour le serveur HTTP de mise à jour (cohérent avec apt-cache de mon serveur, sur le votre, vous faites comme vous voulez... :-) )
Ensuite on procède à une sauve du sources.list par
sudo cp /etc/apt/sources.list /etc/apt/sources.list.origine
Ensuite, il suffira de lancer cette ligne pour modifier comme il se doit les fichiers sources.
sed -i -e 's!http://!http://192.168.0.2:3142/!g' /etc/apt/sources.list
on remplacera évidemment 192.168.0.2 par le nom ou l'adresse du serveur. ;-)

On pourra revenir après installation aux sources list d'origine par :
sudo cp /etc/apt/sources.list.origine /etc/apt/sources.list

Voilà, c'est fini..

Bon, ça paraît long mais c'est hyper rapide à faire... Voir même ça pourrait être scriptable...

@+ Bonnes installations

Documentations et liens qui (dés fois) aide...
(1) blog.sietch-tabr.com/index.php/post/2008...-vos-machines-Debian Manque autorisation des clients dans apt-cacher;conf
www.debuntu.org/how-to-set-up-a-reposito...ache-with-apt-cacher Et ce lien pour le reste.

(2) doc.ubuntu-fr.org/dhcp3-server Peut servir mais pas dans notre cas. Trop fouillis.

(3) doc.ubuntu-fr.org/tftpd Moi, j'aime pas. Je préfère la version (4) pour tftpd

(4) postit.petitchevalroux.net/index.php/cat...all-ou-netboot).html très bon comme trame :-)

(5) www.etincelle.cc/sections.php?op=viewarticle&artid=41


Améliorations rapides et petites corrections.
On peut faire Alt+F2 (Ubuntu) et lancer gksu gedit ... au lieu de terminal et sudo nano ..
(Pour les allergiques à la ligne de commande)
On a utiliser tftpd-hpa mais on peut utiliser atftpd, pxe, tftp, ...
Au lieu de crééer /media/virt0 et /media/virt1, on monte les images en loop pour pouvoir récupérer les fichiers (inutiles si on a les CD's au lieu de l'image.) et on copie tout dans un répertoire sous /var/lib/tftpboot
ça donne :

sudo mkdir /var/lib/tftpboot/Ubuntu
cp /var/lib/tftpboot/Ubuntu
sudo cp -r /media/virt0/. .
Et là y'a tout pareil dans Ubuntu..

Reste juste à modifier les exports NFS...
Remplacer /media/virt0 par /var/lib/tftpboot/Ubuntu

On peut faire plus court et ailleurs si on respecte les chemins dans les fichiers de conf.

J'ai corrigé une erreur de lien (il manquait le i à i386) et dans /etc/exports il ne faut pas d'espace dans le paramétrage des droits sur les partages. (j'avais mis (ro, async) et il faut (ro,async))

Pour les autres OS's, normalement, y'a pas de pb, il suffit de récupérer les fichiers de boot réseaux et de copier ensuite le contenu du CD dans un répertoire... Avantage de cette solution (il ne s'agit pas d'un netinstall.. ;-) )

Pour le serveur Aru2l, j'ai mis squid pour la gestion des accés Internet mode transparent sur 4Go de disque (largement trop :-)) et j'ai aussi mis apt-cacher pour les distros Debian.

Je ferai un post sur l'install équivalente en mode W2000, problématique NFS donc on passe dans ce cas-là, en mode install Apache (http & more)

Aucun de nous ne sait ce que nous savons tous, ensemble.
'Lao Tseu'
Dernière édition: il y a 6 ans 9 mois par RPG.

Connexion pour participer à la conversation.

Plus d'informations
il y a 10 ans 6 mois #864 par stephdl
stephdl a répondu au sujet : Re:Serveur PXE,TFTP,BOOTP,NFS,APT-CACHE, ..
brave boulot p'tit gars !!!!!!!B)

.....être Libre, c'est aussi être Militant.....

stephane (att) de-labrusse (punto) fr

Connexion pour participer à la conversation.

Plus d'informations
il y a 10 ans 6 mois #867 par RPG
RPG a répondu au sujet : Re:Serveur PXE,TFTP,BOOTP,NFS,APT-CACHE, ..
Bon, trop compliqué tout ça.. Je vais refaire le truc en plus ligth et plus simple. Je vous raconte même pas comme ça se fait hyper facile sous M$ grâce à TFTPD32 http://tftpd32.jounin.net/ (<- Un Frenchy qui à fait un super prog..)

Bon allez, je repars faut que je valide avec quoi on va faire le tampon. Toutes vos idées seront étudiées et débatues.
atp-cacher : Bien mais juste pour les pacquets deb
apt-proxy : Idem
apt-mirror : Nécessite de tout télécharger avant
Squid : Proxy à installer (quand même un poil plus compliqué .. ;-) )

Je pense tester tout ça et un mix. Par exemple, un p'tit apt-cacher avec un Squid en frontal :-) Parce que ça pour Ubuntu y'a pas de pb.. En revanche pour Mandriva, va falloir se retrousser les manches.

Y'a aussi la solution hyper élégante de faire un CD à jour et préparamétrer.. Bref, y'a encore du taf ! :-) QUi est prêt ?

Aucun de nous ne sait ce que nous savons tous, ensemble.
'Lao Tseu'

Connexion pour participer à la conversation.

Plus d'informations
il y a 10 ans 6 mois #868 par ca_mousse
ca_mousse a répondu au sujet : Re:Serveur PXE,TFTP,BOOTP,NFS,APT-CACHE, ..
Merci d'avoir fait ce petit tuto, je vais tester ca ce week end

Je pense que la solution de tout telecharger avant est preferable.
Pour tout recuperer, un wget -R ou un ftp mget serais pas trop mal.
Mais si des outils le font deja pour apt (surtout si ils permettent de pas tout relecharger, quoi que wget -c marche aussi)...

Par contre, il ne faut pas se presser, plus on le prend tard, mieux c'est...

Pour Mandriva, il faut reussir a booter un live cd par le reseau. Je regarderais les choses a faire en plus de Ubuntu ce week end.

L\'oeil ne voit que la surface des choses.
Ne t\'y fie pas.

Connexion pour participer à la conversation.

Plus d'informations
il y a 10 ans 6 mois - il y a 10 ans 6 mois #872 par RPG
RPG a répondu au sujet : Re:Serveur PXE,TFTP,BOOTP,NFS,APT-CACHE, ..
J'ai corrigé 2/3 erreurs (espaces en trop, i manquant, ...) et rajouter 2/3 possibilités différentes à la procédure.
J'ai aussi testé tout cela sur un portable en tant que serveur (la carte réseau fait serveur DHCP, BOOTP, ...) et la carte wifi, l'accés à Internet. ça roule. Les pb's que j'ai eu sur 1/2 portables (peut-être mon switch Giga !?), des temps trés long... voir pas de boot PXE sur un portable (vieux Pentium 166 avec 16 Mo RAM pour test) sauvé par une disquette Etherboot qui lance les couches PXE sur le fameux portable...
Sur le portable serveur de test (Centrino M 1,2Ghz,HD 40Go, 1Go RAM) avec 4 machines pas d'écroulement du portable mais comportement bizarre (Switch 100M : 20/30 Mn install/MàJ, Switch Giga : 30/50Mn install ?!?!?) Faudra tester avec un autre switch...

Bon, bref, démo possible, mais je planche sur un CD/DVD modifié (TOP soluce, Applis en plus, Fond d'écrans, ...) que l'on copierait au dernier moment pour être à jour.

Allez, je repars me coucher avec mes 40/41°, c'est pas la teneur en alcool de mon verre mais ma température...

Tchao...

Aucun de nous ne sait ce que nous savons tous, ensemble.
'Lao Tseu'
Dernière édition: il y a 10 ans 6 mois par RPG.

Connexion pour participer à la conversation.

Plus d'informations
il y a 10 ans 5 mois #1068 par ca_mousse
ca_mousse a répondu au sujet : Re:Serveur PXE,TFTP,BOOTP,NFS,APT-CACHE, ..
Bon j'ai finalement teste...

Concernant l'installation d'ubuntu, je n'ai pas pu installer sur ma machine de test : le boot du live cd ubuntu par le reseau plante un peu. Pourquoi ? je sais pas trop, pas assez de ram ou carte graphique non reconnue
Je pense qu'il faudrait donc laisser les choix de l'installateur ubuntu, a savoir les installations expert, ligne de commande et expert ligne de commande.

Concernant l'install mandriva, il faut recuperer les deux fichiers qui se trouvent la :
ftp://ftp.free.fr/mirrors/ftp.mandriva.c.../i586/isolinux/alt0/
le all.rdz est le fichier initrd.gz

pour le options du noyau (dans pxelinux.cfg/default), il n'est pas necessaire de specifier le nfs, on ne s'en sert pas
L'install par le reseau mandriva propose nfs, http et ftp (ainsi que cdrom..) donc on choisira un serveur ftp et on fera un lien avec dnsmasq (pas tester encore, suis en train de dl les paquets)
L'install par le reseau de mandriva est une horreur (j'ai rien compris a leur outils de partionnement)

L\'oeil ne voit que la surface des choses.
Ne t\'y fie pas.

Connexion pour participer à la conversation.

Temps de génération de la page : 0.182 secondes