Перейти к содержанию

Вопрос

Опубликовано (изменено)

Здравствуйте!

Подскажите, пожалуйста, возможно ли как-то объединить несколько локальных подсетей с одинаковыми адресами, если нет возможности поменять у них адреса? Например, есть две (или более) подсети, обе имеют адреса 192.168.0.0 и 192.168.0.0. Одна из сетей может быть доступна через VPN или локально, не суть важно. Через статические маршруты задать доступ напрямую, естественно, не получится, роутер не будет знать, куда отправлять пакеты, остаётся только какой-то аналог NAT.

Я поискал в сети подобные случаи, нашёл только ссылки на микротики, которые создают для подсети виртуальный фальшивый адрес, отличающийся от реальной подсети и все пакеты, поступающие в эту подсеть, перетранслируют в реальную сеть. Называется NetMap или ещё DST-NAT, фактически нестандартная настройка NAT и таблицы маршрутизации. В случае выше, каждый роутер добавляет в свою таблицу маршрутизации фальшивую подсеть, например, первый - 192.168.1.0 и второй - 192.168.2.0. Пакеты, отправленные первым роутером в подсеть 192.168.2.0, транслируются им же или роутером-получателем в адреса реальной подсети 192.168.0.0 и поступают второму роутеру, где маршрутизируются до адресата. Аналогично обрабатываются пакеты от второго роутера первому.

Получается, что два роутера, связанные между собой, посылают пакеты на адреса фальшивых подсетей, а при получении транслируют их в адреса своей реальной подсети. Возможно и наличие третьего роутера между двумя первыми, который сам будет транслировать адреса в обе стороны, если два первых роутера ничего не должны знать друг о друге, например провайдеры или организации вряд ли будут менять свои подсети по просьбе клиента. Есть у нас какой-то аналог и как можно это настроить? Если нет, возможно его как-то реализовать в новых прошивках средствами Keenetic или хотя бы OPKG? Спасибо.

Изменено пользователем Master2009
Исправил и дополнил текст.

Рекомендуемые сообщения

  • 0
Опубликовано

Искал решение, пока не нашёл. Неужели вообще нет никаких возможностей объединить две подсети с одинаковыми адресами через два Keenetic? Может через OPKG с Debian есть хоть какая-то возможность или там нет доступа к таблице маршрутизации, особенно в режиме ускорителя? Или может поделить один из Keenetic-ов на сегменты сети и настроить таблицу маршрутизации между ними? Подскажите хотя бы направление, куда копать, если есть? 

В наличии Keenetic Viva и Hopper. Есть две одинаковых подсети, одна подключена к Keenetic1 локально, нижестоящий роутер, поменять адрес возможности пока нет, вторая к Keenetic2 как вышестоящий роутер через WAN и интернет, Keenetic-и связаны между собой через L2TP/IPSEC, Keenetic1 с белым IP, Keenetic2 подключается к нему через интернет-сеть, файрволл и маршруты настроены, пакеты в обе стороны ходят. Можно ли как-то сделать связь через подмену адреса подсети на виртуальный адрес? Спасибо.

  • 0
Опубликовано
В 09.10.2023 в 11:04, Master2009 сказал:

нижестоящий роутер, поменять адрес возможности пока нет

Вы требуете крайне странного. Что мешает сменить пул адресов в доступном сегменте? И да. Предыдущий оратор указал вам верный вектор!

  • 0
Опубликовано

А как понять куда пакет слать в фальшивую сеть или в свою родную? Если они допустим 192.168.0.0/24 по 24 маске ???? ... как вообще клиент должен понят в шлюз отправлять пакеты или в пределах маски сети???? 🤪.... фигня какая то....

  • 0
Опубликовано

@Mamay правильно говорит!!! ... не надо придумывать "квадратные колёса" надо сделать в раз и навсегда правильно и без "костылей" 

Можно индивидуально на каждом компе одной из сети тогда vpn...до другой сети, но это вообще колхозинг...

  • 0
Опубликовано (изменено)
В 10.10.2023 в 13:43, MDP сказал:

А как понять куда пакет слать в фальшивую сеть или в свою родную? Если они допустим 192.168.0.0/24 по 24 маске ???? ... как вообще клиент должен понят в шлюз отправлять пакеты или в пределах маски сети???? 🤪.... фигня какая то....

Всем нам периодически хочется странного, если по его описанию оно может помочь. Мешает необходимость перенастройки сопутствующей техники в этой подсети. Возможно потом получится, пока не выходит. Понять, как должно работать, очень просто, фальшивая сеть имеет другой префикс, например в таблице маршрутизации Keenetic1 присутствует фальшивая сеть 192.168.200.0. и шлюзом 192.168.0.1 (сам реальный роутер) При попытке отправить в неё пакет он перетранслируется роутером в интерфейс сети Keenetic2 с адресом локальной сети тоже 192.168.0.0. Если попытаться отправить пакет напрямую, то он не дойдёт, оставшись в локальной сети Keenetic1, а в случае с трансляцией он попадёт в сеть Keenetic2, где уже дойдёт до адресата. То же и при обратном сообщении, в локальной сети Keenetic2 пакеты можно отправлять на фальшивую подсеть 192.168.200.0 (или другую заранее настроенную) и роутер при получении такого пакета через шлюз в подсеть 192.168.200.0 (или другую заранее настроеннуюкого пакета перетранслирует его в заранее определенный интерфейс, связанный с Keenetic1, при этом поменяет подсеть, тем самым пакет уже нормально дойдёт до адресата в локальной сети Keenetic1.

Может конечно я прошу невозможного и надо просто взять роутер другой фирмы, которая позволяет просто сделать этот самый NetMap, выбрав его в настройках, но у меня есть возможно бредовая идея, что может быть это доступно и для Keenetic напрямую, тогда не придётся брать для этого лишний роутер, вся роль которого сведётся к трансляции пакетов.

По факту для этого ничего кроме небольшой нестандартной настройки таблицы маршрутизации не нужно, роутер и без того постоянно транслирует пакеты из сети в сеть и преобразование пакетов при прохождении через шлюз тоже реализовано. Неужели это совсем нереально? Может быть имеющихся механизмов хватит даже без программирования и дело просто в правильных настройках, только называется эта функция как-то иначе? Я попробую наверно обратиться в поддержку, просто у сообщества больше шансов найти нестандартное решение, и чаще приходилось строить не типовые конфигурации сетей. Спасибо!

 

 

 

 

 

 

 

Изменено пользователем Master2009
Дополнил сообщение.
  • 0
Опубликовано

В кинетике есть поддержка NETMAP в iptables:

Скрытый текст

~ # iptables -v -t nat -A PREROUTING -d 192.168.1.0/24 -j NETMAP --to 10.1.2.0/24
NETMAP  all opt -- in * out *  0.0.0.0/0  -> 192.168.1.0/24  10.1.2.0/24
~ # iptables -v -t nat -A POSTROUTING -s 192.168.1.0/24 -j NETMAP --to 10.1.2.0/24
NETMAP  all opt -- in * out *  192.168.1.0/24  -> 0.0.0.0/0  10.1.2.0/24
 

Так что можете пробовать реализовать свой велосипед через скрипты в entware:

https://github.com/ndmsystems/packages/wiki/Opkg-Component#ndmnetfilterd

  • 0
Опубликовано
В 13.10.2023 в 08:19, r13 сказал:

В кинетике есть поддержка NETMAP в iptables:

  Показать содержимое

~ # iptables -v -t nat -A PREROUTING -d 192.168.1.0/24 -j NETMAP --to 10.1.2.0/24
NETMAP  all opt -- in * out *  0.0.0.0/0  -> 192.168.1.0/24  10.1.2.0/24
~ # iptables -v -t nat -A POSTROUTING -s 192.168.1.0/24 -j NETMAP --to 10.1.2.0/24
NETMAP  all opt -- in * out *  192.168.1.0/24  -> 0.0.0.0/0  10.1.2.0/24
 

Так что можете пробовать реализовать свой велосипед через скрипты в entware:

https://github.com/ndmsystems/packages/wiki/Opkg-Component#ndmnetfilterd

А это все команды, которые нужно записать или есть что-то ещё? Не нужно указывать тунель?

И ещё эти команды выдают такую ошибку

iptables: No chain/target/match by that name. 

Чтобы заработало нужно что-то ещё ставить?

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.