WikiMiNET

La documentation technique et administrative

Outils pour utilisateurs

Outils du site


wiki:services:pxe

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
wiki:services:pxe [2017/03/23 20:43]
varens [Comment ca marche ?]
wiki:services:pxe [2020/06/27 18:16] (Version actuelle)
Ligne 52: Ligne 52:
  
   * DHCP (isc-dhcp-server)   * DHCP (isc-dhcp-server)
-<code> +On utilise isc-dhcp server. Il fournit une IP entre 192.168.150.20 et 192.168.150.250. Ce qui laisse quelques ip pour mettre des serveurs en statiques. En plus de fournir une ip, les dns et la gateway, il fournit le bootloader en fonction de l'architecture.
-/etc/dhcp/dhcpd.conf +
-/etc/default/isc-dhcp-server+
  
-authoritative; +Le dhcp fournit également quelques  
-option architecture-type code 93 = unsigned integer 16; +[[http://ipxe.org/howto/dhcpd| options supplémentaires nécessaires au fonctionnement du firmware iPXE.]] On les a mis un peu au feeling parce que c'est pas très bien documenté.
-option domain-name-servers 157.159.40.55, 157.159.40.54; +
-option domain-name "minet.net";+
  
-subnet 192.168.150.0 netmask 255.255.255.0 { +[[https://tools.ietf.org/html/|Coucou la rfc]] 
-  range 192.168.150.10 192.168.150.250; +<code> 
-  option subnet-mask 255.255.255.0; +Type   Architecture Name 
-  option routers 192.168.150.2;+----   ----------------- 
 +     Intel x86PC 
 +  1    NEC/PC98 
 +  2    EFI Itanium 
 +  3    DEC Alpha 
 +  4    Arc x86 
 +  5    Intel Lean Client 
 +  6    EFI IA32 
 +  7    EFI BC 
 +  8    EFI Xscale 
 +  9    EFI x86-64 
 +</code> 
 +<code> 
 +Dans /etc/dhcp/dhcpd.conf :
  
   if option architecture-type = 00:00 {   if option architecture-type = 00:00 {
Ligne 76: Ligne 85:
         filename "efi64/syslinux.efi";         filename "efi64/syslinux.efi";
   }   }
- 
   else {   else {
         filename "bios/pxelinux.0";         filename "bios/pxelinux.0";
   }   }
-} 
 </code> </code>
  
-TFTP (tftpd-hpa)+  * TFTP (tftpd-hpa) 
 +Le bootloader est téléchargé en tftp, tout le reste se fait en http.
 <code> <code>
 /etc/default/tftpd-hpa /etc/default/tftpd-hpa
-TFTP_USERNAME="tftp" 
-RUN_DAEMON="yes" 
-TFTP_DIRECTORY="/srv/tftp" 
-TFTP_ADDRESS="0.0.0.0:69" 
-TFTP_OPTIONS="--secure" 
- 
 </code> </code>
  
-HTTP (lighttpd) +  * HTTP (lighttpd) 
-<code> +On utilise lighttpd parce que c'est léger.
-/etc/lighttpd/lighttpd.conf +
-server.modules = ( +
-        "mod_access", +
-        "mod_alias", +
-        "mod_compress", +
-        "mod_redirect", +
-#       "mod_rewrite", +
-+
- +
-server.document-root        = "/srv/http" +
-server.upload-dirs          = ( "/var/cache/lighttpd/uploads"+
-server.errorlog             = "/var/log/lighttpd/error.log" +
-server.pid-file             = "/var/run/lighttpd.pid" +
-server.username             = "www-data" +
-server.groupname            = "www-data" +
-server.port                 = 80 +
- +
- +
-index-file.names            = ( "index.php", "index.html", "index.lighttpd.html"+
-url.access-deny             = ( "~", ".inc"+
-static-file.exclude-extensions = ( ".php", ".pl", ".fcgi"+
- +
-compress.cache-dir          = "/var/cache/lighttpd/compress/" +
-compress.filetype           = ( "application/javascript", "text/css", "text/html", "text/plain"+
- +
-# default listening port for IPv6 falls back to the IPv4 port +
-include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port +
-include_shell "/usr/share/lighttpd/create-mime.assign.pl" +
-include_shell "/usr/share/lighttpd/include-conf-enabled.pl" +
-</code>+
  
-NFS (nfs-kernel-server)+  * NFS (nfs-kernel-server) 
 +On utilise un système de fichier NFS pour les live et debian-minet via le fichier [[https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/5/html/Deployment_Guide/s1-nfs-server-config-exports.html|/etc/exportfs]] qui contrôle les systèmes de fichiers pouvant être exporté et avec quels droit. Exemple :
 <code> <code>
-/etc/exportfs 
- 
 /srv/nfs/ubuntu_unity_live_64 192.168.150.0/24(async,no_root_squash,no_subtree_check,ro) /srv/nfs/ubuntu_unity_live_64 192.168.150.0/24(async,no_root_squash,no_subtree_check,ro)
-/srv/nfs/ubuntu_gnome_live_64 192.168.150.0/24(async,no_root_squash,no_subtree_check,ro) 
-/srv/nfs/arch_live 192.168.150.0/24(async,no_root_squash,no_subtree_check,ro) 
-/srv/nfs/ubuntu_lxde_live_64 192.168.150.0/24(async,no_root_squash,no_subtree_check,ro) 
-/srv/nfs/ubuntu_xfce_live_64 192.168.150.0/24(async,no_root_squash,no_subtree_check,ro) 
-/srv/nfs/clonezilla 192.168.150.0/24(async,no_root_squash,no_subtree_check,ro) 
- 
 /srv/nfs/debian-minet 192.168.150.0/24(async,no_root_squash,no_subtree_check,rw) /srv/nfs/debian-minet 192.168.150.0/24(async,no_root_squash,no_subtree_check,rw)
 </code> </code>
 +Les live ubuntu sont monté en read-only (ro), l'utilisateur root n'a pas les droits root et est mapé sur l'userid nfsnobody (root_squash), on n'empêche pas l'accès à tout le système de fichier(no_subtree). L'option (async) permet au serveur NFS de violer le protocole NFS et de répondre aux requêtes avant que les changements effectués par la requête aient été appliqués sur l'unité de stockage. Cette option améliore les performances mais a un coût au niveau de l'intégrité des données (données corrompues ou perdues) en cas de redémarrage non-propre (par exemple en cas de crash système).
  
-SAMBA (samba) +Debian minet est monté en read-write.
-<code> +
-/etc/samba/smb.conf+
  
-[global] +  * SAMBA (samba) 
-workgroup = PXESERVER +La conf se fait dans /etc/samba/smb.conf et a été trouvée [[http://www.tecmint.com/configure-pxe-server-to-install-windows-on-centos/|là ]]
-server string = Samba Server Version %v +
-log file = /var/log/samba/log.%m +
-max log size = 50 +
-idmap config * backend = tdb +
-cups options = raw +
-netbios name = pxe +
-map to guest = bad user +
-dns proxy = no +
-public = yes +
-## For multiple installations the same time not lock kernel +
-kernel oplocks = no +
-nt acl support = no +
-security = user +
-guest account = nobody +
-[windows_install] +
-comment = Windows Image +
-path = /srv/samba/ +
-read only = no +
-browseable = yes +
-public = yes +
-printable = no +
-guest ok = yes +
-oplocks = no +
-level2 oplocks = no +
-locking = no+
  
- 
-</code> 
  
 === Comment ca marche ? === === Comment ca marche ? ===
Ligne 195: Ligne 132:
 Le fichier pxelinux.cfg/default est alors chargé, le menu du PXE est affiché Le fichier pxelinux.cfg/default est alors chargé, le menu du PXE est affiché
  
-MENU.png+Menu syslinux en BIOS : 
 +{{:wiki:services:menu.png?400|}} 
 + 
 +Menu iPXE en UEFI 
 +{{:wiki:services:ipxemenu.png?400|}}
  
 Ce menu Permet alors de booter un noyau avec les options que l'on souhaite. Le noyau et le fichier initrd associé sont téléchargés via http et chargés en RAM, le PC boot alors dessus. Ce menu Permet alors de booter un noyau avec les options que l'on souhaite. Le noyau et le fichier initrd associé sont téléchargés via http et chargés en RAM, le PC boot alors dessus.
Ligne 202: Ligne 143:
  
 ==== Télécharger directement les isos disponibles sur le pxe ==== ==== Télécharger directement les isos disponibles sur le pxe ====
-[[http://192.168.150.197:81|http://192.168.150.197:81]]+Dans le vlan 999 : [[http://192.168.150.3:81|http://192.168.150.3:81]] 
 +Derrière le vpn : [[http://192.168.102.197:81|http://192.168.102.3:81]]
 Si vous voulez rajouter des isos, copier dans le dossier /srv/iso Si vous voulez rajouter des isos, copier dans le dossier /srv/iso
  
wiki/services/pxe.1490298232.txt.gz · Dernière modification: 2020/06/27 18:15 (modification externe)