vendredi 14 juin 2013

Documentaire: Copier n’est pas voler !

Le présent documentaire intitulé « Copier n’est pas voler ! », réalisé par l’association Coagul, s’attache à démontrer que le partage à l’ère du numérique participe à l’enrichissement culturel de chacun. Tout au long du documentaire, différentes personnalités se succèdent pour partager leurs opinions sur le partage, la copie, le droit d’auteur ou encore les licences libres.

SQLite sous linux



  • Une base SQLite3 a la particularité d'être contenue dans un fichier qui porte le même nom. Le moteur de base de données SQLite3 est une bibliothèque, libsqlite3, qu'il est possible d'utiliser avec l'interface utilisateur en ligne de commande sqlite3 ou, via l'API C.
    SQLite3 présente l'avantage de n'avoir rien à configurer, rien à maintenir ou à administrer. C'est aussi son objectif. En contrepartie, certaines fonctionnalités sont absentes, comme la gestion des utilisateurs ou la possibilité de se connecter à distance à la base (en TCP/IP par exemple).

    Installation

    Pour installer SQLite3, installez le paquet sqlite3.
    Par exemple avec l'outil apt-get vous saisirez dans un terminal la commande suivante:
    sudo apt-get install sqlite3

    Utilisation en ligne de commande

    Lancer le terminal SQLite

    Dans un terminal, lancer la commande suivante avant de taper les commandes propres à SQLite:
    sqlite3
    Le curseur indique que vous êtes maintenant dans le "terminal" SQlite comme ici:
    SQLite version 3.6.22
    Enter ".help" for instructions
    Enter SQL statements terminated with a ";"
    sqlite>
    Toute commande SQLite sera précédée de son curseur afin de bien distinguer les commandes SQLite des autres commandes.

    Quitter le terminal SQLite

    sqlite>.quit

    Lister les commandes SQLite

    sqlite>.help
    Affichera:
    .backup ?DB? FILE  Backup DB (default "main") to FILE
    .bail ON|OFF   Stop after hitting an error.  Default OFF
    .databases   List names and files of attached databases
    .dump ?TABLE? ...  Dump the database in an SQL text format
             If TABLE specified, only dump tables matching
             LIKE pattern TABLE.
    .echo ON|OFF   Turn command echo on or off
    .exit    Exit this program
    .explain ?ON|OFF?  Turn output mode suitable for EXPLAIN on or off.
             With no args, it turns EXPLAIN on.
    .genfkey ?OPTIONS?  Options are:
             --no-drop: Do not drop old fkey triggers.
             --ignore-errors: Ignore tables with fkey errors
             --exec: Execute generated SQL immediately
        See file tool/genfkey.README in the source 
        distribution for further information.
    .header(s) ON|OFF  Turn display of headers on or off
    .help    Show this message
    .import FILE TABLE  Import data from FILE into TABLE
    .indices ?TABLE?  Show names of all indices
             If TABLE specified, only show indices for tables
             matching LIKE pattern TABLE.
    .load FILE ?ENTRY?  Load an extension library
    .mode MODE ?TABLE?  Set output mode where MODE is one of:
             csv      Comma-separated values
             column   Left-aligned columns.  (See .width)
             html     HTML <table> code
             insert   SQL insert statements for TABLE
             line     One value per line
             list     Values delimited by .separator string
             tabs     Tab-separated values
             tcl      TCL list elements
    .nullvalue STRING  Print STRING in place of NULL values
    .output FILENAME  Send output to FILENAME
    .output stdout   Send output to the screen
    .prompt MAIN CONTINUE  Replace the standard prompts
    .quit    Exit this program
    .read FILENAME   Execute SQL in FILENAME
    .restore ?DB? FILE  Restore content of DB (default "main") from FILE
    .schema ?TABLE?   Show the CREATE statements
             If TABLE specified, only show tables matching
             LIKE pattern TABLE.
    .separator STRING  Change separator used by output mode and .import
    .show    Show the current values for various settings
    .tables ?TABLE?   List names of tables
             If TABLE specified, only list tables matching
             LIKE pattern TABLE.
    .timeout MS   Try opening locked tables for MS milliseconds
    .width NUM1 NUM2 ...  Set column widths for "column" mode
    .timer ON|OFF   Turn the CPU timer measurement on or off

    Modifier le format de sortie

    Afficher le nom des colonnes / Changer l'aspect des colonnes

    • Pour présenter les résultat d'une requête sous forme de tableau dans le terminal on utilisera:
    sqlite> .headers on
    sqlite> .mode column
    Et à l'issue d'une requête les résultats s'afficheront de cette manière:
    nom        age     membre
    ----------  ----------  ----------
    dan         23         oui
    bob         45         non
    • Pour revenir au mode précédent:
    sqlite> .header off  # Mode par défaut
    sqlite> .mode list  # Mode par défaut
    Affichera:
    dan|23|oui
    bob|45|non

    Modifier le séparateur

    • Il est possible de modifier le séparateur dans le mode list:
    sqlite> .separator ", "
    Affichera:
    dan, 23, oui
    bob, 45, non

    Modifier la largeur des colonnes

    • Par défaut, chaque colonne fait 10 caractères de largeur. Il est possible d'ajuster la taille ainsi:
    sqlite> .width 2 15 10 20 3
    Affichera:
    id  titre            auteur      resume           num  date_creation    éditeur  
    --  ---------------  ----------  ---------------  ---  --------------  ----------
    1   tintin au congo  hergé      Tintin est au c  5.0                   casterman 
    2   le nid des mars  franquin    Un reportage in  6.0                        
    3   la déesse       moebius     une aventure ex  7.0  2011-02-03  

    Modifier la sortie en code html

    • Il est possible de sortir directement les résultats en html:
    sqlite> .mode html
    Affichera:
    <TR><TH>id</TH>
    <TH>titre</TH>
    <TH>auteur</TH>
    <TH>resume</TH>
    <TH>num</TH>
    <TH>timenter</TH>
    <TH>éditeur</TH>
    </TR>
    <TR><TD>1</TD>
    <TD>tintin au congo</TD>
    <TD>hergé</TD>
    <TD>Tintin est au congo.</TD>
    <TD>5.0</TD>
    <TD></TD>
    <TD>casterman</TD>
    </TR>
    <TR><TD>2</TD>
    <TD>le nid des marsupilamis</TD>
    <TD>franquin</TD>
    <TD>Un reportage incroyable</TD>
    <TD>6.0</TD>
    <TD></TD>
    <TD></TD>
    </TR>
    <TR><TD>3</TD>
    <TD>la déesse</TD>
    <TD>moebius</TD>
    <TD>une aventure extraordinaire</TD>
    <TD>7.0</TD>
    <TD>2011-02-03</TD>
    <TD></TD>
    </TR>

    Rappel des paramètres

    sqlite> .show
    Affichera:
         echo: off
      explain: off
      headers: off
         mode: list
    nullvalue: ""
       output: stdout
    separator: "|"
        width: 

    Manipuler une base

    Créer une base - ouvrir une base
    sqlite3 livres.db
    • Si la base livres.db n'existe pas déjà, elle sera créée. Cette commande, non seulement créé ou ouvre la base, mais place le curseur immédiatement dans l'environnement terminal de SQLite. Toute commande tapée par la suite concernera cette base. Un fichier livres.db est créé.

    Détruire une base

    Il suffit de détruire le fichier correspondant. Par exemple
    rm livres.db
    .

    Créer une table

    Il faut avoir ouvert ou créé une base avant de taper les commandes suivantes:
    sqlite> CREATE TABLE bandedessinée (id integer primary key, titre VARCHAR(30), auteur VARCHAR(30), resume TEXT, num double, date_creation date);

