Intéressé par des cours d'informatique en ligne ?
Visitez mon nouveau site
https://www.yesik.it !
Vous venez d'acheter un nouveau matériel réseau. Et comme il se doit, son adresse factory est 192.168.1.1. Comme il se doit également, le manuel suggère de changer l'adresse IP de votre machine pour pouvoir accéder facilement à sa configuration. Mais ce n'est peut-être pas souhaitable...
Pour ceux qui comme moi ne veulent pas changer systématiquement leur adresse IP pour configurer un nouveau matériel, voici donc comment router des paquets IPv4 vers une machine dont l'adresse est sur un autre réseau.
Comment procéder?
La technique est simple: il suffit d'ajouter une adresse supplémentaire à l'interface physique qui vous relie au réseau, puis de modifier les tables de routage pour utiliser systématiquement cette adresse plutôt que l'adresse habituelle de votre machine pour accéder à la machine étrangère:
sh# ip addr add 192.168.1.200/24 dev eth2 sh# ip route add to 192.168.1.1 dev eth2 src 192.168.1.200
Deux commandes, et c'est tout! Un rapide ping peut m'assurer que non seulement les paquets partent bien vers la machine distante (ce qui confirme que la route est effective), mais aussi que ceux-ci peuvent aussi revenir à leur point de départ (ce qui confirme que le paquet est parti avec pour origine la nouvelle adresse IP):
sh$ ping -c 1 192.168.1.1 PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data. 64 bytes from 192.168.1.1: icmp_seq=1 ttl=254 time=2.04 ms --- 192.168.1.1 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 2.049/2.049/2.049/0.000 ms
Moins empiriquement, on peut aussi s'assurer de la configuration en examinant les tables de routage:
sh# route -n | grep 192 192.168.1.1 0.0.0.0 255.255.255.255 UH 0 0 0 eth2 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
Et il est possible de vérifier que l'interface physique possède bien deux adresses sur des réseaux IPv4 distincts:
sh# ip addr show eth2 | grep inet inet 10.129.36.30/24 brd 10.129.36.255 scope global eth2 inet 192.168.1.200/24 scope global eth2 inet6 fe80::213:ceff:fe28:e6e1/64 scope link
Ranger ses jouets
Une fois que vous aurez terminé vos manipulations, vous souhaiterez sans doute supprimer la route et l'adresse IP supplémentaire que nous avons ajoutés:
sh# ip route del to 192.168.1.1 sh# ip addr del 192.168.1.200/24 dev eth2