web-dev-qa-db-fra.com

Comment connecter quatre ordinateurs ensemble sans utiliser d'appareil externe?

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.

1
sourabh jain

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.

enter image description here

1
Eraseth