J'ai besoin de connecter quatre ordinateurs en série. La topologie est donnée ci-dessous.
c1<--->c2<--->c3<--->c4
J'ai plusieurs cartes Ethernet dans les ordinateurs c2 et c3. Je n'ai besoin d'aucune connectivité externe à partir d'Internet, seuls ces quatre ordinateurs devraient pouvoir communiquer entre eux.
Remarque: tous les ordinateurs exécutent une version Ubuntu supérieure ou égale à 16.04.
Merci d'avance.
N'oubliez pas que vos cartes réseau prennent en charge les câbles droit et croisé. Sinon, vous aurez besoin de câbles Ethernet croisés.
Ensuite, une fois tous les appareils connectés:
Activer le transfert
Activez d'abord le transfert IPv4 sur vos appareils.
Pour l'activer à la volée, vous pouvez utiliser:
echo 1 > /proc/sys/net/ipv4/ip_forward
Pour l'activer de façon permanente, modifiez le fichier /etc/sysctl.confand
décommentez la ligne avec net.ipv4.ip_forward = 1. Rechargez ensuite la conf: sysctl -p /etc/sysctl.conf
.
Définir IP et routes
Ensuite, configurez l'IP et les itinéraires de vos appareils.
Pour ce faire, vous pouvez modifier directement le fichier/etc/network/interfaces.
Exemple :
auto eth0
iface eth0 inet static
address 192.168.1.1 # c1, configure the same subnet in the c2 interface that is connected to the c1 device
netmask 255.255.255.0
up route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1
Si tous vos appareils sont dans le même sous-réseau, vous n'avez pas besoin de décrire les itinéraires.
Débogage/Confirmation
Si cela ne fonctionne pas, vérifiez le pare-feu et modifiez-le si nécessaire:
Sudo iptables -L
J'espère que cette réponse vous aidera.
Modifier
Puisque C2 est directement connecté aux deux sous-réseaux, il vous suffit de définir un itinéraire vers le troisième réseau.
Vous pouvez spécifier plusieurs interfaces dans /etc/network/intefaces
auto [interface1]
iface [interface1] inet static
address 192.168.1.2 # The same subnet that is configure for C1
netmask 255.255.255.0
# You don't need specific route for this interface because there is no another network behind C1
auto [interface2]
iface [interface2] inet static
address 192.168.2.1 # C2<--->C3 subnet
netmask 255.255.255.0
up route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.2.2 # Where 192.168.3.0 is the C3<-->C4 subnet and 192.168.2.2 the C3 address of the interface in the subnet C2<-->C3
Je n'ai pas testé cette configuration mais cela devrait fonctionner. Une fois la configuration terminée, vous pouvez vérifier les itinéraires avec ip route
commande.
C3 et C2 ont un itinéraire direct vers les deux réseaux. Il suffit donc de définir un itinéraire vers le troisième réseau (C3 <--> C4 pour C2 et C1 <--> C2 pour C3). Une fois que C2 et C3 ont accès à tous les réseaux, il vous suffit de les définir comme passerelle par défaut pour C1 et C4.