История изменений
Исправление Pinkbyte, (текущая версия) :
Никакая комбинация без смены адресов на клиентах(либо адресов источников либо адресов назначения) не заработает.
Пример с NETMAP, который уже упоминался:
Допустим у нас есть две сети(foo и bar), в каждой из которых есть подсеть 192.168.1.0/24.
Допустим клиент из сети foo с IP 192.168.1.5 хочет подключиться к IP 192.168.1.6 из сети bar. Напрямую он этого сделать не может - сам клиент будет искать этот IP в сети foo, так как он находится в той же сети(точнее имеет тот же самый «адрес сети» - 192.168.1.0).
Решение: выделяем блок, например, 192.168.5.0/24(неиспользуемые ранее ни в foo ни в bar) и прозрачно транслируем все исходящие запросы на 192.168.5.0/24 из сети foo в 192.168.1.0/24 расположенные в сети bar(так как транслировать будет роутер, уже подключенный к сети 192.168.1.0/24 из сети foo - потребуется другая таблица маршрутизации).
То есть если 192.168.1.5 из сети foo хочет обратиться к 192.168.1.6 из сети bar, он должен стучать на 192.168.5.6 - тогда этот траффик пойдет через роутер и данную трансляцию.
Ну а так как адрес источника у нас остался не изменным(192.168.1.5) - ответы на него не дойдут(потому что со стороны bar сеть 192.168.1.0/24 доступна напрямую, а не через туннель). И вот тут есть два варианта - если нам нужен непосредственный доступ из сети bar на подсеть 192.168.1.0/24 сети foo - тогда мы делаем тоже самое - еще один сегмент, еще одна трансляция, уже для ответных адресов. Если же такой доступ не нужен - достаточно просто сделать SNAT в адрес роутера на стороне сети foo, о чём ты уже и так догадался.
Но это всё не отменяет факта, что это - дикий костыль и максимум стоит это использовать как временное решение.
Исходная версия Pinkbyte, :
Никакая комбинация без смены адресов на клиентах(либо адресов источников либо адресов назначения) не заработает.
Пример с NETMAP, который уже упоминался:
Допустим у нас есть две сети(foo и bar), в каждой из которых есть подсеть 192.168.1.0/24.
Допустим клиент из сети foo с IP 192.168.1.5 хочет подключиться к IP 192.168.1.6 из сети bar. Напрямую он этого сделать не может - сам клиент будет искать этот IP в сети foo, так как он находится в той же сети(точнее имеет тот же самый «адрес сети» - 192.168.1.0).
Решение: выделяем блок, например, 192.168.5.0/24(неиспользуемые ранее ни в foo ни в bar) и прозрачно транслируем все исходящие запросы на 192.168.5.0/24 из сети foo в 192.168.1.0/24 расположенные в сети bar(так как транслировать будет роутер, уже подключенный к сети 192.168.1.0/24 из сети foo - потребуется другая таблица маршрутизации).
То есть если 192.168.1.5 из сети foo хочет обратиться к 192.168.1.6 из сети bar, он должен стучать на 192.168.5.6 - тогда этот траффик пойдет через роутер и данную трансляцию.
Ну а так как адрес источника у нас остался не изменным - ответы на него не дойдут(потому что со стороны bar сеть 192.168.1.0/24 доступна напрямую, а не через туннель). И вот тут есть два варианта - если нам нужен непосредственный доступ с сети bar на подсеть 192.168.1.0/24 сети foo - тогда мы делаем тоже самое - еще один сегмент, еще одна трансляция. Если же такой доступ не нужен - достаточно просто сделать SNAT в адрес роутера, о чём ты уже и так догадался.
Но это всё не отменяет факта, что это - дикий костыль и максимум стоит это использовать как временное решение.