Config sous réseaux

Bonjour,
avant de faire des bétises, j’aimerai avoir l’avis des experts réseaux.
Voila le problème. J’ai un PC host qui est relié à 2 réseaux via 2 interfaces, et sert de passerelle:

  • coté eth1 c’est un réseau LAN, classiquement relié à un routeur à l’adresse 192.168.0.1
  • coté eth2, c’est un mini réseau, aussi en 192.168.0.0, mais dont le masque est 255.255.255.192 (192.168.0.0/24)

Depuis le mini réseau, j’accéde au LAN et à internet sans probléme.
Mais depuis le LAN, je ne sais pas accéder au sous réseau.
Il faudrait que je mette une config dans les fichiers interfaces du LAN qui indique que pour toute adresse > 192.168.0.200, la passerelle est le PC host (192.168.0.2).

nota: sur le mini réseau eth2 est en 192.168.0.200, et les autres commencent à 201.

J’ai bien quelques idées, mais je souhaiterai avoir vos conseils.

[quote=“piratebab”]- coté eth1 c’est un réseau LAN, classiquement relié à un routeur à l’adresse 192.168.0.1

  • coté eth2, c’est un mini réseau, aussi en 192.168.0.0, mais dont le masque est 255.255.255.192 (192.168.0.0/24)[/quote]
    Les deux sous-réseaux se recouvrent, c’est foireux. Si ça n’a pas encore foiré, ça foirera.

Logiquement, ça ne devrait pas. A moins que le PC passerelle fasse du SNAT/MASQUERADE ?

[quote=“piratebab”]Mais depuis le LAN, je ne sais pas accéder au sous réseau.
Il faudrait que je mette une config dans les fichiers interfaces du LAN qui indique que pour toute adresse > 192.168.0.200, la passerelle est le PC host (192.168.0.2).[/quote]
Tu peux :

  • soit ajouter une route vers 192.168.0.192/26 via 192.168.0.2 sur chaque poste

ip route add 192.168.0.192/26 via 192.168.0.2 ou route add -net 192.168.0.192/26 gw 192.168.0.2

  • soit activer le proxy_arp sur l’interface eth1 du PC passerelle

sysctl -w net.ipv4.conf.eth1.proxy_arp=1 ou echo 1 > /proc/sys/net/ipv4/conf/eth1/proxy_arp
éventuellement dans une option “post-up” du fichier interfaces (si Debian ou dérivé) pour que ce soit fait automatiquement au démarrage.

Mais je répète : C’EST FOIREUX. Je te recommande chaudement de plutôt définir deux sous-réseaux qui ne se recouvrent pas, par exemple 192.168.0.0/24 et 192.168.1.0/24.

Merci pour ta réponse.
Il y a effectivement un recouvrement de sous réseau. Sur le LAN, comment définir un masque de sous réseau qui me limite les adresses < 192 sur le LAN ?

Je ne connaissais pas l’option qui permet de définir une route pour une plage d’adresse donnée.
et j’ai effectivement oublié de préciser que le PC host faisait un masquerade entre les 2 réseaux.

allow-hotplug eth2 auto eth2 iface eth2 inet static address 192.168.0.200 netmask 255.255.255.192 up iptables -A POSTROUTING -t nat -s 192.168.0.0/24 -j MASQUERADE up echo 1 > /proc/sys/net/ipv4/ip_forward down iptables -D POSTROUTING -t nat -s 192.168.0.0/24 -j MASQUERADE

Ce n’est pas possible. Le mieux qu’on puisse faire, c’est définir un masque 255.255.255.128 (/25) qui limite la plage d’adresses à 192.168.0.0-127, évitant le recouvrement avec l’autre sous-réseau. Note bien que ça ne t’affranchira pas de l’obligation d’ajouter une route vers l’autre sous-réseau pour pouvoir l’atteindre. Le plus simple serait de l’ajouter uniquement sur la passerelle par défaut du LAN qui est le routeur, si celui-ci le permet.

Si c’est pas malheureux de faire du NAT sur un LAN alors que ce n’est pas nécessaire puisque tu maîtrises l’adressage et le routage (contrairement à sur internet).

OK merci, je vais mettre ça en place.
Pour le NAT, c’est déja au maxi de mes compétences réseau, et au moins je maitrise (en tout cas j’en ai l’impression :slightly_smiling:).
Je vais enfin pouvoir faire les test pour visionner la TV sur mon téléphone via mythtv !