Подключите Linux к двум сетям одновременно

10

Я хочу подключиться к двум сетям одновременно, используя Ethernet и встроенный WiFi, или к двум сетям WiFi, установив дополнительный адаптер WiFi.

Мое требование: у меня есть два набора устройств (группа A и группа B), которые должны взаимодействовать друг с другом, но не напрямую. На месте нет интернета. Устройства группы A подключены к WiFi-маршрутизатору A, а устройства группы B - к WiFi-маршрутизатору B (необходимо, чтобы они не были подключены к одному и тому же маршрутизатору). Я хочу, чтобы устройство Linux подключалось к маршрутизатору A и маршрутизатору B и выступало в качестве посредника между двумя группами. Устройство Linux должно получать сообщения из группы A (через маршрутизатор A), обрабатывать информацию и отправлять уведомление о результате в группу B (через маршрутизатор B) и наоборот.

Вопросов:

  1. Как настроить Linux для одновременного подключения к двум сетям?
  2. Как определить, из какой сети отправлено сообщение, и соответствующим образом обработать это сообщение?
  3. Как указать целевую сеть для моего уведомления и отправить ее в эту сеть?
Сивакумар Натараджан
источник

Ответы:

1

Убедитесь, что каждая сеть имеет свой собственный диапазон сети, например, wlan0есть 192.168.0.0/24и wlan1есть 192.168.1.0/24. Это отвечает на ваши вопросы (2) и (3): проверьте исходный адрес «сообщения» (в каком формате это сообщение? UDP-пакет? Как вы читаете сообщение?), Чтобы определить, из какой сети пришло сообщение, и вы выберите сеть с помощью IP-адреса, на который вы отправляете. Это базовая сетевая маршрутизация ...

Включить IP forwarding ( echo 1 > /proc/sys/net/ipv4/ip_forward), чтобы устройства в одной сети могли напрямую подключаться к устройствам в другой сети; установите систему Linux в качестве шлюза (по умолчанию) на этих устройствах.

Что касается того, как настроить Linux для одновременного подключения к двум сетям: это зависит от вашего дистрибутива и того, какие инструменты вы используете. С Debian без networkmanagerзапуска вам нужно правильно настроить /etc/network/interfaces; с Red Hat вам нужно настроить файлы в /etc/sysconfig/networking/.

РЕДАКТИРОВАТЬ: отключить DHCP-сервер на маршрутизаторах WiFi, назначить интерфейсу локальной сети фиксированный IP-адрес в правильной сети, как я описал выше (один в 192.168.0.0/24, например, 192.168.0.2 и в 192.168.1.0/24, например, 192.168 .1.2). Присвойте каждому маршрутизатору свой беспроводной идентификатор (и, конечно, каждому свой пароль).

Дайте интерфейсам в Linux соответствующий адрес, но затем заканчивайте на .1. (Поскольку вы заказали новую систему для Linux, убедитесь, что она имеет два интерфейса, вам может потребоваться заказать дополнительную сетевую карту (NIC) для этого.) Подключите систему Linux к маршрутизаторам WiFi через порт LAN; не используйте порт WAN, т. е. маршрутизатор WiFi используется только как точка доступа, он ничего не маршрутизирует. Оставляем роутинг в Linux. (Не должно быть необходимости использовать, так iptablesкак по умолчанию все разрешено, и здесь нет необходимости в NAT. Однако может быть полезно использовать его iptablesна более позднем этапе, чтобы ограничить разрешенный трафик.)

Установите DHCP-сервер в Linux и настройте его так, чтобы он раздавал адреса на обоих интерфейсах (есть много документации о том, как это сделать). Сконфигурируйте сервер DHCP, чтобы в качестве шлюза по умолчанию был задан IP-адрес системы Linux.

wurtel
источник
Спасибо @wurtel. Я новичок в сети и имею практическое знание Linux. Но я готов попробовать все, что нужно для этой работы. Я был в этом проекте в течение 6 месяцев, и мой следующий (обязательный) шаг - подключение к сети устройств, как описано в моем первоначальном посте. Если бы вы могли дать мне указатели, я буду работать с ними. Я заказал ПК с Linux для работы, и он будет доставлен к концу месяца. Я могу попробовать ваши предложения к шагу 1 после этого. Что касается 2 и 3, я должен был бы настроить сервер? Я пишу код на Python & Java, но могу научиться чему-нибудь еще, если он выполнит свою работу.
Сивакумар Натараджан
Я все еще должен выяснить, как устройства в группе A и B будут взаимодействовать с устройством Linux. Устройства в группе A & B - это планшеты (iOS и Android). Группа A - студенты, а группа B - персонал. Устройства взаимодействуют друг с другом в группе, но взаимодействуют через устройство Linux для взаимодействия с другой группой.
Сивакумар Натараджан
Если вы предпочитаете комментарий, то лучше всего сделать так, чтобы устройство Linux работало как мост.
eyoung100
Также требуется конфигурация iptables
sandyp
Отредактировал мой ответ. Я думаю, что настройка сетевых интерфейсов выходит за рамки этого вопроса (много информации можно найти по этому вопросу), также вы еще не сказали, какой Linux вы используете. Если вы еще не решили, я рекомендую Debian :-)
wurtel