Маршрутизация между двумя изолированными системами без VPN

странный сценарий для вас:

у меня есть два малиновых Pi, работающих под управлением Raspbian 8 (jessie), соединенных друг с другом перекрестным кабелем между их портами Ethernet. Порт Ethernet на блоке a статически настроен как 10.5.10.1. Порт Ethernet на блоке B статически настроен как 10.5.10.2. Маска подсети для интерфейса Ethernet 255.255.255.0 - / 24.

оба устройства работают демон точки доступа хоста (hostapd) и DHCP-сервер на их интерфейс Wi-Fi (wlan0). Каждый из них имеет уникальное имя SSID: блок а "raspiA", а блок Б "raspiB". Блок а работает на канале 1. Блок Б работает на канале 11.

адаптер wlan0 на блоке a статически назначен как 10.10.1.1. DHCP-сервер на блоке A обслуживает адреса в диапазоне 10.10.1.50-10.10.1.250. Адаптер wlan0 на блоке B статически назначен как 10.10.2.1. DHCP-сервер на аппарате B семи адресов в диапазоне 10.10.2.50 - 10.10.2.250. Маски подсети для адаптеров wlan0 как /24.

системы полностью изолированы - нет подключения к интернету.

обе системы выполняют процесс, который выполняет сервер HTTP на порту 80, доступном или от интерфейса (eth0 или wlan0).

Я хочу, чтобы клиент, подключенный к точке доступа в системе A, мог получить доступ к процессу в системе B 10.10.1.2.

Я хочу, чтобы клиент, подключенный к точке доступа в системе B, мог получить доступ к процессу в системе a 10.10.2.2.

[Client 1]         [Unit A              ]        [Unit B ]
10.10.1.50 —wifi—> 10.10.1.2 —> 10.5.10.1 —eth—> 10.5.10.2

и...

[Unit A ]        [Unit B              ]         [Client 2]
10.5.10.1 <—eth— 10.5.10.2 <— 10.10.2.2 <—wifi— 10.10.2.50

что самый лучший путь сделать это случиться?

3
задан Steven Sokol
18.11.2022 0:45 Количество просмотров материала 2573
Распечатать страницу

2 ответа

все, что вам нужно сделать, это включить переадресацию ip на A и B ( как корень):

Эхо 1 > /труды/системы/Нетто/с IPv4/ip_forward

1
отвечен psusi 2022-11-19 08:33

я, наконец, нашел конфигурацию, которая работает. Это позволяет клиенту присоединиться к любой сети и иметь доступ к обеим системам. Он также не требует маршрутизации, что важно, поскольку любая схема, которая назначает маршрутизатор (шлюз по умолчанию), заставляет мобильных клиентов (iOS, Android) отдавать приоритет своему интерфейсу Wifi над своим интерфейсом 4G, отключая доступ в интернет.

я упростил схему IP, переместив все в тот же сегмент / 24 (класс c). Я установил мосты между интерфейс eth0 и интерфейс wlan0 в обеих системах. Мост по системе A был назначен .1 и мост на системе B был назначен .2. Все услуги, предоставляемые системой, привязаны к / доступны по адресу моста.

я настроил демоны DHCP в каждой системе для обслуживания другого диапазона от /24 (т. е. Система A была .50 - .149 и система В была 150-249). Поскольку системы соединены вместе (т. е. все на том же сегменте), любой запрос DHCP превращается в гонку, с оба демона отвечают. Поскольку оба предложения будут в одном /24, не имеет значения, какой из них "выиграет".

это создает определенную форму избыточности. Если какая-либо система умирает, клиенты могут повторно связаться с точкой доступа на другой системе. Если приложение в любой из систем аварийно завершает работу, клиенты могут подключиться к экземпляру в другой системе. Эти две системы также могут отслеживать друг друга, зеркальную конфигурацию и перекрестную проверку данных.

одно ограничение этого подход заключается в том, что клиенты должны знать, что приложения доступны на .1 а .2. Будущая итерация может включать некоторую поддержку MDSN / Avahi, которая позволяет клиентам автоматически обнаруживать серверы.

действия:

  1. установить bridge-utils,hostapd и isc-dhcp-server
  2. Edit /etc/sysctl.conf:
    1. добавить или раскомментировать net.ipv4.ip_forward = 1
  3. In /etc/network/interfaces:
    1. пометить eth0 и wlan0 как руководство
    2. добавьте мост br0 с требуемой статической конфигурацией сети
    3. добавить только интерфейс eth0 (wlan0 будет добавлен hostapd)
  4. Edit /etc/dhcpcd.conf:
    1. исключить eth0 и wlan0 из DHCP, добавив denyinterfaces eth0 wlan0 в самом низу.
  5. Edit /etc/default/isc-dhcp-server:
    1. установить INTERFACES значение br0
  6. Edit /etc/dhcp/dhcpd.conf:
    1. создать новая запись подсети
    2. добавить некоторое количество доступных клиенту IP-адресов в диапазон
    3. не добавляйте опцию "маршрутизаторы"
  7. Edit /etc/hostapd/hostapd.conf:
    1. добавить bridge=br0 в самом низу

повторите этот процесс для другой системы, изменив IP-адрес, назначенный мосту (шаг 2.2) и диапазон адресов, обслуживаемых DHCP-сервером (шаг 5.2). Подключите порты Ethernet с помощью кабеля. Перезагрузить. Вот - резервная, плоская сеть.

1
отвечен Steven Sokol 2022-11-19 10:50

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх