Podłącz Linux do dwóch sieci jednocześnie

10

Chcę połączyć się z dwiema sieciami jednocześnie za pomocą Ethernetu i wbudowanego Wi-Fi lub z dwiema sieciami Wi-Fi, instalując dodatkowy adapter WiFi.

Moje wymaganie: mam dwa zestawy urządzeń (grupa A i grupa B), które muszą komunikować się ze sobą, ale nie bezpośrednio. W pobliżu nie ma internetu. Urządzenia z grupy A są podłączone do routera WiFi A, a urządzenia z grupy B do routera WiFi B (konieczne jest, aby nie były one podłączone do tego samego routera). Chcę, aby urządzenie Linux łączyło się z routerem A i routerem B i działało jako pośrednik między dwiema grupami. Urządzenie z systemem Linux powinno odbierać wiadomości od grupy A (przez router A), przetwarzać informacje i wysyłać powiadomienia o wyniku do grupy B (przez router B) i odwrotnie.

Pytania:

  1. Jak skonfigurować Linuksa, aby łączył się jednocześnie z dwiema sieciami?
  2. Jak rozpoznać, z której sieci pochodzi wiadomość i odpowiednio ją obsłużyć?
  3. Jak określić sieć docelową dla mojego powiadomienia i wysłać ją do tej sieci?
Sivakumar Natarajan
źródło

Odpowiedzi:

1

Upewnij się, że każda sieć ma własny zasięg sieci, np. wlan0Jest 192.168.0.0/24i wlan1jest 192.168.1.0/24. To odpowiada na pytania (2) i (3): sprawdź adres źródłowy „wiadomości” (w jakim formacie jest wiadomość? Pakiet UDP? Jak czytasz wiadomość?), Aby określić, z której sieci pochodzi wiadomość, a ty kieruj na sieć za pomocą adresu IP, na który wysyłasz. To jest podstawowy routing sieciowy ...

Włącz przekazywanie IP ( echo 1 > /proc/sys/net/ipv4/ip_forward), aby urządzenia w jednej sieci mogły łączyć się bezpośrednio z urządzeniami w drugiej sieci; ustaw system Linux jako (domyślną) bramę na tych urządzeniach.

To, jak skonfigurować Linuksa, aby łączyło się jednocześnie z dwiema sieciami: zależy to od Twojej dystrybucji i używanych narzędzi. Z Debianem bez networkmanageruruchamiania musisz /etc/network/interfacesodpowiednio skonfigurować ; z Red Hat musisz skonfigurować pliki w /etc/sysconfig/networking/.

EDYCJA: Wyłącz serwer DHCP na routerach WiFi, przypisz interfejsowi LAN stały adres IP we właściwej sieci, jak opisano powyżej (jeden w 192.168.0.0/24, np. 192.168.0.2 i włączony w 192.168.1.0/24, np. 192.168 .1.2). Nadaj każdemu routerowi własny identyfikator sieci bezprzewodowej (i oczywiście każde hasło).

Podaj interfejsom w systemie Linux odpowiedni adres, ale następnie zakończ na .1. (Po zamówieniu nowego systemu dla Linuksa, upewnij się, że ma dwa interfejsy, może być konieczne zamówienie dodatkowej karty interfejsu sieciowego (NIC).) Podłącz system Linux do routerów WiFi za pośrednictwem portu LAN; nie używaj portu WAN, tzn. router Wi-Fi służy tylko jako punkt dostępowy, niczego nie kieruje. Kierujemy routing do Linuksa. (Nie powinno być konieczne używanie, iptablesponieważ domyślnie wszystko jest dozwolone i nie ma tutaj potrzeby NAT. Jednak może być użyteczne iptablesna późniejszym etapie, aby ograniczyć dozwolony ruch).

Zainstaluj serwer DHCP w systemie Linux i skonfiguruj go tak, aby rozdawał adresy na obu interfejsach (można znaleźć mnóstwo dokumentacji na ten temat). Skonfiguruj serwer DHCP, aby IP systemu Linux był domyślną bramą.

wurtel
źródło
Dzięki @wurtel. Jestem nowy w sieci i mam praktyczną znajomość Linuksa. Ale jestem gotów spróbować wszystkiego, co jest konieczne, aby to zadziałało. Pracuję nad tym projektem od 6 miesięcy, a podłączenie urządzeń do sieci zgodnie z opisem w moim oryginalnym poście jest moim kolejnym (wymaganym) krokiem. Jeśli możesz dać mi wskazówki, będę z nimi pracować. Zamówiłem komputer z systemem Linux do pracy i zostanie dostarczony do końca miesiąca. Mogę wypróbować twoje sugestie do kroku 1 po tym. Jeśli chodzi o 2 i 3, czy musiałbym skonfigurować serwer? Piszę w Pythonie i Javie, ale mogę się nauczyć wszystkiego innego, jeśli uda się to wykonać.
Sivakumar Natarajan
Nadal muszę ustalić, w jaki sposób urządzenia z grupy A i B będą się komunikować z urządzeniem z systemem Linux. Urządzeniami z grupy A i B są tablety (iOS i Android). Grupa A to studenci, a grupa B to pracownicy. Urządzenia komunikują się ze sobą w ramach grupy, ale łączą się za pośrednictwem urządzenia z systemem Linux w celu interakcji z drugą grupą.
Sivakumar Natarajan
Jeśli komentarz avove to pożądane zachowanie, najlepszym rozwiązaniem byłoby, aby urządzenie z linuksem działało jak most.
eyoung100 15.01.2015
Wymaga również konfiguracji iptables
sandyp
Edytowałem moją odpowiedź. Konfigurowanie interfejsów sieciowych wykracza poza zakres tego pytania (myślę, że można znaleźć wiele informacji na ten temat), ale nadal nie powiedziałeś, jakiego Linuxa używasz. Jeśli jeszcze nie zdecydowałeś, polecam Debiana :-)
wurtel