REMARQUE: Si les périphériques clients (
computer B
dans cet exemple) souhaitent obtenir Internet via l'ordinateur passerelle, ils doivent peut-être encore configurer la résolution du serveur de noms. Cela n'est pas expliqué ici (une passerelle ne dessert pas nécessairement Internet).
J'essaie de comprendre les principes fondamentaux du routage des réseaux.
J'expérimente donc avec mon LAN (je n'ai pas besoin d'Internet pour l'instant, juste des communications LAN).
Je sais que les questions de configuration du réseau sont quelque chose d'assez complexe, mais j'essaie juste de faire d'un ordinateur (disons A) pour servir de passerelle pour un autre (disons B) (tous deux exécutant Ubuntu Linux).
Je n'ai besoin que de B pour pouvoir atteindre le routeur, qui n'est accessible que pour A.
C'est le cas:
Router for computer A --> 192.168.0.1
Computer A - eth0 --> 192.168.0.2
Computer A - eth1 --> 192.168.1.1
Computer B - eth0 --> 192.168.1.2
L'ordinateur A se connecte correctement au routeur .
Les ordinateurs A et B se connectent bien (ping, SSH ... etc) entre eux .
L'ordinateur B ne peut pas atteindre le routeur de l'ordinateur A.
Je pensais que l'ajout de l'ordinateur B comme passerelle par défaut et l'activation du transfert IP sur A permettraient à B d'atteindre le routeur pour A:
luis@ComputerB:~$ sudo route add default gw 192.168.1.1
luis@ComputerB:~$ sudo routel
target gateway source proto scope dev tbl
127.0.0.0 broadcast 127.0.0.1 kernel link lo local
127.0.0.0 8 local 127.0.0.1 kernel host lo local
127.0.0.1 local 127.0.0.1 kernel host lo local
127.255.255.255 broadcast 127.0.0.1 kernel link lo local
192.168.1.0 broadcast 192.168.1.2 kernel link eth0 local
192.168.1.2 local 192.168.1.2 kernel host eth0 local
192.168.1.255 broadcast 192.168.1.2 kernel link eth0 local
default 192.168.1.1 eth0
169.254.0.0 16 link eth0
192.168.1.0 24 192.168.1.2 kernel link eth0
Et sur l'ordinateur A (la passerelle intermédiaire):
root@ComputerA:~$ echo 1 > /proc/sys/net/ipv4/ip_forward
L'ordinateur B peut toujours envoyer une requête ping à l'ordinateur A, mais le routeur pour A ne répond pas:
luis@ComputerB:~$ ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
^C
(Pas de réponse ping)
Est-ce la bonne procédure pour qu'un ordinateur exécutant Linux agisse comme une passerelle pour un autre ordinateur de manière simple?