Lister les tables

sqlite> .tables

Insérer des valeurs dans la table

Un exemple d'insertion de valeurs:
sqlite> INSERT INTO "bandedessinée" VALUES(1, 'tintin au congo', 'hergé', 'Tintin est au congo.', 5.0, NULL);
sqlite> INSERT INTO "bandedessinée" VALUES(2, 'le nid des marsupilamis', 'franquin', 'Un reportage incroyable', 6.0, date('now'));
sqlite> INSERT INTO "bandedessinée" VALUES(3, 'la déesse', 'moebius', 'une aventure géniale', 7.0, strftime("%Y-%m-%d %H:%M:%S",'now','localtime'));

Simple requête pour visualiser le contenu de la table

sqlite> select * from bandedessinée;
Affichera:
1|tintin au congo|hergé|Tintin est au congo.|5.0|
2|le nid des marsupilamis|franquin|Un reportage incroyable|6.0|2011-02-03
3|la déesse|moebius|une aventure extraordinaire|7.0|2011-02-03 18:36:25
Requête de visualisation d'une table formatée en sortie COMME une insertion de valeur
sqlite> .mode insert bandedessinée
sqlite> select * from bandedessinée;
Affichera:
INSERT INTO 'bandedessinée' VALUES(1,'tintin au congo','hergé','Tintin est au congo.',5.0,NULL);
INSERT INTO 'bandedessinée' VALUES(2,'le nid des marsupilamis','franquin','Un reportage incroyable',6.0,'2011-02-03');
INSERT INTO 'bandedessinée' VALUES(3,'la déesse','moebius','une aventure extraordinaire',7.0,'2011-02-03');
Quelques exemples de requêtes
  • Limiter une requête par nombre d'éléments:
    sqlite> sqlite> select * from bandedessinée limit 2;
    1|tintin au congo|hergé|Tintin est au congo.|5.0||casterman
    2|le nid des marsupilamis|franquin|Un reportage incroyable|6.0||
  • Sélectionner les titres de la table bandedessinée enregistrés depuis février:
    sqlite> select titre from bandedessinée where strftime('%m', date_creation)='02';
    le nid des marsupilamis
    la déesse

