У меня дома живёт целая сетевая экосистема — как в зоопарке, только вместо тигров и панд тут роутеры, модемы и IoT-гаджеты:
USB-модем Fibocom L860 подключён к маршрутизатору Cudy TR-3000 (прошивка OpenWRT 24.10.2, локальная сеть — 192.168.254.x), а Cudy, в свою очередь, соединён по кабелю с Keenetic Giga 1011 (прошивка 4.3.4, сеть — 192.168.0.x). Кабель вставлен в LAN-порт Cudy и WAN-порт Keenetic — как и положено в схеме «роутер за роутером».
Каждый из этих роутеров — не просто ретранслятор Wi-Fi, а полноценный маршрутизатор со своим DHCP-сервером, своими клиентами, серверами, IoT-устройствами и кучей сервисов. То есть, по сути, у меня два независимых «царства» — и каждое правит своей сетью.
Хочется, чтобы они хотя бы кивнули друг другу. Чтобы сервер на Cudy мог заглянуть в гости к камере на Keenetic или синхронизироваться с NAS’ом.
На первый взгляд — всё просто: соединил кабелем два роутера, и вуаля! А вот и нет. По умолчанию каждый роутер считает свою сеть священной и неприкосновенной. Он не просто не знает о соседе — он даже не догадывается, что тот существует. И трафик между 192.168.254.x и 192.168.0.x просто… испаряется. Как будто его и не было. Просто исчез, как бутерброд из холодильника в студенческой общаге.
По умолчанию каждый роутер считает свою сеть священной территорией. Он не просто не знает о соседе — он даже не подозревает, что тот существует.
И трафик между 192.168.254.x и 192.168.0.x благополучно теряется в цифровой пустоте.
На форумах, конечно, советуют: «Сделай один роутер мостом!»
Что ж, можно и ампутировать руку, если болит нога. Но зачем? Мне важно, чтобы оба роутера оставались автономными — чтобы Keenetic управлял своей сетью, а Cudy — своей.
Я хочу дружбы, а не поглощения.
После долгих поисков и кучи чашек кофе я нашёл простое и элегантное решение. Оно:
- не ломает текущую работу сетей
- не трогает DHCP-серверы
- не требует перевода роутеров в режим моста
Итак, погнали делать хорошо!
🌐 Шаг 1. Cudy узнаёт, где живёт Keenetic
Чтобы Cudy мог отправлять трафик в сеть Keenetic, ему нужно знать: «Куда стучаться?» Для этого Keenetic должен всегда получать один и тот же IP-адрес в сети Cudy — например, 192.168.254.2.
Почему? Потому что мы будем использовать этот адрес как шлюз в статическом маршруте. Если IP изменится — маршрут сломается, и пакеты снова полетят в никуда. А нам это не надо. Мы же не телепортируем данные в параллельную вселенную.
Лучший способ — закрепить IP по MAC-адресу.
MAC-адрес — это как цифровой отпечаток пальца роутера. Уникальный, надёжный и не меняется от перезагрузки. Проще всего найти его на наклейке снизу Keenetic — ищем строку «MAC» или «WAN MAC». Выглядит он примерно так: AA:BB:CC:DD:EE:FF. 💡
Теперь заходим по SSH на Cudy и открываем конфиг DHCP:
nano /etc/config/dhcp
В самом конце этого файла вставляем такую секцию (Внимание! Обязательно подставляем реальный mac-адрес):
config host
option name 'Keenetic'
option mac 'AA:BB:CC:DD:EE:FF'
option ip '192.168.254.2'
Что это даёт?
Теперь, как только Keenetic подключится, Cudy узнает его по MAC и выдаст ровно тот IP, который мы хотим.
Как старый друг, который всегда ждёт с чаем и правильным стулом.
Сохраняем файл (Мы ведь помним как это делали в прошлых статьях? Нет? Напомню: «Ctrl+O → Enter → Ctrl+X«) и перезапускаем DHCP-сервер, чтобы изменения вступили в силу:
/etc/init.d/dnsmasq restart
Теперь — самое интересное. Открываем сетевой конфиг Cudy:
nano /etc/config/network
Прокручиваем в самый конец и добавляем новый маршрут:
config route 'to_keenetic_lan'
option interface 'lan'
option target '192.168.0.0'
option netmask '255.255.255.0'
option gateway '192.168.254.2'
Мы словно объясняем Cudy:
«Если кто-то из твоей сети (192.168.254.x) захочет попасть в 192.168.0.x — не паникуй. Не выбрасывай пакеты в корзину. Отдай их по адресу 192.168.254.2 — это Keenetic, он разберётся«.
Это и есть статический маршрут — как дорожный указатель для пакетов.
⚠️ Важно: форматирование в этом файле — святое. OpenWRT очень чувствителен к отступам.
Смотри, как оформлены другие строки. Обычно — 8 пробелов или табуляция. Если ошибиться — роутер проигнорирует настройку, и можно будет часами гадать, почему «ничего не работает». (Да, я прошёл через это. Не стоит повторять моих ошибок.)
Сохраняем изменения и перезапускаем сеть:
/etc/init.d/network restart
Маршрут активирован. Cudy теперь знает, куда вести трафик.
Осталось убедиться, что Keenetic не хлопнет дверью.
🛠️ Шаг 2. Убеждаем Keenetic быть гостеприимным
Теперь перейдём к Keenetic. Он-то как раз и не пускает «чужаков» из сети Cudy. По умолчанию он считает: «Если ты не из моей сети — ты подозрительный». И просто молча отбрасывает пакеты. Как будто их и не было.
Чтобы это исправить, нам нужно заглянуть внутрь — в командную строку или, как её ещё называют, CLI (Command Line Interface).
Для этого воспользуемся Telnet — простым и старым, как мир, способом подключения к сетевым устройствам. Представьте, что Telnet — это обычный разговор по телефону без шифрования: всё, что вы говорите, могут подслушать, если стоят рядом. Именно поэтому старайтесь использовать его только в доверенной сети.
А чем Telnet отличается от SSH? SSH — это тот же разговор, но уже в защищённом тоннеле, как шифрованное сообщение. Безопаснее, но на Keenetic часто требует дополнительной настройки. Telnet же включается «из коробки» — как старый добрый телефон с проводом. Не самый модный, но работает.
Но у Keenetic SSH по умолчанию может быть выключен, а Telnet — уже ждёт, как старый друг.
- Открываем терминал:
cmd, PowerShell, Terminal — не важно. - Вводим:
telnet 192.168.0.1(или ваш IP Keenetic). - Логин и пароль — как от веб-интерфейса.
Добро пожаловать в внутренний мир роутеров — где время течёт по-другому, каждая команда — как шаг в древнем ритуале, где байты носятся как курьеры в час пик, а каждый пакет мечтает стать частью чего-то большего. Здесь нет иконок, только слова. Но зато здесь — настоящая власть.
Теперь просто копируем и вставляем в терминал следующие строки:
access-list _WEBADMIN_ISP
permit ip 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0
exit
system configuration save
exit
Разберём, что тут происходит:
access-list _WEBADMIN_ISP— открываем список правил, который по умолчанию блокирует «чужие» подключения.permit ip 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0— говорим: «Разрешить всё. Всем. Отовсюду». Да, это как открыть дверь и крикнуть: «Заходите, у нас вечеринка!» Но в нашем случае это безопасно — мы же в локальной сети, и все устройства доверенные.exit— выходим из режима редактирования.system configuration save— очень важно. Сохраняем изменения навсегда. Без этого — всё пропадёт при перезагрузке.exit— выходим из командной строки.
Теперь Keenetic больше не игнорирует трафик. Он его принимает, обрабатывает и, при необходимости, отвечает. Дверь открыта. Дипломатия победила.
🎉 Что у нас получилось?
- Устройства в сети Cudy (192.168.254.x) могут обращаться к устройствам в сети Keenetic (192.168.0.x).
- Keenetic отвечает им — без лишних подозрений. Он больше не игнорирует «чужие» пакеты — он их принимает и отвечает.
- Оба роутера продолжают работать автономно, с собственными DHCP, настройками и зоной ответственности.
Теперь мои роутеры не просто соседи — они компаньоны по сети. И если бы они могли разговаривать, я бы слышал что-то вроде:
- «Привет, Cudy! Как дела на той стороне кабеля?«
- «Отлично, Keenetic! NAS у тебя на месте? У меня тут бэкап ждёт…«

И да пребудет с нами стабильное соединение! 🌐✨

Увлечён умным домом вообще и системами домашней автоматизации в частности.
Один из тех людей для которых автоматизация не роскошь, а важная часть жизни.
Отблагодарить можно по ссылке: https://pay.cloudtips.ru/p/adfeb067
