Administration UNIX Le réseau
Plan Un peu de TCP/IP Configuration réseau sous linux DHCP Démarrage PXE
TCP/IP Unix utilise comme modèle de communication TCP/IP Application Transport TCP - UDP Réseau IP Liaison Physique IP= Internet Protocol TCP = Transmission Control Protocol UDP= User Datagram Protocol
Adresses IP Format adresse IP= nnn.nnn.nnn.nnn 0<= nnn <= 255 c'est à dire 4 octets Masque de sous réseau (bits significatifs pour appartenir au sous réseau) masque= 255.255.255.0 indique un réseau de classe C dont l'adresse est notée par les 3 premiers octets Important pour le routage ou le broadcast par ex.
Attribution d'une adresse IP Chaque carte réseau a un numéro d'interface pour les cartes ethernet eth<n > Interface particulière lo (local pour communiquer avec soi même via TCP IP sans encombrer le réseau) Commande ifconfig Fichiers de configuration réseau: sous Mandriva /etc/sysconfig/network-scripts/ifcfg-eth<n >
Contenu d'ifcfg-eth<n > DEVICE="eth0" #carte réseau BOOTPROTO="none"#protocole type ARP # ou DHCP IPADDR="192.168.2.12" NETMASK="255.255.255.0" ONBOOT="yes" #active l'interface au démarrage
Tester une machine Commande ping <adresseip> envoie des datagrammes à la machine désignée qui les retourne, fait des stats sur les communications
Routage Par défaut les datagrammes ne sont envoyés que sur le réseau local 192.168.1.255 192.168.12.255 gateway Tous les datagrammes adressés au réseau local sont simplement envoyés sur le câble réseau Comment sortir du réseau local => gateway
Routage Commande route permet de mettre à jour la table de routage En général une seule "gateway" (default gateway) définie dans: /etc/sysconfig/network Extrait: GATEWAY="192.168.1.1" GATEWAYDEV="eth0"
Attribution d'un nom d'hôte TCP/IP autorise une désignation des machines sous forme 'lisible par les humains' ex: machine.iut.univ-orleans.fr définition dépend du système: /etc/sysconfig/network #Mandriva Mécanismes de résolution des noms en adresse IP Statique: fichier /etc/hosts Serveur de nom (DNS): fichier /etc/resolv.conf Le démon qui résous les noms est named L'ordre de résolution dans /etc/host.conf /etc/nsswitch
Noms de machine /etc/hosts 127.0.0.1 localhost.localdomain localhost 192.168.1.12 lp12.iut.univ-orleans.fr lp12 128.130.178.13 gamma.log.wien.at gamma /etc/resolv.conf domain univ-orleans.fr nameserver 194.167.31.3 nameserver 194.167.30.130
Connexion à distance Plusieurs commandes existent: rsh (remote shell) peu sûr aucun cryptage dans la communication ssh (secure shell) sécurité basée sur des protocoles de cryptographie rlogin, telnet,... Il faut avoir un compte sur la machine distante
Attribution automatique d'adresse IP Plusieurs protocoles: RARP, BOOTP, DHCP DHCP : Dynamic Host Configuration Protocol Permet de fournir un certain nombre d'informations de configuration aux clients: adresse ip Domaine Gateway etc...
DHCP côté serveur Le serveur attribue des baux (lease en Anglais) pour des adresses IP Les adresses peuvent être Fixes en fonction de l'adresse ethernet par exemple Dynamiques Le bail a une durée fixée et doit être renouvelé régulièrement (demande faite par le client)
DHCP côté serveur Le fichier /etc/dhcpd.conf #ces definitions sont générales pour tout le fichier ddns-update-style none; #mise a jour du dns #(pas encore au point) default-lease-time-1; # durée d'un bail par défaut # option concernant un sous réseau particulier subnet 192.168.2.0 netmask 255.255.255.0 { # plage des adresses fournies range 192.168.2.128 192.168.2.254; option broadcast-address 192.168.2.255; option domain-name "iut.orleans"; # default gateway option routers 192.168.2.3; option subnet-mask 255.255.255.0;
DHCP coté serveur # declaration pour un groupe de machines group { # les machines auront comme nom celui déclaré dans # l'option host use-host-decl-names true; # declaration d'une machine avec une adresse fixe # en fonction de son adresse ethernet host m1 { hardware ethernet12:34:56:78:ab:cd; fixed-address 192.168.2.10; option host-name m1;... } } # fin groupe } # fin subnet
DHCP côté client Le fichier /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" #carte réseau BOOTPROTO="DHCP" #protocole DHCP ONBOOT="yes" #active l'interface au démarrage
DHCP et TFTP DHCP peut être utilisé pour démarrer des machines Postes de travail sans disques (diskless) Opérations de maintenance Carte réseau PXE (Preboot execution Environnement) Serveur de fichiers (ici TFTP Trivial File Transfer Protocol)
Demarrage d'un PC 1.Le BIOS (Basic Input/Output System) démarre et teste les différents périphériques de la machine 2.Il repère un périphérique «bootable» (disque dur, cdrom, périphérique USB) et donne la main au programme d'amorçage de ce périphérique Master Boot Record (MBR) pour un disque dur Fichier particulier pour PXE 3.Le programme d'amorçage va donner la main à un système d'exploitation
Programme d'amorçage Comportements différents suivant le programme lui même Windows : programme d'amorçage propriétaire SYSLINUX, LILO, GRUB: différents programmes prévus pour linux mais pouvant charger Windows
Démarrage de Linux Deux fichiers nécessaires: Un fichier contenant le noyau: linux Un fichier contenant un ramdisk initial: initrd L'initrd est le premier système de fichiers monté à la racine lors du lancement du système. Permet de lancer des actions avant le démarrage réel du système.
DHCP+PXELINUX Schéma de démarrage
Configuration du serveur Créer un répertoire /tftpboot Copier le fichier de démarrage (ici pxelinux.0) Créer un répertoire /tftpboot/pxelinux.cfg Copier les fichiers contenant le noyau du système ainsi que son ramdisk (indispensable au chargement de linux) Créer le fichier /tftpboot/pxelinux.cfg/default
Exemple fichier default default local timeout 1 label local localboot 0 label toto kernel linux append load_ramdisk=1 initrd=initrd.toto root=/dev/ram0
Configuration TFTP Fichier /etc/xinetd.d/tftp service tftp{ disable = no socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /boot_tftp per_source = 11 cps = 100 2 flags = IPv4 }
Configuration DHCP ddns-update-style none; allow booting; allow bootp; authoritative; subnet 192.168.1.0 netmask 255.255.255.0 { option broadcast-address 192.168.1.255; option domain-name "univ-orleans.fr"; option domain-name-servers 194.167.31.3; option routers 192.168.1.1; option subnet-mask 255.255.255.0; filename "pxelinux.0"; next-server 192.168.1.1; }