Настройка должна происходить в основном на маршрутизаторе A, потому что я думаю, что ваши устройства, подключенные к B, должны видеть устройства, подключенные к A (я имею в виду, доступ с использованием их IP-адресов).
Вот картинка для моего сценария. Он должен быть похож на ваш, за исключением того, что у меня есть несколько избыточных ссылок в моих сетях. ПК, ноутбук и мобильные телефоны могут обращаться друг к другу по IP-адресам.
В основном вам нужно
Если ваши устройства, подключенные к маршрутизатору A, не подключены к каким-либо другим сетям, это означает, что маршрутизатор A является их шлюзом по умолчанию. Сообщите маршрутизатору A, что весь трафик до 192.168.3.0/24 должен использовать "внешний" IP-адрес вашего маршрутизатора B (должен выглядеть как 192.168.2.x) в качестве шлюза. Я полагаю, что это выполнимо на большинстве прошивок маршрутизатора (в качестве статических маршрутов или правил пересылки). Ниже приведены настройки маршрутизатора OpenWrt для этого:
Однако, когда A не является их шлюзом по умолчанию, клиент не может знать, что трафик до 192.168.3.0/24 должен идти к A - в этом случае вам понадобится альтернативное решение.
В качестве альтернативы вы также можете позволить DHCP-серверу маршрутизатора A сообщать клиентам о настройке 192.168.2.x (IP-адрес маршрутизатора B в подсети A) в качестве шлюза к 192.168.3.0/24. Вы можете обратиться к моему предыдущему вопросу по этой ссылке: Как настроить маршрутизатор интрасети для информирования своих хостов о маршрутах в другие подсети? , Однако это не может быть выполнимо на стандартных прошивках.