Здравствуйте, EyeOfHell, Вы писали:
EOH>OpenVPN умеет соединять подсети, но оставляет при этом адреса неизменными
EOH>Вы не обижайтесь только, но Вы это сами придумали или где-то прочитали? OpenVPN замечательно выдает 192.168.0.20, настраивает роутинг и все живут долго и счастливо :).
Сервер выдает виртуальные адреса клиентам. А если нужно, чтобы клиенту была видна сеть, которую видит сервер, то я должен сделать push route, и клиент будет видеть ее по тем же адресам, что и сервер, а это немножно не то, что нужно.
Попробую сформулировать еще раз: есть три сети с компьютерами, которые и без того замечательно общаются между собой. Только трафик между ними ходит через места, потенциально полные любопытных админов. Нужно его шифровать, только не весь, преимущественно из соображений производительности: и сети медленные, и компьютеры не самые быстрые. SSH и без того шифрованный, его еще раз шифровать излишне. (Кстати, можно ли в SSH отключить шифрование?) Внутри подсети подслушивать тоже некому, хотя, может, и не помешало бы тоже шифровать.
Хорошо бы иметь одну виртуальную сеть, к которой не было бы доступа извне, и трафик по которой ходил бы в зашифрованном виде. С IPSec трудно быть уверенным, что все важные данные ходят в зашифрованном виде, — для программы-то всё выглядит неотличимо от обычного IP. А так — повесил демона на порт на виртуальном интерфейсе, и извне его гарантированно не видно. Передаешь данные на 10.0.3.333 — зашифрованы, на 333.333.333.333 — нет.
Впрочем, IPSec проще тем, не требует возни с таблицами маршрутизации. Как бы только втолковать ему, что часть трафика хорошо бы шифровать, а часть хорошо бы не шифровать?