Re: Règles de routage

Page principale

Répondre à ce message
Auteur: Olivier Allard-Jacquin
Date:  
À: ML Guilde
Sujet: Re: Règles de routage
    Hello Frédéric,

Frédéric Mantegazza wrote:
> Bonjour,
>
> Soient 2 machines connectées sur un même switch (lui-même relié au réseau
> général), mais appartenant à 2 classes distinctes :
>
> pc     194.57.220.15
> elinos 192.54.197.67

>
> Soient les règles de routage suivantes :
>
> Destination     Gateway         Genmask        Flags  MSS Window  irtt Iface
> 192.54.197.0    0.0.0.0         255.255.255.0  U        0 0          0 eth0
> 194.57.220.0    0.0.0.0         255.255.255.0  U        0 0          0 eth0
> 0.0.0.0         194.57.220.254  0.0.0.0        UG       0 0          0 eth0

>
> Pourquoi ne puis-je pas me connecter à elinos depuis pc lorsque le switch
> n'est plus relié au réseau général, et donc à la passerelle de pc ?
>
> NOTA : les 2 classes utilisées sont elles-même sur la même boucle au niveau
> du réseau général.


    C'est assez simple en fait: Pour communiquer entre elles, tes machines 
passent par la passerelle.


    Je m'explique :
- "PC" à pour adresse IP 194.57.220.15, et comme masque 255.255.255.0. 
Ce que veut dire que pour dialoguer avec les machines 194.57.220.1 à 
194.57.220.254, ELLE SAIT qu'elle peut lancer elle-même la 
communication, et contacter ces machines directement. Par contre, pour 
les autres machines du reste du monde, elle envoie un paquet à la 
passerelle (194.57.220.254), et lui dit "Je veux communiquer avec 
xx.xx.xx.xx, débrouille-toi pour lui envoyer tel message".


- Le problème est pareil pour Elinos, qui a pour adresse IP
192.54.197.67. Celle machine peut dialoguer directement (ie : sans
intermédiaire) avec les machines 192.54.197.1 à 192.54.197.254. Mais
pour échanger des données avec les autres machines du reste du monde,
elle doit passer par une passerelle. Tu ne l'indiques pas dans tes
règles de routages, mais il doit s'agir de 192.54.197.254

    J'ai expliqué les principes du routage dans ma documentation de 
Netfilter : 
http://olivieraj.free.fr/fr/linux/information/firewall/fw-01-05.html


    De ce qui est expliqué ci-dessus, il appairait que pour que PC et 
Elinos dialoguent, il FAUT que le routeur commun (qui doit avoir 2 
adresses IP : 194.57.220.254  et 192.54.197.254) soit connecter, via le 
switch.


    Tu n'as aucun moyen de contourner ce problème, mise à par l'astuce qui 
va suivre. Rajouter sur "PC" la règles de routage :

 > 192.54.197.0  0.0.0.0   255.255.255.0  U   0 0      0 eth0


ne sert à rien, car "PC" n'a pas de carte réseau sur le réseau
"192.54.197.0".

    La solution a ton problème est la suivante : Rajouter une carte réseau 
à une des deux machine (disons, "PC" pour faire simple), et lui donner 
une adresse IP dans le réseau 192.54.197.0. Ou, plus simple (sans ajout 
de carte réseau), donner une 2nd adresse IP à ta carte réseau eth0 :


Sur "PC", pour l'instant tu as cela :

[root@pc /]# ifconfig eth0 194.57.220.15 netmask 255.255.255.0 up
[root@pc /]# ifconfig eth0
eth0      Lien encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
           inet adr:194.57.220.15  Bcast:194.57.220.255 
Masque:255.255.255.0
           UP BROADCAST MULTICAST  MTU:1500  Metric:1
           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
           TX packets:62 errors:0 dropped:0 overruns:0 carrier:62
           collisions:0 lg file transmission:100
           RX bytes:0 (0.0 b)  TX bytes:10260 (10.0 Kb)
           Interruption:21 Adresse de base:0xc800


Tu rajoutes une 2nd adresse IP à eth0:0 (j'ai pris "192.54.197.68") :
[root@pc /]# ifconfig eth0:0 192.54.197.68 netmask 255.255.255.0 up
[root@pc /]# ifconfig eth0:0
eth0:0    Lien encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
           inet adr:192.54.197.68  Bcast:192.54.197.255 
Masque:255.255.255.0
           UP BROADCAST MULTICAST  MTU:1500  Metric:1
           Interruption:21 Adresse de base:0xc800


    Et avec ceci, la table de routage que tu as définit au-dessus fonctionne.


    Ainsi, "PC" pourra dialoguer sans problème avec "Elinos", sans passer 
par le routeur.


    MAIS ATTENTION : Pour faire ceci, il te fait avoir une adresse IP pour 
eth0:0. Et cela, il FAUT que tu la demandes à ton administrateur réseau. 
Chose qu'il est en droit de te refuser, car ainsi configurée, ta machine 
peut présenter un danger pour le réseau. En effet, elle devient un 
"pont" entre les réseaux "194.57.220.0" et "192.54.197.0" et si tu 
actives le routage sur cette machine (à coups de Netfilter), elle 
permettra à quiconque qui connaît la capacité de ta machine à passer 
d'un réseau à l'autre...


    Bref, j'espère que tu es bien copain avec ton admin réseau... ;)


    Si tu es un peu "juste" en terme de connaissances réseau, je t'invite à 
lire ces rappels que j'ai écris pour ma documentation sur Netfilter : 
http://olivieraj.free.fr/fr/linux/information/firewall/fw-01.html


    A plus,


                    Olivier


-- 
~~~~~~~  _____/\_____  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Phoenix /   _ \/ _   \    Olivier Allard-Jacquin
       /   / \  / \   \   Web:  http://olivieraj.free.fr/
      /___/  /  \  \___\  Mail: olivieraj@???
~~~~ /////  ///\\\  \\\\\ ~~~~~~~~~~~~~~~~~~~~~~~ Linux Powered !!