Из OpenWRT и обратно

Здравствуйте, уважаемые коллеги!
Приобрёл я себе роутер Cudy TR-3000, установил на него OpenWRT 24.10.2 и вроде всё работает, но столкнулся с одной проблемой.

Моя конфигурация сети такая:
Интернет (через USB-модем Fibocom) <=> Cudy TR-3000 (192.168.254.) <=> роутер Keenetic (192.168.0.) <=> вся локалка (включая Proxmox и все устройства)

Для начала хочу настроить “прозрачность” сети между Keenetic и Cudy. И если из сети Keenetic я спокойно могу зайти на Cudy, то вот из сети Cudy ни одно устройство сети Keenetic не видно.

И вот на этом я месте я забуксовал…

добавил маршрут:
ip route 192.168.254.0 255.255.255.0 192.168.254.1 ISP
не помогло.
Пинг из сети Cudy до (к примеру) Proxmox не проходит

Нужно больше информации. Но постараюсь объяснить логику, это поможет в осознании маршрутизации.
РОутер1 раздает по DHCP своим клиентам подсеть 192.168.0.0\24
Роутер2 раздает по DHCP своим клиентам подсеть 192.168.100.0\24
Между двумя роутерами настроен например VPN на отдельных адресах например 10.10.10.0.0\24
РОутер1 имеет 10.10.10.0.1
РОутер2 имеет 10.10.10.0.2

РОутер1
Что бы клиенты из 192.168.0.0\24 видели 192.168.100.0\24
Мы говорим Роутер1 что для сети 192.168.100.0\24 шлюзом будет 10.10.10.0.2

РОутер2
Что бы клиенты из 192.168.100.0\24 видели 192.168.0.0\24
Мы говорим Роутер2 что для сети 192.168.0.0\24 шлюзом будет 10.10.10.0.1

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

1 лайк

Не знаю, зачем такая сложная сеть, но ладно.
Подозреваю, что в кинетике сеть Cudy указана как WAN и, соответственно, используется SNAT, он же маскарадинг.

Когда компьютер в локалке 192.168.0. обращается к 192.168.254.1 (или какой там у Cudy), то кинетик у себя заменяет локальный IP своим в сети 192.168.254. и отправляет пакет получателю, когда он получает ответ, то меняет адреса и пересылает его в локалку. В такой схеме роутер с 1 внешним IP адресом может обслуживать множество узлов с серыми IP адресами в локалке

Когда со стороны Cady идет обращение к компьютеру в локальной сети кинетика то

  1. он не знает о существовании таких маршрутов и общатается к своему роутеру за ними, а именно к модему fibocom
  2. Даже если прописать в качестве маршрутизатора сети 192.168.100. IP кинетика в сети 192.168.254., то все равно не заработает т.к. по умолчанию маршрутизация отключена, а пакет не находится в NAT таблице из предыдущего параграфа

Что можно сделать? ( с учетом того, что мой последний гинетик был лет 15 назад)

  1. Отключить маскарадинг на кинетике
  2. Включить маршрутизацию на кинетике между сетями
  3. В кади прописать в статический маршрут 192.168.100.0\24 gw 192.168.0.10 (внешний IP кинетика)
  4. Можно еще зафиксировать статический IP на кинетике

Повторюсь, не знаю как это сделать именно на кинетике т.к. с актуальными версиями не знаком

Альтернативный вариант 1
Выкинуть либо кади либо кинетик, я за выкидывание кинетика

Альтернативный вариант 2
Если кинетик выкидывать не хочется, например, там есть еще wifi и всякие сервисы, то можно

  1. отключить в кинетике DHCP сервер, настроить статический iP и шлюз
  2. воткнуть кабель от кади в LAN порт кинетика

В этом случае интернет будет работать чисто через кади, а кинетик будет в качестве свитча, точки доступа, качалки ну и прочего

Неправильный вариант
Можно еще предложить вариант с включением маршрутизации на кинетике

  1. Берем пунты 2-4 из первого варианта
  2. На кинетике в правилах маскарадинга сделать проверку на то, что он не должен работать на сеть 192.168.100.0 ну и дополнительно настроить правила фаервола и прочее т.к. вариант сложный

Почему неправильный вариант? он сложный, его можно реализовать, но надо учитывать безопасность и знать сетевые технологии.

Если 2 пунт не делать, то при обращении к 192.168.100.10 от кади

  1. пакет без преобразования на l3 попадет в локалки кинетика
  2. хост ответит на него с указанием обратного адреса 192.168.254.1
  3. кинетик через маскарадинг меняет l3 адреса, в качестве отправителя становится 192.168.264.10 (внешний IP кинетика)
  4. кади принимает ответный пакет, но он оправил его на адрес 192.168.100.10, а получил а сдреса 192.168.254.10 и отбросит
1 лайк

В общем я свою проблему решил. Если вдруг кого-то интересует, то вот краткое решение проблемы:

  1. зайти через cli на кинетик
  2. вводим такие команды:
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
  1. в Cudy задаём статику для кинетика
  2. настраиваем маршруты в /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'

Написал об этом небольшую заметку - SMKot

2 лайка