Accueil
Java Standard Edition
Java EE 5
Visual Basic .Net 2005
Visual C++ .Net 2005
Visual C# .Net 2005
Cours ASP .Net 2.0
Postgresql
Linux
Visual Studio 2008
ASP 3.0 Classique
Cours Javascript - DOM - DHTML
Cours Ajax
VBA
Assembleur
Perl
Membres
L'auteur du site
Nouveautés sur le site
Contacts
Plan du site
Exécution d'un programme
Les archives Jar
Les classes abstraites
Les interfaces
Les tableaux
La généricité
Les énumérations
Les classes internes
Classes anonymes et internes locales
E/S(1):InputStream et OutputStream
E/S(2):FileInputStream et FileOutputStream
E/S(3):Reader et Writer
E/S(4):FilterInputStream et FilterOutputStream
E/S(5):Les filtres d'octets: PrintStream
E/S(6):Les filtres d'octets: DataInputStream et DataOutputStream
E/S(7):Les filtres d'octets: BufferedInputStream et BufferedOutputStream
E/S(8):Flux de caractères: PrintWriter
E/S(9):Flux de caractères: FilterReader et FilterWriter
E/S(10):Flux de caractères: InputStreamReader, OutputStreamWriter, StreamDecoder, StreamEncoder
E/S(11):Flux de caractères: BufferedReader et BufferedWriter
E/S(12):Flux de caractères: FileReader et FileWriter
La classe String (java.lang)
Les collections: L'interface Collection(java.lang)
Les collections(2): L'interface List(java.util)
Les collections(3): AbstractCollection(java.util)
Les collections(4): AbstractList(java.util)
La bibliothèque Swing en Java
Les bases de données en Java
JDBC ( Java Database Connectivity )
Les interfaces graphiques
Les fichiers de configuration en Java
INSTALLATION JAVA EE 5, JRE 6, ECLIPSE, TOMCAT, ETC SOUS LINUX
INSTALLATION JAVA EE 5, JRE 6, ECLIPSE, TOMCAT, ETC SOUS WINDOWS
Les applications Web en java
Les filtres Java (javax.servlet.Filter)
I Généralités
I.1 Le formulaire principal
I.2 Les objets créés par Visual
I.3 Les variables références
I.4 Le garbage collector
II Créer évènements
II.1 Rappel évènements
II.2 Procédure à suivre
II.2.1 Créer son EventArgs
II.2.2 Créer EmetEvent
II.2.3 Déclarations autres
I Généralités
I.1 Applications winforms
I.2 Applications MFC
I.3 Objets managés ou pas
I.4 Objets non managés
I.5 Objets managés - handle
I.6 Le top-level ^
II Créer évènements
II.1 Rappel évènements
II.2 Procédure à suivre
II.2.1 Créer son EventArgs
II.2.2 Créer EmetEvent
II.2.3 Déclarations autres
I Généralités
I.1 Puissant et Accessible
I.2 Créer ses classes
II Créer évènements
II.1 Rappel évènements
II.2 Procédure à suivre
III Les services Windows
IV Le .net remoting
V Communication Tcp avec TcpClient et TcpListener
II.2.1 Créer son EventArgs
II.2.2 Créer EmetEvent
II.2.3 Déclarations autres
I Généralités
I.1 Un EDI formidable
I.2 Inclure C# ou VB
I.3 L'objet Response
I.4 Les évènements
II ASP .net et les bdd
II.1 Essayer plusieurs fois la requête
I 2.1 Fichiers distincts
I.2.2 Avec la balise script
I.2.3 Inclure réellement
I.2.4 Avec Response.Write()
I.3.1 La méthode Response.Redirect()
I.4.1 Résoudre problème post
Installation Postgre Linux
Cours Postgresql
Le Shell Unix( Linux, Ubuntu)
Les scripts C-Shell
Programmation système Unix
Reseau Linux
Les iptables
Windows Presentation Foundation(WPF)
Le Framework 3.0
Windows Workflow Foundation(WF)
ASP 3.0 Classique
Cours Javascript - DOM - DHTML
Chat Ajax
VBA Excel 2003
Assembleur
Perl
Inscription
Liste membres
Livre d'or
Forum
Accueil
>
Linux
>
Reseau Linux
____________________________________________________________________________________________________
Connexion
RESEAU LINUX
Ce tuto a été testé et écrit sur ubuntu 6.06("The dapper drake"). Et accessoirement testé sur xubuntu 7.10 alternate.
Merci à tous les auteurs de tutoriaux à partir desquels je suis parti( on ne peut pas tout inventer tout tout seul!), ne serait-ce que pour avoir confirmation de ce que je pensais.
I) GENERALITES
Toutes les commandes concernant la configuration du réseau se situent dans le répertoire /sbin
I.1) Commande hostname:
pour changer le nom de la machine.
sudo hostname nouveauNom
* Autre façon de faire: changer dans le fichier de config /etc/hostname
Exemple: cat /etc/hostname donne:
monNomMachine
I.2) Définition Interface réseau - la commande ifconfig
Le terme interface réseau sert à désigner ce qui permet d'entrer en contact avec le réseau( d'où le terme 'interface'). Par exemple, les cartes réseau sont des interfaces réseau.
La commande ifconfig( ifconfig signifie 'interface configuration') permet d'afficher toutes les interfaces réseau.
L'interface réseau désignée loopback est particulière. Cette interface, c'est la machine elle-même. L'adresse IP de cette interface est 127.0.0.1
Loopback est désignée par "lo" dans ifconfig. Pourquoi ce besoin d'une interface loopback? Parfois, on a besoin d'exécuter un programme distant sur notre machine locale, ne serait-ce que pour l'essayer. On a alors besoin d'une interface réseau virtuelle, pour simuler une vraie interface réseau. Voici donc une des raisons de l'interface loopback.
Exemple de résultat de ifconfig:
"
eth0
(...)
lo
(...)
"
L'interface ethernet correspond à la carte réseau de l'ordinateur( ou les cartes réseau). eth0 = la première carte réseau; eth1 = la deuxième carte réseau, etc .
Pourquoi ce concept d'interface réseau, et pourquoi ne pas parler directement de carte réseau? Parce qu'il est toujours préférable de se détacher du côté matériel. Une interface est un concept abstrait, qui n'est pas lié à une réalité matériel. On peut donc parler d'interface réseau, même si l'interface n'est pas une carte réseau( et qui sait ce que l'avenir nous réserve!). Ce concept permet aussi d'avoir des cartes réseaux virtuelles( comme dans le cas de l'interface loopback ci-dessous). De plus, il est toujours préférable d'utiliser de tels concepts qui se rapprochent de la pensée humaine.
Il est possible d'associer une adresse IP + un masque, à une interface réseau. On rappelle que l'adresse IP d'un ordinateur est, en fait, l'adresse IP de sa carte réseau( un ordinateur possédant le plus souvent une seule carte réseau).
I.3) Définition: le masque de sous-réseau:
Un masque de sous-réseau nous permet de déterminer le vrai sens d'une adresse IP, car une adresse IP possède un certain nombre de bits qui désignent l'ordinateur lui-même, et un autre nombre de bits qui désignent le réseau auquel il appartient. Grâce au masque de sous-réseau, on peut déterminer, par conséquent, l'adresse du réseau, à partir de l'adresse IP( ainsi que l'adresse de la machine). Les bits à 1 du masque indiquent la partie réseau de l'adresse IP. Une adresse IP est donc indissociable de son masque de sous-réseau, sinon il est impossible d'en comprendre la signification.
Prenons un exemple d'adresse IP d'une machine, par exemple 192.168.1.20, avec un masque de sous-réseau 255.255.255.0
L'adresse du réseau est 192.168.1( car le masque est 255.255.255.0), et un seul octet désigne la machine: 20 .
On peut avoir 256-2 = 254 machines différentes avec un tel masque( moins 2 car 2 adresses IP sont réservées, celle où les bits de la partie machine sont tous à 0, et celle où ils sont tous à 1).
Les IPs possibles ici sont 192.168.1.1 à 192.168.1.254, donc 254 machines pour le réseau 192.168.1
192.168.1.0 réservée ( la partie machine a tous ses bits à 0: 00000000 ) 192.168.1.1
...
192.168.1.254
192.168.1.255 réservée ( la partie machine a tous ses bits à 0: 11111111 )
Remarque: si le masque avait été sur deux octets(255.255.0.0), les IPs réservées auraient été( pour un réseau 150.123): 150.123.0.0 150.123.255.255
Le choix du masque de sous-réseau est fait en fonction du nombre de machines du réseau. Il faut donc choisir un masque 255.255.255.0 pour un nombre de machines allant jusqu'à 254!
La première adresse réservée est l'adresse de réseau. Ainsi on s'en sert pour désigner le réseau. C'est seulement l'adresse "pure" du réseau( la partie réseau de l'adresse, c'est ce que j'entends par adresse pure) + tous les bits de la partie machine à 0. Ceci permet d'avoir une adresse réseau sur 4 octets, sinon la longueur en octets de l'adresse réseau dépendrait du masque de sous-réseau, ce qui n'est pas pratique. On a toujours une adresse réseau sur 4 octets, de cette manière. Et, de plus, en fournissant une adresse IP ayant cette valeur réservée, on indique clairement qu'on parle de l'adresse du réseau, et non pas d'une machine.
La deuxième adresse réservée est l'adresse de broadcast( ou adresse de diffusion). C'est l'adresse "pure" du réseau, avec tous les bits de la partie machine à 1. Une telle adresse signifie qu'on désigne toutes les machines du réseau en question. On veut donc envoyer à toutes les machines du réseau donné, et non pas à une machine particulière.
On remarque que ces deux adresses réservées sont la première et la dernière de toutes les possibilités d'adressage machine pour un réseau donnée.
I.3.b)Les sous-réseaux
En réalité, je ne vous ai pas parlé encore d'une possibilité offerte, qui est qu'une adresse réseau donnée peut servir pour désigner plusieurs sous-réseaux de ce réseau.
Qu'est-ce qu'un sous-réseau? Le mot sous-réseau prend ici tout son sens. Supposons une société qui dispose de 5 réseaux. Elle a obtenu une seule adresse IP(publique) qui est 53.124.14.0 . On peut utiliser cette même adresse IP pour nommer nos cinq réseaux. L'astuce est d'utiliser des bits normalement dédiés à la désignation de la machine. Bien entendu, on possèdera alors moins de bits pour désigner les machines des 5 réseaux. Mais en général, le fait d'avoir plus de réseaux fait diminuer le nombre de machines par réseau! Donc ca n'est pas très embêtant d'avoir moins de bits pour les machines. Ici on sait par exemple que le plus grand des cinq réseaux à 14 ordinateurs. On remarque que 4 bits suffisent donc pour désigner une des machines de ces cinq réseaux.
On prend 3 bits pour les sous-réseaux: 2 puissance 3 -2( les 2 adresses réservées, adresse réseau et broadcast) = 6. Avec 3 bits, on peut nommer 6 sous-réseaux, ce qui nous convient car on veut en faire 5. Il reste 8-3 = 5 bits pour les machines, ce qui nous suffit car il nous en fallait 4.
Ces cinq réseaux peut être désignés par le terme de sous-réseau, car ce sont des réseau d'une même adresse IP. Cependant, ce sont, chacun, des réseaux à part entière. Voici ici le vrai sens de sous-réseau, que nous n'avions pas vraiment utilisé avant ce paragraphe.
Le masque de sous-réseau prend alors ici tout sons sens, et on comprend mieux le terme de "sous-réseau". Jusqu'à présent, on utilisait le masque de sous-réseau comme un masque de réseau. On va, dans le cas présent, pleinement utiliser le masque de sous-réseau.
Le masque de sous-réseau sera ici: 255( 11111111), 255(11111111),255(11111111), 111(3bits pour le sous-réseau)00000(5 bits pour la machine) =
255.255.255.224
On fait le choix(nous-même), par conséquent, d'un masque 255.255.255.224, pour cette société.
I.3.c)Les plages d'adresses réservées:
Une question vous est certainement venue à l'esprit: comment se fait t'il que la plupart des réseaux locaux que vous utilisez ont des adresses commençant par 192.168.1.x( avec x désignant la machine)? Comment se fait t'il alors qu'on ne peut plus identifier une machine dans le monde de manière unique?
Dans le cas de réseaux privés, les machines n'ont pas besoin d'être identifiées de manière unique dans le monde. Elles ont uniquement besoin d'être identifiées de manière unique à l'intérieur de leur propre réseau. Car ces machines font partie d'un réseau privé, qui n'est pas accessible de l'extérieur. On s'intéresse à donner une identification unique uniquement pour les réseau publics. Dans le cadre d'une utilisation locale uniquement, on utilise donc certaines plages d'adresses réservées pour cette utilisation précise. Ces IPs ne seront donc pas uniques dans le monde, mais de toutes façons ce n'était pas le but recherché. Et ainsi, on n'utilisera pas pour ces machines locales des vraies IPs qui sont réellement utilisées sur des machines publiques.
Les plages d’adresses réservées sont les suivantes:
- 10.0.0.0/255.0.0.0, donc plus de 16 millions d’adresses.
- 192.168.0.0/255.255.0.0, donc environ 65000 adresses.
- 172.16.0.0/255.255.240.0, donc 4080 adresses.
On parle d'adresse publique, et d'adresse privée. Ces plages d'adresses sont des plages d'adresses privées, que vous pouvez utiliser dans ce cadre.
Notre exemple ci-dessus, avec une adresse réseau 192.168.1.0 et un masque de sous-réseau 255.255.255.0, fait donc bien partie d'une plage d'adresses privées.
Ceci est une définition générale du masque de sous-réseau, je définirai plus précisément ultérieurement.
Retour sur la commande ifconfig:
ifconfig <interface> <ip>
netmask <masque>
Cette commande associe à l'interface désignée, une adresse IP et un masque( possibilité de plusieurs couples IP-masque pour une même interface). Netmask signifie sous-réseau en anglais.
I.4)Les routeurs
Un routeur permet de transmettre les informations d'un réseau à un autre. Il est très important de souligner que le problème est de connecter plusieurs réseaux différents. C’est cela la problématique à laquelle répond le routeur. Un routeur n’a pas de rôle pour des machines au sein d’un même réseau. Le routeur peut être un routeur, ou un ordinateur qui exerce cette fonction. Un routeur sert donc à sortir de notre sous-réseau.
Remarque: être relié à Internet signifie quoi?Cela signifie être relié à un réseau, car internet est un réseau. On peut être relié à un modem par exemple, pour accéder à ce réseau. Les LiveBox( et autres) sont des routeurs Internet. C’est-à-dire des routeurs entre le réseau Internet et votre réseau local. C’est pour cela qu’on les appelle routeur, du fait de cette liaison entre deux réseaux( Internet et le réseau local).
Le terme passerelle est à routeur ce qu'interface réseau est à carte réseau. C'est à dire, comme expliqué ci-dessus pour les interfaces réseau, qu'une passerelle est une notion abstraite. Et d'ailleurs ici cette notion est d'autant plus utile que s'abstraire du matériel ici nous simplifie les choses, car une passerelle peut être un routeur, mais aussi un ordinateur.
I.4.a)Avoir une machine routeur
- Une machine linux peut servir de routeur. Intérêt d’avoir une machine routeur : un ordinateur est programmable comme on veut, on a toute la puissance qu’on souhaite au niveau actions à faire. Mêmes avantages quand on utilise un ordinateur comme firewall( d’ailleurs les deux vont souvent ensembles : la machine firewall est aussi routeur( on filtre les paquets et on les retransmet si c’est autorisé par le filtrage , il y a donc bien routage).
- Pour une machine linux routeur, par exemple elle peut utiliser une interface réseau pour les ordinateurs fixes, une interface réseau pour les portables, et une interface réseau reliée à internet. On a un réseau pour les fixes, et un pour les portables, dans notre cas. Ce découpage en plusieurs interfaces réseau simplifie et sécurise d'avantage. Tous les ordinateurs fixes seront donc branchés sur la même carte réseau de l'ordinateur routeur, etc. Le flux des données réseau se fait donc physiquement sur des cartes réseau différentes.
Mais surtout, on est obligé d’utiliser autant d’interfaces réseaux que de réseaux connectés au routeur. Une raison toute simple, c’est que le routeur doit être connecté à chacun de ces réseaux. Comme on a une prise RJ45 femelle pour une carte réseau, comment se brancher dans ces conditions sur plusieurs réseaux ? C’est impossible. On est donc obligé d’avoir une carte réseau par réseau connecté au routeur.
I.4.b)Le switch ou commutateur réseau – Les hubs ou concentrateurs
Tous les ordinateurs d’un même réseau local sont reliés soit à un switch( ou commutateur réseau), soit à un hub( ou concentrateur). Le switch a la même apparence qu’un hub.
On a une topologie en étoile : chaque ordinateur est relié au switch( ou au hub) par un câble réseau( RJ45). Le switch possède une alimentation électrique, qui peut être donnée par un USB 2.0, ou une prise électrique.
Le hub envoie chaque trame( eh oui l’unité élémentaire est ici la trame, car on parle de matériel bas niveau comme les hubs ou les switchs) qu’un ordinateur a demandé d’émettre, à chaque ordinateur relié au hub.
Le switch est plus intelligent que le hub : il va envoyer la trame uniquement à la machine destinataire. Pour cela, le switch sait faire une correspondance entre ses ports ethernets et l’adresse MAC de la machine branchée à ce port ethernet. Il envoie donc la trame au port correspondant à l’adresse MAC du destinataire. A noter que le switch agit uniquement au niveau adresses MAC, et pas au niveau adresse IP. Le switch n’est pas un routeur. Il a son mini-rôle uniquement au sein de son réseau. Comment le switch s’y prend-il pour faire la correspondance entre ses ports ethernets et les adresses MAC des machines de son réseau ?
Réponse sur wikipédia :
« Le commutateur établit et met à jour une table d'adresses MAC, qui lui indique sur quel port diriger les trames destinées à une adresse donnée. Lorsqu'il reçoit une trame destinée à une adresse présente dans cette table, le commutateur renvoie la trame sur le port correspondant. Si le port de destination est le même que celui de l'émetteur, la trame n'est pas transmise. »
Mais que fait-il dans le cas où l’adresse destinataire ne fait pas partie de son réseau ?
Réponse également sur Wikipédia :
« Le commutateur envoie simplement la trame sur tout ses ports à l'exception du port de l'émetteur. ».
Ceci nous intéresse particulièrement dans le cas d’une machine routeur. Dans ce cas, la machine routeur est une simple machine reliée au switch du réseau 1 par une interface réseau eth0(par exemple), et reliée au switch du réseau 2 par une interface réseau eth1(par exemple). Dans le cas d’une machine du réseau R1 qui veut envoyer quelque chose à une machine du réseau R2, on veut que la machine routeur reçoive quand même le la trame . Ce qui est heureusement le cas, car toutes les machines du réseau R1 vont recevoir la trame, car cette trame n’est pas destinée à une machine du réseau R1. Le routeur n’a plus qu’à faire son travail de routeur, et à faire suivre la trame( grâce à un iptables FORWARD, voir le cours iptables).
Comment le switch met-il à jours sa table d'adresses MAC? Réponse sur Wikipédia: "
Lorsqu'une trame entre dans le commutateur, celui-ci conserve l'adresse MAC de l'émetteur et le port sur lequel il l'a reçu dans la table d'adresse. C'est ainsi que la table est établie et mise à jour.".
I.4.c) définition de DMZ( demilitarized zone)
Définition wikipédia : «
Une zone démilitarisée est un sous-réseau(DMZ) isolé par deux pare-feux (firewall). Ce sous-réseau contient des machines se situant entre un réseau interne(LAN - postes clients) et un réseau externe (typiquement, Internet). »
Une DMZ est donc un sous-réseau( c’est donc aussi un réseau !). Ce sous-réseau contient des machines qui se situe entre un réseau interne( par exemple un réseau local d’une entreprise), et un réseau externe( Internet).
Wikipédia : « La DMZ permet à ces machines d'accéder à Internet et/ou de publier des services sur Internet sous le contrôle du pare-feu externe. En cas de compromission d'une machine de la DMZ, l'accès vers le réseau local est encore contrôlé par le pare-feu interne. ». C'est - à -dire que si une machine de la DMZ, qui était en contact "direct" avec l'extérieur ( juste le pare-feu externe comme protection) est compromise( cheval de troie, etc), il reste une protection entre la DMZ et le réseau local, cette protection est le pare-feu interne.
L’architecture est donc la suivante :
Réseau interne – Machine firewall interne (ordinateur) – Réseau DMZ( peut contenir serveur SMTP, serveur Web, serveur DNS …) – Machine firewall externe ( ordinateur) – Réseau Internet( donc routeur internet ici, style box ADSL par exemple)
Le réseau DMZ est moins sécurisé( d’où le nom zone démilitarisée). Il permet d’avoir un intermédiaire entre le firewall externe et le réseau interne, et aussi de pouvoir avoir un pare-feu interne. Une autre raison est que les machines de la DMZ sont particulières, car ce sont des machines qui ont besoin typiquement d’accéder à l’extérieur( serveur Web de l’entreprise, serveur SMTP, etc). Donc il serait moins sécurisé de mettre dans le réseau interne ces machines qui accèdent souvent à l’extérieur.
RETOUR HAUT