Outils pour utilisateurs

Outils du site


No renderer 'odt' found for mode 'odt'
scribe:postes:dhcp-personnalise

Script de personnalisation du fichier dhcpd.conf

Pour administrateurs ayant une bonne pratique et en accord avec leur référent DSI5

Sur serveur Scribe 2.2

Intérêt

Permettre à l'administrateur de fixer les adresses IP fournies aux machines sur le réseau pédagogique en fonction de leur nom Netbios, tout en laissant les postes en adressage automatique.

Remarque : depuis Scribe 2.3, il n'est plus nécessaire de passer par un tel fichier personnalisé pour associer adresse IP ↔ adresse MAC ; cette fonction est maintenant implémentée dans l'EAD du Scribe, cf DHCP - Adressage statique

Utilisations possibles

  • attribuer des filtrages différents aux postes dans Amon,
  • avoir des adresses IP fixes par exemple pour iTalc sous linux,

Installation du script

Pour Scribe 2.2 uniquement, version pour Scribe 2.3 à venir

Par votre référent DSI5, avec le compte root

  • Dézipper le script root/dhcpd_admin.zip :
    unzip dhcpd_admin.zip
  • Lancer l'installation du script :
    ./dhcpd_admin_install.sh
  • Pour que la manipulation du fichier dhcpd.conf soit accessible à l'utilisateur Scribe, un patch est proposé. Pour qu'il soit activé, il faut reconfigurer le serveur.

Utilisation

2 phases :

  • édition du fichier dhcpd.conf par l'admin
  • mise en place du fichier dhcpd.conf par l'utilisateur scribe

Pour associer des adresses IP aux adresses MAC

Dans gen_config

  • Dans gen_config, modifier la plage d'adresses données par le serveur DHCP. Ce n'est pas obligatoire car repris ensuite dans le fichier dhcpd.conf modifié manuellement mais peut-être plus clair.
  • Chaque établissement reçoit une plage de 8×255 adresses, par exemple de 172.17.200.1 à 172.17.207.255
  • La première plage d'adresses, ici de 172.17.200.1 à 172.17.200.255 est réservée aux serveurs, imprimantes, concentrateurs, etc.
  • On peut laisser 2 plages pour l'adressage “fixe”, ici de 172.17.201.1 à 172.17.202.255,
  • et donc restreindre l'adressage automatique du DHCP aux plages suivantes, ici de 172.17.203.1 à 172.17.207.255.

Préparation du fichier dhcpd.conf

  • Le début du fichier ne doit pas être modifié :
    ########################################################
    #
    ## dhcpd.conf pour ScribeNg
    #
    ## Equipe Eole eole@ac-dijon.fr
    #
    ## septembre 2007
    #
    ########################################################
    #
    default-lease-time 36000;
    max-lease-time 144000;
    #ddns-update-style none;
    authoritative;
    
    subnet 172.17.200.0 netmask 255.255.248.0 {
    	range 172.17.201.1 172.17.201.254;
    	option routers 172.17.200.1;
    	option subnet-mask 255.255.248.0;
    	option domain-name "mdebre.clg";
    	option domain-name-servers 172.17.200.1;
    	option netbios-name-servers 172.17.200.2;
            option netbios-dd-server 172.17.200.2;
            option netbios-node-type 8;
    
            #serveur de temps
            option ntp-servers 172.17.200.2;
  • Ensuite, il est possible d'associer des adresses IP à des adresses MAC en insérant des instructions du genre :
    	host G01-PROF {
    		hardware ethernet 00:1b:78:49:f8:0a;
    		fixed-address 172.17.202.1;
    	}

Pour associer des adresses IP groupées à des noms de machines

Dans gen_config

  • Dans gen_config, la plage affectée par défaut ne sera plus utilisée. Les plages affectées seront définies manuellement.

Faire une recherche des groupes de machines sur leur nom

Insérer AVANT l'instruction subnet la déclaration des groupes de machines, par exemple :

	# Création de la classe de machines "techno" pour les postes nommés "techno*"
	class "techno" { 
		# Filtrage sur le nom de machine (option host-name)
		# ici "techno*" cad les 6 premiers caractères du nom : "0, 6" 
		match if substring (option host-name, 0, 6) = "techno"; 

		# Filtrage préférable avec vérification de 2 casses
		match if (
			(substring (option host-name, 0, 6) = "techno") or
			(substring (option host-name, 0, 6) = "TECHNO")
			) ;
		}

Remarque : la syntaxe match if est sensible à la casse…

Déclarer les plages d'adresses pour chaque groupe

Attention à ce que les différentes instructions range n'aient pas des plages qui se recouvrent !

  # Déclaration d'un sous-réseau avec definition des pools d'adresses et attribution aux groupes
subnet 172.17.200.0 netmask 255.255.248.0 {
#	range 172.17.203.1 172.17.207.254;
	option routers 172.17.200.1;
	option subnet-mask 255.255.248.0;
	option domain-name "mdebre.clg";
	option domain-name-servers 172.17.200.1;
	option netbios-name-servers 172.17.200.2;
        option netbios-dd-server 172.17.200.2;
        option netbios-node-type 8;

        #serveur de temps
        option ntp-servers 172.17.200.2;

	next-server 172.17.200.3;
	filename "pxelinux.0";
 
      # Plage IP pour les machines du groupe techno
	pool { 
		range 172.17.207.1 172.17.207.255; 

		# Attribution de la plage au groupe "techno" 
		allow members of "techno"; 
		} 

	# Plage IP pour toutes les machines SAUF celles du groupe « techno »  
	pool { 
		range 172.17.203.1 172.17.206.255; 
		deny members of "techno"; 
		} 
	}

Mise en place du fichier dhcpd.conf

  • Sur la console du serveur,
    • soit directement sur le serveur,
    • soit via putty,
    • soit via une commande ssh
  • avec l'utilisateur scribe, lancer :
    sudo /usr/local/bin/dhcpd_admin.sh
  • Le script vérifie la validité du fichier dhcpd.conf et, s'il est valide, le met en place et relance le service dhcp3-server.
  • Un autre script se chargera automatiquement de remettre en place le fichier dhcpd.conf après chaque reconfigure qui sinon écraserait les modifications de l'admin en reprenant les informations du gen_config.

Plus d'infos : http://manpages.ubuntu.com/manpages/lucid/man5/dhcpd.conf.5.html

scribe/postes/dhcp-personnalise.txt · Dernière modification: 2013/11/19 15:08 par lbrillard