Effacer une valeur dans la table

sqlite> DELETE FROM "bandedessinée" WHERE id = 3;

Ajouter une colonne à la table

sqlite> ALTER TABLE "bandedessinée" add column "éditeur";

Mettre à jour une valeur à la table

sqlite> UPDATE "bandedessinée" SET éditeur ='casterman' WHERE id = 1;

Modifier le nom d'une table

alter table 'bandedessinée' rename to 'bd';

Écrire la sortie des résultats dans un fichier

sqlite> .output bd.txt
sqlite> select * from bd;
sqlite> .quit
  • Visualiser dans le terminal le fichier créé:
cat bd.txt

Dumper une table depuis SQLite en format SQL pour sauvegarder la structure et les données sur un disque

Voir le résultat de la commande .dump
sqlite> .dump bd

PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE "bd" (id integer primary key, titre VARCHAR(30), auteur VARCHAR(30), resume TEXT, num double, date_creation date);
INSERT INTO "bd" VALUES(1,'tintin au congo','hergé','Tintin est au congo.',5.0,NULL);
INSERT INTO "bd" VALUES(2,'le nid des marsupilamis','franquin','Un reportage incroyable',6.0,'2011-02-04');
INSERT INTO "bd" VALUES(3,'la déesse','moebius','une aventure géniale',7.0,'2011-02-04 17:06:23');
COMMIT;
Rediriger la sortie vers un fichier puis dumper la table depuis SQLite
sqlite> .output bd.sql
sqlite> .dump bd
Le résultat n'est plus affiché dans le terminal, mais redirigé vers le fichier bd.sql. Pour le vérifier il suffit d'afficher le contenu du fichier:
sqlite> .quit
cat bd.sql
Lire directement un fichier dumpé depuis sqlite
Tout d'abord effacez la table de la base:
sqlite> drop table bd;
Puis lisez le fichier sauvegardé:
sqlite> .read bd.sql
sqlite> select * from bd;
Affichera:
1|tintin au congo|hergé|Tintin est au congo.|5.0|
2|le nid des marsupilamis|franquin|Un reportage incroyable|6.0|2011-02-04
3|la déesse|moebius|une aventure géniale|7.0|2011-02-04 17:06:23

Dumper une base en format SQL pour sauvegarder sa structure, ses tables et ses données

Dumper la base
sqlite3 livres.db .dump > livres.sql
Récupérer un fichier dumpé pour recréer la base
Effacez le fichier original avant de procéder à la récupération de la base:
rm -r livres.db    # Effacer la base originale
sqlite3 livres.db < livres.sql  # Récuperer la base depuis le fichier de svg
sqlite3 livres.db   # Se connecter à la base

