Accéder au contenu principal

Le DHCP (Dynamique Host Configuration Protocol) est utilisé pour la configuration dynamique des paramètres réseaux: adresse IP, masque, adresse du DNS, adresse de la passerelle. Il est definit dans le rfc2131.

Messages DHCP

op (1)htype (1)hlen (1)hops (1)
xid (4)
secs (2)flags (2)
ciaddr (4)
tuaddr (4)
siaddr (4)
giaddr (4)
chaddr (16)
sname (64)
file (128)
options (~)
Format des messages DHCP


Les messages DHCP

DHCPDISCOVER (pour localiser les serveurs DHCP disponibles)
DHCPOFFER (réponse du serveur à un paquet DHCPDISCOVER, qui contient les premiers paramètres)
DHCPREQUEST (requête diverse du client pour par exemple prolonger son bail)
DHCPACK (réponse du serveur qui contient des paramètres et l'adresse IP du client)
DHCPNAK (réponse du serveur pour signaler au client que son bail est échu ou si le client annonce une mauvaise configuration réseau)
DHCPDECLINE (le client annonce au serveur que l'adresse est déjà utilisée)
DHCPRELEASE (le client libère son adresse IP)
DHCPINFORM (le client demande des paramètres locaux, il a déjà son adresse IP)

Negociation DHCP

  • le client fait un broadcast UDP DHCPDISCOVER pour localiser les serveurs DHCP disponibles
  • les serveurs font leurs offres DHCPOFFER
  • le client choisi un serveur et lui fait DHCPREQUEST
  • le serveur transmet les configuration au client avec DHCPACK
  • Si la configuration n'est pa bonne (deja utilisee,..) le client envoie DHCPDECLINE
  • le client doit demander un renouvellement son bail periodiquement avec DHCPNAK
  • le client peut liberer la configuration avec DHCPRELEASE

Implementation du serveur sous Linux

Nous en place mettrons pas a pas un serveur DHCP sur un systeme Linux. Connecter vous en super utilisateur (root).

  1. verifier si le sever est installe avec la commande  apt-cache policy dhcp3-server
  2. si le serveur est deja installe, passez a l'etape suivante. sinon l'installler avec la commande apt-get dhcp3-server
  3. Configurer les interfaces reseaux de la machine serveur dans /etc/network/interfaces ou de facon temporaire (sera perdu a la fin de la session) avec ifconfig . Voici un exemple de configuration avec le fichier /etc/network/interface:
    auto eth1
    iface eth0 inet static
    address 172.16.11.1
    netmask 255.255.255.0
  4. Parametrer le seveur dans le fichier /etc/dhcp3s/dhcpd.conf dont voici un exemple:
    ddns-update-style none;
    log-facility local7;
    
    # A slightly different configuration for an internal subnet.
    subnet 172.16.11.0 netmask 255.255.255.0 {
      range 172.16.11.21 172.16.11.253;
      option domain-name-servers 172.16.11.1, 213.145.80.154;
      option domain-name "ingc211.sn";
      option routers 172.16.11.254;
    #  option broadcast-address 10.5.5.31;
      default-lease-time 600;
      max-lease-time 7200;
      #host linux {
     #hardware ethernet 00:11:22:33:44:55;
     #fixed-address 172.16.11.11;
      #}
    }
  5. Redemarrer au besoin le service reseaux de linux : /etc/init.d/networking restart
  6. Demarrer le serveur DHCP: /etc/init.d/dhcp3-server start
  7. Il est possible de voir les bails accordes aux clients dans le fichier /var/lib/dhcp3/dhcpd.leases et des information du fonctionnement dans le journal.

Configuration des clients

Configuration des clients sous linux

  1. demarrer le service reseaux de linux o besoin : /etc/init.d/networking start;
  2. demander un configuration avec la commande dhclient. cette commance permet aussi entre autre de liberer les configuration actuel, en renouveller les configuration;
  3. Il est possible de voir les bail accordes dans le fichier /var/lib/dhcp3/dhclient.leases

Configuration de client windows

  1. Aller dans Control Panel\Network and Internet\Network Connections alt
  2. faire un click droit sur l'interface desiree, et dans le menu contextuel clicker propriete
  3. Dans la la nouvelle fenetre qui apparrait selectionner "Internet Protocol Version 4" et clicker sur le boutton propriete. alt
  4. Une nouvelle fenetre s'ouvre. cocher recevoir l'adresse ip automatiquement et obtenir l'adresse DNS automatiquement alt

Commentaires

Posts les plus consultés de ce blog

Gérer les requêtes USSD sur un MoDem avec les commandes AT

Introduction L'USSD (Universal Structured Service D) est un service des réseaux télécoms defini dans 3GPP TS 02.90 et dans 3GPP TS 23.090. Il permet à un terminal mobile d'effectuer des requetes ou une suite de requete à l'operateur. Il est courament utiliser pour consulter le solde. Dans ce tutoriel nous apprendrons à effectuer des requetes USSD depuis une connection serie avec une modem. Pré requis Pour utiliserons pour ce faire: un modem GSM (Huawei E1552) bien sur avec une carte SIM (AIRTEL Burkina) un ordinateur auquel sera connecte le modem un terminal (minicom) pour dialoger avec le modem depuis l'ordinateur perl, pour encoder et decoder les PDU Demarche Nous allons consulter le solde du compte de l'utilisateur. Pour l'opérateur courant il faut composer le code USSD *160#. connecter le modem Connectez le modem au port USB de l'ordinateur et retrouvez ses port series logiciels. Notre modem créé trois ports series (/dev/t...

Testing crossplane on Digital ocean

  Crossplane brings the management of external resources into kubernetes through kubernetes APIs. This can in some situations be an alternative to other IaC such as terraform.  In the example below, we will create a droplet on DO by applying a kubernetes manifest using kubectl. The exemple suppose the kubernetes cluster in which crossplane will be installed is already up. ```bash kubectl create namespace crossplane-system helm repo add crossplane-stable https://charts.crossplane.io/stable helm repo update # install crossplane helm install crossplane --namespace crossplane-system crossplane-stable/crossplane # install the upjet digital ocean provider cat << EOF | kubectl apply -f - apiVersion: pkg.crossplane.io/v1 kind: Provider metadata: name: provider-upjet-digitalocean spec: package: crossplane-contrib/provider-upjet-digitalocean:v0.3.0 EOF # create the upjet digital ocean provider secret kubectl apply -f - << EOF apiVersion: v1 kind: S...

Ajouter un dépôt dans linux

La méthode traditionnel consiste a éditer le fichier /etc/apt/sources.list . Mais il est possible avec la commande add-apt-repository, pour peu qu'elle soit installe dans votre système d'exploitation (eg Ubuntu, Linux Mint ...), de le faire plus facilement. voici la syntaxe: apt-add-repository 'deb uri distribution [component1] [component2] [...]'  ou apt-add-repository  ppa: