>> И дело вовсе не в реализации IPSec. Дело в маршрутизации. Если Вы
>> поделите 7-ю сеть на диапазоны, но так, чтобы они могли быть
>> описаны в терминах CIDR, то можно.
> Уже думал об этом. Данное решение имеет место быть, но это не
> совсем то. Дело в том что Zywall позволяет пробрасывать любой диапазон
> IP, при чем они будут с одной маской подсети. И делается
> это как я понял на уровне политик IPSec. Хотелось бы реализовать
> в точности такую же конфигурацию на Linux сервере, если конечно это
> возможно.Вы можете пробросить ЛЮБОЙ диапазон IP-адресов используя любую реализацию IPSec. Но Вы ни при каких условиях не организуете маршрутизацию ОДНОЙ И ТОЙ ЖЕ СЕТИ в три точки!
>>> Временно решили пробрасывать всю подсеть на каждого клиента.
>> Странное решение...
> В общем то ничего странного, просто вместо диапазона IP будет пролетать вся
> подсеть.
В какую из трёх конечных точек?
Каким образом будет определяться в какой из трёх конечных точек находится адресуемый хост?
Т.е. речь идёт о том, что имея в трёх точках сеть 192.168.7.0/24, Вы можете в каждой из трёх точек иметь хост, к примеру, 192.168.7.77. При необходимости отправить из центральной точки пакет хосту с адресом 192.168.7.77 КАК будет определяться конечная точка?
>> Пральна! Первая пара правил работает. А две другие выдают ошибки, поскольку правила
>> для трафика из сети 192.168.1.0/24 в сеть 192.168.7.0/24 и обратно УЖЕ
>> ЗАДАНЫ.
> Я так и понял. Но видимо я неправильно понимаю эти политики. По
> мне так часть esp/tunnel/192.168.5.1-192.168.5.12/require у них отличается, стало быть
> и политики должны отличаться. Ан нет - он смотрит на адреса
> источника и назначения, остального не принимает во внимание!!! Возможно нужно добавить
> какой-нибудь отличающий их идентификатор, но какой я не знаю...
Вы неправильно поняли. Политики следует читать, в данном случае, примерно следующим образом:
spdadd 192.168.1.0/24 192.168.7.0/24 any -P out ipsec
esp/tunnel/192.168.5.1-192.168.5.12/require;
означает что для исходящий (out) пакета любого протокола (any) из сети 192.168.1.0/24 в сеть 192.168.7.0/24 необходимо (require) использовать транспорт IPSec с шифрованием (esp) в туннельном (tunnel) режиме выполняя шифрование на интерфейсе 192.168.5.1 адресуя ЗАШИФРОВАННЫЙ пакет на адрес 192.168.5.12
Получается, что первой парой правил Вы устанавливаете политики между сетями 192.168.1.0/24 и 192.168.7.0/24. Второй и третьей парой Вы опять пытаетесь установить политики между теми же сетями, а для них политики уже определены, пусть и с другими конечными точками (192.168.5.12)! Именно этот факт вызывает ошибку "File exists".
И ещё раз: принципиальная невозможность реализации Вашей "хотелки" не в возможностях реализаций IPSec, а в МАРШРУТИЗАЦИИ!