Пожалуйста, обратитесь к рисунку выше. Мне нужен компьютер Y (мой персональный компьютер), чтобы я мог подключиться к компьютеру X (серверу Raspberry Pi). У меня есть полный контроль над маршрутизаторами A и B, и оба маршрутизатора имеют возможность Wi-Fi и мостов.

Единственным ограничением является то, что я не могу иметь другие машины в локальной сети A, имеющие доступ к Интернету через маршрутизатор B и наоборот ... поэтому я не думаю, что сетевой мост будет работать. Я также не хочу соединять X и Y через Интернет, потому что это повлияет на производительность и стоимость полосы пропускания.

Итак, есть ли способ, которым я могу соединить маршрутизаторы A и B, чтобы X мог общаться с Y, не влияя на другие узлы в обеих сетях?

2 ответа2

0

Вы должны понять, как работает маршрутизация (на уровнях 2 и 3)

Прочитайте:https://www.thegeekstuff.com/2012/04/route-examples https://www.cloudibee.com/static-route-linux/

Адресное пространство на стороне LAN для сетей X и Y должно быть разным.

Предполагается следующее: Устройство X - 192.168.1.111 (статический IP). Сеть для X - 192.168.1.0/24. Маршрутизатор A - 192.168.1.1. Устройство Y - 192.168.2.222 (статический IP). Сеть Y - 192.168.2.0/24. Маршрутизатор B 192.168.2.1

Вам необходимо: соединить маршрутизаторы A и B (подключить кабель на стороне локальной сети каждого устройства). На маршрутизаторе A добавьте статический маршрут для станции Y через маршрутизатор B

ip route add 192.168.2.222/32 через 192.168.2.1

На маршрутизаторе B добавьте статический маршрут для станции X через маршрутизатор A

ip route add 192.168.1.111/32 через 192.168.1.1

0

Есть ли способ, которым я могу соединить маршрутизаторы A и B, чтобы X мог общаться с Y, не влияя на другие узлы в обеих сетях?

Если вы действительно хотите, чтобы Y общался с X с вашим требованием, чтобы Y не разрешал доступ в Интернет хостам в локальной сети Y, вам вообще не нужно подключать маршрутизатор.

  • Установите второй сетевой адаптер на Y.

  • Подключите второй сетевой адаптер Y к локальной сети маршрутизатора A - это может быть, например, один из портов локальной сети на маршрутизаторе A.

Вот и все.

  • Y сможет общаться с X и даже получать IP с DHCP-сервера в локальной сети X.

  • Y не будет перенаправлять трафик из локальной сети X в Интернет, если вы не включите общий доступ к подключению к Интернету (в Windows) или IP-пересылку (в Linux) или аналогичный эквивалент на Mac (не уверен, что это такое).

  • Вы можете посмотреть на установку конфигурации брандмауэра на Y, которая обеспечивает это.

Есть ли способ, которым я могу соединить маршрутизаторы A и B, чтобы X мог общаться с Y, не влияя на другие узлы в обеих сетях?

Да, но вашему маршрутизатору нужно больше, чем просто интерфейс LAN и WAN. Вам нужен третий интерфейс на обоих маршрутизаторах и статическая маршрутизация, настроенная между ними, и конфигурация брандмауэра / пересылки, которая поддерживает то, что вы хотите с доступом в Интернет.

Предполагая, что вы работаете с обычным домашним оборудованием типа маршрутизатора:

На большинстве 4-портовых домашних маршрутизаторов 4 порта LAN представляют собой коммутатор - концептуально все это всего лишь один интерфейс LAN.

Если вы можете установить OpenWRT/LEDE на эти маршрутизаторы, или у маршрутизатора есть прошивка на базе OpenWRT/LEDE (например, Asus), а чипсет в маршрутизаторах представляет собой набор микросхем Broadcom, вы можете превратить один порт из интерфейса локальной сети в свой собственный независимый "третий" интерфейс. 5 портов в таком оборудовании технически являются коммутатором, и утилиту можно использовать для "отключения VLAN" внутри отдельных портов, чтобы они выглядели для встроенного Linux как уникальные отдельные интерфейсы.

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

DD-WRT и AsusWRT этого не делают - вы должны войти в оболочку встроенной ОС Linux в маршрутизаторе и выполнить команды - robocfg - это команда со странным именем, которая конфигурирует оборудование. Эксперименты необходимы, потому что номера портов различаются в зависимости от платформы. Кроме того, Broadcom не предоставляет полную информацию об оборудовании разработчикам ядра Linux, поэтому robocfg может работать не на всех версиях оборудования Broadcom и подобных.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .