Есть ли способ, которым я могу соединить маршрутизаторы 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 и подобных.