sqlite> select * from bd;  # Faire un requête pour vérification
Affichera:
1|tintin au congo|hergé|Tintin est au congo.|5.0|
2|le nid des marsupilamis|franquin|Un reportage incroyable|6.0|2011-02-04
3|la déesse|moebius|une aventure géniale|7.0|2011-02-04 17:06:23

Utilisation avec un client graphique

Liste de clients graphiques libres disponible sous Linux :
  • Sqlite Browser.
  • Ohraimeur.
  • Sqlite manager (extension pour Firefox).
  • Sqliteman - Sqlite Databases Made Easy

samedi 2 mars 2013

lundi 10 décembre 2012

Edubuntu et kubuntu 13.04 disponibles en Alpha 1, Raring Ringtail adopte un nouveau cycle qui met fin aux versions Alpha pour Ubuntu

Canonical vient de publier la première Alpha de Raring Ringtail, qui marque le début du cycle des sorties des préversions d’Ubuntu 13.04, qui aboutira à la publication de la version finale l’année prochaine.

Si Ubuntu 13.04 se distingue surtout par l’adoption d’une nouvelle méthode de développement à huis clos des nouvelles fonctionnalités, l’OS introduit également un nouveau cycle de sorties des préversions de l’OS.

Ce nouveau cycle a essentiellement pour but de réduire le nombre d’étapes de génération du système d’exploitation et de permettre des tests de qualité tous les jours.

Ainsi, la sortie des Alpha est remplacée par la publication quotidienne des ISO mises à jour pour des tests. Uniquement une bêta finale (FinalBetaRelease) de l’OS sera publiée le 23 mars 2013. 

Ce nouveau calendrier ne s’applique pas aux autres déclinaisons d’Ubuntu. Ainsi, les versions Alpha 1 d’Edubuntu et Kubuntu 13.04 sont disponibles afin d’avoir un aperçu des améliorations apportées à l’OS.


Le développement d’Ubuntu 13.04 est essentiellement centré sur la mobilité. Le cœur du système d’exploitation sera nettoyé au maximum afin que celui-ci puisse s’exécuter sur les smartphones, les tablettes et les PC. Les développeurs de l’OS accorderont une attention particulière à la vie de la batterie, le nombre de processus en cours d’exécution et l’empreinte mémoire.

 Les ISO mises à jour d'Ubuntu 13.04 sont disponibles sur cette page

 Télécharger Edubuntu 13.04 (Raring Ringtail) Alpha 1

 Télécharger Kubuntu 13.04 (Raring Ringtail) Alpha 1

Source : Ubuntu.com

jeudi 6 décembre 2012

Installation et configuration d'un Serveur DHCP sous Linux



L'objectif de ce tutoriel est d'apprendre à mettre en place un serveur DHCP sous Linux.

Un serveur DHCP (Dynamic Host Configuration Protocol) a pour rôle de distribuer de façon automatique, des adresses IP à des clients pour une durée déterminée.

Au lieu d'affecter manuellement à chaque hôte une adresse statique, ainsi que tous les paramètres tels que (serveur de noms, passerelle par défaut, nom du réseau), un serveur DHCP alloue à un client, un bail d'accès au réseau, pour une durée déterminée (durée du bail). Le serveur passe en paramètres au client toutes les informations dont il a besoin.

C'est quoi un bail ? Il s'agit d'un "contrat" passé entre le serveur et le client qui inclue notamment la durée de vie de l'adresse Ip qu'attribue le serveur au client.


Une fois le serveur démarré, un client voulant se connecter, diffuse un message dhcp-discover pour "trouver" un serveur DHCP. Lorsque le client trouve le serveur DHCP, ce dernier lui attribue automatiquement une adresse IP.

Les manipulations de ce tutoriel ont été réalisées sous la distribution Debian. Il est à noté que les commandes utilisées peuvent différées quelques peut selon la distribution utilisée.


Avant de démarrer la configuration DHCP, assurez-vous que le "network manager", un outil simplifié pour la configuration d'un réseau sous Linux, soit désactivé. Par défaut, c'est bien le cas ! ;)


Rappel sur la configuration statique d'une adresse IP

:o Oula, pas trop vite ! Ca veut dire quoi statique?

Le mot clé statique indique que c'est l'utilisateur qui va lui même choisir quelle adresse attribuer à sa machine. En réalité, on attribue une adresse IP à une interface réseau d'une machine. C'est à dire, que si votre machine dispose d'un seule carte réseau, nous pouvons attribuer une seule adresse IP, si elle en possède deux, on peut attribuer deux adresses IP, etc ..

En réalité, nous ne sommes pas contraints au niveau des interfaces physiques. Il est possible de créer des interfaces virtuelles (vlans par exemple). Au passage, si vous ne le savez pas encore, votre ordinateur dispose déjà d'une interface virtuelle: la boucle locale ou "loopback" identifié par l'adresse IP 127.0.0.1


Voici la commande pour lister les interfaces présentes sur votre ordinateur:

Code : Console - Lister les interfaces de mon ordinateur -
ifconfig


Vous obtenez ce résultat :

Image utilisateur

Vous ne comprenez pas grand chose à ce que vous voyez ! Pas de panique, ces quelques explications vont pouvoir vous aider:

En fait, la commande indique que votre ordinateur possède deux interfaces: eth0 et lo. Cette dernière est en fait la boucle locale, une interface virtuelle présente sur tous les ordinateurs. Celle qui va nous intéresser est l'interface eth0. Voici les informations que l'on peut extraire pour cette interface:

"Le lien de l'interface est de type Ethernet et son adresse MAC est 00:0c:29:f3:89:0e. Son adresse IP est 192.168.69.139"

Évidemment, il y a beaucoup plus d'informations disponibles dans cette capture, mais les informations précédentes suffisent à la compréhension du tutoriel.


Étudions maintenant comment attribuer une adresse IP statique;

Il existe deux façons de le faire:


A l'aide de la commande "ifconfig" :


Cette méthode est rapide mais présente le désavantage que votre configuration sera effacée à chaque redémarrage de votre machine. Cependant elle reste un bon compromis si vous souhaitez faire une configuration rapide.
Voici la commande a utiliser:

Code : Console - A l'aide de ifconfig - 
ifconfig eth0 192.168.21.2 netmask 255.255.255.0

Vérification de l'adresse:

Constatez par vous même que votre adresse IP a bien été prise en compte:

Code : Console - Vérification - 
ifconfig eth0


Explications:

eth0: il s'agit de l'interface que l'on veut configurer.
192.168.21.2: il s'agit de l'adresse IP que l'on souhaite attribuer à cette interface. Ici, il s'agit d'une adresse de classe C.
netmask: il s'agit d'un mot clé qui précise que l'adresse suivante sera le masque de sous réseau utilisé avec cette adresse.
255.255.255.0: il s'agit du masque de sous-réseau par défaut d'une adresse IP de classe C.

Si vous ne connaissez pas les types de classes d'adresses IP, voici un schéma vous permettant de les identifier:

Image utilisateur

:soleil: C'est fait ! Votre interface possède désormais une adresse IP. Voyons maintenant comment faire pour que cette adressage deviennent persistant, c'est à dire qu'il soit le même après redémarrage de votre ordinateur.


A l'aide du fichier "interfaces" :


Ce fichier "interfaces" contient la configuration réseau de chaque interface de votre ordinateur. Pour l'ouvrir, tapez simplement cette ligne:

Code : Console - Ouvrir le fichier interfaces - 
vi /etc/network/interfaces


C'est quoi "vi": il s'agit d'un éditeur de texte présent sous Linux, qui va nous permettre d'ouvrir notre fichier.


Une fois le fichier ouvert, remplacez simplement les quelques lignes présentes à l'intérieur, par celles-ci:

Code : Console - Dans le fichier interfaces -
iface eth0 inet static
address 192.168.21.2
netmask 255.255.255.0
broadcast 192.168.21.255


Explications:

iface eth0 inet static: pensez à bien préciser le nom de l'interface que vous souhaitez configurer (ici eth0). Remarquez également le mot clé static, celui-ci nous sera utile par la suite :)
address 192.168.21.2: il s'agit de l'adresse que l'on souhaite attribuer.
netmask 255.255.255.0: il s'agit du masque de sous réseau.
broadcast 192.168.21.255: il s'agit de l'adresse de broadcast de notre réseau. Voyez comment on constitue l'adresse de broadcast: On prend les 3 premiers octets de l'adresse IP de classe C et on rajoute le 4 octet comme étant à 255. Si nous avions choisi d'utiliser une adresse de classe B, l'adresse de broadcast aurait été X.X.255.255 ! Facile non? :magicien:

Si vous vérifier maintenant l'adressage grâce à la commande "ifconfig", vous vous rendrez compte que l'adressage n'a pas changé!


En fait, lorsque l'on effectue un changement dans le fichier de configuration interfaces, il est nécessaire de redémarrer l'interface réseau afin qu'elle s'initialise avec les nouveaux paramètres IP.


Voici la commande a utiliser sous Linux Debian:

Code : Console - Redémarrage - 
/etc/init.d/networking restart


Constatez par vous même que votre adresse IP a bien été prise en compte:

Code : Console - Vérification - 
ifconfig eth0


Voilà, vous savez désormais attribuer une adresse IP de manière statique! Passons maintenant à la partie plus intéressante, sur l'adressage dynamique et la mise en œuvre d'un serveur DHCP.



Configuration dynamique: mise en place d'un serveur DHCP

Installation du serveur sous Linux Debian :

Il suffit simplement de taper cette commande en mode root:

Code : Console - Installation du serveur DHCP - 
sudo apt-get install server-dhcp3


Prenons un exemple concret pour expliquer l'intérêt de la mise en place d'un serveur DHCP.

Citation : Exemple
Vous avez êtes connectés à Internet à l'aide d'un câble ethernet car votre fournisseur d'accès à Internet ne vous a pas vous fournit de routeur wifi. Et c'est embêtant car si un ami vient chez vous, pour lui donner la connexion internet, soit votre routeur dispose suffisamment de prise ethernet, soit il faut faire des sacrifices.
Vous avez plus d'un tour dans votre sac, vous décidez de transformer votre pc en un routeur wifi.
Dans ce tuto nous ne parlerons pas de comment faire ceci, mais supposons que vous avez réussi à le faire.
Sans serveur DHCP, votre ami doit choisir judicieusement une adresse IP, qui d'un doit correspondre au bon réseau, et de deux ne doit pas être déjà utilisée par une autre machine.
Grâce au serveur DHCP, votre ami se voit attribuer une adresse IP automatiquement pour pouvoir surfer sur le net, sans se poser de questions sur le choix de l'IP.


1, 2, 2 ... c'est parti ! :p 

Du côté client :


Il va être nécessaire d'ouvrir le fichier sur chaque ordinateur client; c'est à dire sur chaque ordinateur qui veut se voir attribuer une adresse IP:

Code : Console - Accès au fichier interfaces - 
vi /etc/network/interfaces


A l'intérieur, copiez simplement cette ligne (en l'adaptant suivant l'interface de chaque ordinateur):

Code : Console - Fichier interfaces - 
iface eth0 inet dhcp


Explications:

iface eth0 inet dhcp: Vous voyez ce qui change par rapport à l'attribution statique? C'est uniquement le mot clé "dhcp" qui indique que l'interface va se voir attribuée une adresse IP automatiquement! Facile non? :-° 


Du côté Serveur :



C'est le serveur que l'on va configurer pour qu'il attribue automatiquement une adresse IP à chaque client. Nous avons choisi de le configurer de la manière suivante:

Citation : Notre configuration !
Configuration du serveur dhcp pour qu’il attribue un bail par défaut de 220s, d’une durée maximale de 360s, pour le nom de domaine sdz.net, avec une plage d’adresses IP allant de 192.168.21.30 à 192.168.21.70.


La configuration du serveur se fait dans un fichier où l'on va renseigner tous les paramètres nécessaires. Ce fichier est accessible en tapant cette ligne de commande:

Code : Console - Fichier dhcpd.conf -
vi /etc/dhcp3/dhcpd.conf


Une fois le fichier ouvert, il suffit d'y ajouter les informations suivantes:

Code : Console - Remplir le fichier dhcpd.conf -
Option domain-name « sdz.net » ;
Default-lease-time 220 ;
Max-lease-time 360 ;
Subnet 192.168.21.0 netmask 255.255.255.0 {
Range 192.168.21.30 192.168.21.70
}


Explications:

Option domain-name « sdz.net » ;: Indiquez ici le nom de domaine que vous utiliserez.
Default-lease-time 220 ;: Indiquez ici la durée du bail par défaut. Il s'agit du temps de vie d'une adresse IP. Il s'exprime en secondes.
Max-lease-time 360 ;: Il s'agit du temps de vie maximum d'une adresse IP. Il s'exprime en secondes.
Subnet 192.168.21.0 netmask 255.255.255.0 {: Indiquez sur cette ligne l'adresse réseau que vous souhaitez utiliser et son masque associé.
Range 192.168.21.30 192.168.21.70 }: Il s'agit de la plage d'adresses IP que vous souhaitez utiliser dans le réseau 192.168.21.0. Euhh, c'est quoi une plage ? En français, ça veut dire: "Mon serveur attribue des adresses IP à partir de cette adresse là, jusqu'à cette adresse ci". Ainsi un client peut, par exemple, se voir attribuer l'adresse 192.168.21.41

Vous suivez jusqu'ici? Très bien, il ne nous reste plus qu'a configurer manuellement l'adresse IP de notre serveur:

Code : Console -
ifconfig eth0 192.168.21.2 netmask 255.255.255.0


Voilà, toute la configuration est prête, tant du côté serveur que du côté client! :)

La dernière étape, est la mise en service de notre serveur DHCP:

Du côté Serveur :



Il est nécessaire de démarrer notre serveur DHCP:

Code : Console - 
/etc/init.d/dhcp3-server start


Du côté client :



Il est nécessaire de redémarrer les interfaces réseaux de chaque ordinateur client afin qu'elles se voient attribuer une adresse IP. Vous pouvez le faire de cette façon, que vous devez connaître maintenant :) :

Code : Console -
/etc/init.d/networking restart


ou bien de cette façon: (trou trou, ce sera toi que je vais utiliser ..) :p 

Code : Console - 
dhclient eth0

Vérification de l'adresse:

Constatez par vous même que votre adresse IP a bien été prise en compte sur chaque client :
Code : Console - Vérification -
ifconfig eth0



Encore plus loin !

Si l'on veut allez plus loin dans la configuration, il est possible d'attribuer de façon automatique une adresse IP à un ordinateur donné ! Oui, oui c'est possible, je vous assure !


En fait, l'interface de votre ordinateur, à laquelle on attribue une adresse IP, n'est autre que l'interface de votre carte réseau. Votre carte réseau possède un identifiant unique, appellé adresse MAC.

L'objectif est de dire au serveur: "Quand ce messieurs, avec cette adresse MAC là, demande à se voir attribué une adresse IP automatiquement, tu lui attribues l'adresse IP configuré en fonction de cette adresse MAC".

Du côté Serveur :



La configuration de fait toujours au niveau du fichier dhcpd.conf:

Code : Console - 
vi /etc/dhcp3/dhcpd.conf


Il suffit simplement d'ajouter ce bloc de lignes pour chaque attribution automatique d'adresse IP en fonction de l'adresse MAC:

Code : Console - 
Host salon{
Hardware ethernet 00 :19 :d1 :72 :d8 :72 ;
Fixed address 192.168.21.40 ;
}


Comment trouver l'adresse Mac de mon interface ? Il suffit simplement d'exécuter la commande ifconfig, vous la connaissez maintenant ;). Celle-ci listera les interfaces disponibles et leurs adresses MAC associées.


Vous allez dire que je radote mais encore une fois, n'oubliez pas de redémarrer le serveur après avoir fait des modifications dans le fichier dhcpd.conf


Code : Console -
/etc/init.d/dhcp3-server restart


Explications:

Host salon{: Le nom de la machine
Hardware ethernet 00 :19 :d1 :72 :d8 :72 ;: L'adresse MAC de l'interface
Fixed address 192.168.21.40 ;}: On fixe l'adresse 192.168.21.40 pour cette interface donnée.


Tutoriel Vidéo:

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites