Connectez Linux à deux réseaux simultanément

10

Je souhaite me connecter à deux réseaux simultanément à l'aide de l'Ethernet et du WiFi intégré ou à deux réseaux WiFi en installant un adaptateur WiFi supplémentaire.

Mon exigence: j'ai deux ensembles d'appareils (groupe A et groupe B) qui doivent communiquer entre eux mais pas directement. Il n'y a pas d'Internet sur place. Les appareils du groupe A sont connectés au routeur WiFi A et les appareils du groupe B au routeur WiFi B (il est nécessaire qu'ils ne soient pas connectés au même routeur). Je veux que le périphérique Linux se connecte au routeur A et au routeur B et fasse office d'intermédiaire entre les deux groupes. Le périphérique Linux doit recevoir des messages du groupe A (via le routeur A), traiter les informations et envoyer une notification du résultat au groupe B (via le routeur B) et vice versa.

Des questions:

  1. Comment configurer Linux pour se connecter à deux réseaux simultanément?
  2. Comment identifier de quel réseau provient un message et gérer ce message en conséquence?
  3. Comment spécifier le réseau cible pour ma notification et l'envoyer à ce réseau?
Sivakumar Natarajan
la source

Réponses:

1

Assurez-vous que chaque réseau a sa propre plage de réseau, par exemple wlan0est 192.168.0.0/24et wlan1est 192.168.1.0/24. Cela répond à vos questions (2) et (3): vérifiez l'adresse source du "message" (de quel format est le message? Paquet UDP? Comment lisez-vous le message?) Pour identifier de quel réseau provient le message, et vous ciblez un réseau au moyen de l'adresse IP à laquelle vous envoyez. Il s'agit du routage réseau de base ...

Activez le transfert IP ( echo 1 > /proc/sys/net/ipv4/ip_forward) pour permettre aux périphériques d'un réseau de se connecter directement aux périphériques de l'autre réseau; définissez le système Linux comme passerelle (par défaut) sur ces périphériques.

Quant à savoir comment configurer Linux pour se connecter à deux réseaux simultanément: cela dépend de votre distribution et des outils que vous utilisez. Avec Debian sans networkmanagerexécuter, vous devez configurer /etc/network/interfacescorrectement; avec Red Hat, vous devez configurer les fichiers sous /etc/sysconfig/networking/.

EDIT: Désactivez le serveur DHCP sur les routeurs WiFi, attribuez à l'interface LAN une IP fixe dans le bon réseau comme je l'ai décrit ci-dessus (un en 192.168.0.0/24, par exemple 192.168.0.2 et en 192.168.1.0/24, par exemple 192.168 .1.2). Donnez à chaque routeur son propre identifiant sans fil (et bien sûr chacun son propre mot de passe).

Donnez aux interfaces dans Linux une adresse correspondante mais se terminant par .1. (Comme vous avez commandé un nouveau système pour Linux, assurez-vous qu'il a deux interfaces, vous devrez peut-être commander une carte d'interface réseau supplémentaire (NIC) pour accomplir cela.) Connectez le système Linux aux routeurs WiFi via un port LAN; n'utilisez pas le port WAN, c'est-à-dire que le routeur WiFi n'est utilisé que comme point d'accès, il n'achemine rien. Nous laissons le routage à Linux. (Il ne devrait pas être nécessaire d'utiliser iptablescar par défaut tout est autorisé, et il n'y a pas besoin de NAT ici. Il peut cependant être utile d'utiliser iptablesà un stade ultérieur pour limiter le trafic autorisé.)

Installez un serveur DHCP sous Linux et configurez-le pour distribuer des adresses sur les deux interfaces (il y a beaucoup de documentation à trouver sur la façon de le faire). Configurez le serveur DHCP pour donner l'IP du système Linux comme passerelle par défaut.

gémir
la source
Merci @wurtel. Je suis nouveau dans le réseautage et j'ai une connaissance pratique de Linux. Mais je suis prêt à essayer tout ce qui est nécessaire pour que cela fonctionne. Je travaille sur ce projet depuis 6 mois et la mise en réseau des appareils comme décrit dans mon article d'origine est ma prochaine étape (obligatoire). Si vous pouviez me donner des conseils, je travaillerai avec eux. J'ai commandé un PC Linux pour travailler avec et il sera livré d'ici la fin du mois. Je peux essayer vos suggestions à l'étape 1 après cela. Concernant 2 et 3, devrais-je configurer un serveur? Je code en Python et Java, mais je peux apprendre autre chose, si cela fait le travail.
Sivakumar Natarajan
Je dois encore comprendre comment les périphériques du groupe A & B communiqueront avec le périphérique Linux. Les appareils du groupe A & B sont des tablettes (iOS et Android). Le groupe A est composé d'étudiants et le groupe B est composé d'employés. Les périphériques communiquent entre eux au sein du groupe mais s'interfacent via le périphérique Linux pour interagir avec l'autre groupe.
Sivakumar Natarajan
Si le commentaire avove est le comportement que vous souhaitez, votre meilleur pari serait de faire en sorte que le périphérique linux agisse comme un pont.
eyoung100
Nécessite également une configuration iptables
sandyp
Modifié ma réponse. La configuration des interfaces réseau va au-delà de la portée de cette question, je pense (beaucoup d'informations à trouver sur le sujet), vous n'avez pas encore dit quel Linux vous utilisez. Si vous n'avez pas encore décidé, je recommande Debian :-)
wurtel