Problème création de sous réseau

Bonjour,

Je souhaiterais créer un sous réseau et utiliser mon RPI en tant qu’intermédiaire entre une Livebox Orange et un routeur Archer A8 de chez TP-Link.

Description:
Voici donc comment est fait mon réseau:
Un switch TP-Link TL-SG1005D, sur lequel est relié la Livebox, le RPI et l’Archer.

Livebox Orange (192.168.1.1) <==> Switch TP-Link TL-SG1005D <==> RPI (192.168.1.20)
                                                            <==> Archer A8 (192.168.1.23)

Je voudrais que l’Archer créer un nouveau réseau (192.168.2.0/24)
Le routeur ainsi que le RPI sont en IP statiques. Le routeur à comme Gateway 192.168.1.20 ( = Le RPI ) et comme DNS principal 192.168.1.1 ( = La Livebox )

Sur le RPI, j’ai créer deux routes ( après avoir désactiver le wlan0 ):
sudo ip route add 192.168.1.0/24 via 192.168.1.20
sudo ip route add 192.168.2.0/24 via 192.168.1.23

Le problème:
Actuellement, le routeur émet un nouveau réseau avec les bonnes IP etc… Mais il n’a pas accès à Internet.

Les routes me semble bien faites, mais je n’ai pourtant pas accès à Internet… Que faire ? ( sachant que si je change la Gateway de l’Archer A8 de 192.168.1.20 à 192.168.1.1, cela fonctionne )

Merci,

Innocent1

Bonjour,
J’avoue ne pas bien saisir la finalité du montage :
Si la patte (l’adresse) externe du routeur Archer est sur le même réseau que la Livebox et que le PI, tous les paquets émis sont vus aussi bien par la Livebox et le PI. Le fait de tirer des routes sur 1.0 via 1.20 n’apporte rien (même réseau 192.168.1.x).
Par contre, mettre la passerelle (Gateway) du routeur TP-Link sur l’adresse du PI fait que tous les paquets qui arrivent depuis la patte interne (le sous-reseau 192.168.2.x) du routeur TP-Link vont vers le RPI qui n’en fait fait puisqu’il n’est pas un routeur (pas d’application de routage, du moins pas décrite dans l’exposé), y compris les paquets DNS (d’où pas de résolution de noms d’URL) et les paquets en retour (?) ne sont pas traités.
D’où ca ne marche pas.
Si vous voulez vraiment que le PI intercepte les paquets de/vers le sous reseau 192.168.2.x via le routeur TP-Link, (pour en faire un pare-feu par exemple, ou mettre une DMZ), il faut compléter ‹ ‹ un peu › › le PI et recalculer votre plan d’adressage.
Si vous remettez la passerelle du routeur Archer vers la Livebox, il est logique que celle-ci réponde.
Accessoirement, le switch n’apporte rien au débat.
Globalement, le principe d’un réseau maillé tel que nous les connaissons classiquement, est que les paquets vont partout dans la plage d’adresses et qu’un équipement ne peut pas les arrêter : >> c’est pour moi, je le regarde, je le traite <> c’est pas pour moi, je l’oublie <<.
Tout ce qu’un équipement peut faire, si c’est un routeur, est de changer le paquet de sous-réseau en le copiant pour l’envoyer ailleurs, tout en notant qu’il l’a vu passer et qu’il faudra renvoyer la réponse à qui de droit, si elle arrive.
Il fut un temps où la topologie Token-Ring existait qui fonctionnait autrement mais c’était avant !!!
A suivre.
Cdlt

hello,

si tu veux que le trafic passe par le Rpi entre ses deux interface réseau il faut activer l’ip forwarding comme ça :

activer le forwarding (pour permettre le passage entre eth0 et wlan0):
sudo vi /etc/sysctl.d/routed-ap.conf

# activer forwarding
net.ipv4.ip_forward=1

bien sur si sur ce Rpi il y a un firewall, il faudra aussi autoriser le forwarding.
Pour ufw ça fait :

modifier la règle du forwarding de DROP a ACCEPT:
sudo vi /etc/default/ufw

DEFAULT_FORWARD_POLICY="ACCEPT"

sur le Rpi :
eth0 devra être en 192.168.1.20 et wlan en 192.168.2.2
le router en 192.168.2.1 ( son dhcp commencera donc à 192.168.2.3 )
sur le Rpi les routes deviennent :
sudo ip route add 192.168.1.0/24 via 192.168.1.20
sudo ip route add 192.168.2.0/24 via 192.168.2.1

le dernier truc sur le Rpi c’est d’ajouter une règle nat a ufw :
ajouter a la fin du fichier /etc/ufw/before.rules après le dernier COMMIT déja présent à la fin de ce fichier, la règle pour le NAT :

    sudo vi /etc/ufw/before.rules

    # NAT table rules
    *nat
    :POSTROUTING ACCEPT [0:0]
    # Forward traffic through wlan0
    -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE

    # End each table with the 'COMMIT' line or these rules won't be processed
    COMMIT

Cette règle va permettre au réseau local (192.168.2.0/24) d’accèder a l’interface eth0 donc a internet.

PS: on doit effectivement pouvoir faire autrement comme l’indique Caramel13 mais ça oblique à calculer des masques de sous réseau pas vraiment plus simple lol
(Comment découper un numéro de réseau IP en sous-réseaux)

source :