davek@melita.com
nl@freenix.fr
), février 1996.
En deux mots, j'ai chez moi un petit réseau local Ethernet que je souhaitais connecter à Internet. Comme je n'ai pas d'adresse de réseau personnelle, je voulais vampiriser l'adresse du réseau de mon bureau. Je suis parvenu à mes fins en utilisant SLIP et proxy ARP. Ce document explique rapidement comment.
Je vais d'abord présenter le résultat, puis comment l'atteindre.
Le réseau final appartient à un réseau de classe C (a.b.c.0) :
Internet
|
o-------+---------+----------------o <- Ethernet distant
| .126
NetBlazer
| .215 <- SLIP (par modem 14.4)
gw
| .253
o-----------------+--------+-------o <- Ethernet local
| .254
mus
La solution repose sur l'utilisation du routage et de Proxy ARP.
Voici la table de routage de gw :
Kernel routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
a.b.c.254 * 255.255.255.255 UH 0 0 5628 eth0
a.b.c.253 * 255.255.255.255 UH 0 0 0 eth0
a.b.c.126 * 255.255.255.255 UH 0 0 22 sl0
127.0.0.0 * 255.0.0.0 U 0 0 32 lo
default a.b.c.126 * UG 0 0 9 sl0
Cette table a été créée grâce aux commandes suivantes :
Gw est désormais configuré pour parler aussi bien avec eth0 qu'avec sl0 (ça pourrait être le moment de signaler que mon noyau est compilé avec l'option "IP forwarding"). Il est peut-être inutile de justifier la route explicite vers a.b.c.253, mais, sans elle, un ping .253 depuis .253 sort par la liaison SLIP.
Voici la table de routage de mus :
Kernel routing table
Destination Gateway Genmask Flags MSS Window Use Iface
a.b.c.253 * 255.255.255.255 UH 1436 0 59 eth0
127.0.0.0 * 255.0.0.0 U 1936 0 52 lo
default a.b.c.253 * UG 1436 0 21661 eth0
Cette table a été créée grâce aux commandes suivantes :
A ce moment, j'ai essayé un ping vers NetBlazer. Je voyais sortir les paquets par le modem (SD clignotait), mais il n'y avait pas de réponse. C'était bon signe puisque cela montrait que gw recevait les paquets par eth0 (Ethernet) et les renvoyait par sl0 (SLIP).
L'étape suivante consistait à configurer l'autre côté de la connexion SLIP (NetBlazer) afin qu'elle me reconnaisse et sache me parler. Ce fut le rôle de sa commande proxy arp.
Usage: proxy ether|token|
proxy a.b.c.253 ether 00:c0:6d:11:66:d3
proxy a.b.c.254 ether 00:c0:6d:11:66:e4
Je pouvais désormais faire un ping depuis mus vers Internet : tout allait pour le mieux. :)
Le noyau utilisé sur gw était un 1.1.88 compilé avec l'option "IP Forwarding", indispensable ici. Le noyau de mus était également un 1.1.88 mais sans "IP Forwarding" (inutile).
Il convient de remarquer que l'on aurait pu utiliser PPP aussi bien que SLIP.
(paragraphe vide dans le texte original, NDT)
La principale question s'est posée alors que je rédigeais ce HOWTO. Quand j'ai vérifié la table ARP sur NetBlazer, mes entrées ARP n'étaient plus là, alors que, pourtant, tout marchait correctement. J'ai retapé l'entrée associée à mus et ça n'a rien changé. Si quelqu'un a une idée sur la question, qu'il m'en fasse part.
Mes remerciements à John Garnett
garnett@actlab.rtf.utexas.edu
pour son message du 21 Dec 1994 "A
Guide on Using SLIP with ProxyARP..." Je ne suis pas sûr que mon
document soit autre chose qu'un réchauffé de ce qu'il avait
écrit, si ce n'est que j'utilise un NetBlazer du côté
d'Internet et que lui avait un modem connecté à un ordinateur.
Quoi qu'il en soit, merci, John !
| Dave Kennedy (davek@melita.com) Voice: 404-409-4575 |
| UUCP: emory!melupl!davek Whois: DK87 |