>Самое простое поставить VPN сервер, например MPD. Там и шифрация трафика есть.
На шлюзе уже есть racoon+поддержка IPSec у FreeBSD, но проблема в том, что в файле ключей для racoon прописывается конкретный IP удаленной машины, но в данном случае IP при каждом подключении будет разным. Как с этим быть. Плюс ко всему работает PF, и в pf.conf также прописаны сторки с конкретной адресацией:
#Разрешаем проходить через туннельный интерфейс gif0 шифрованные пакеты
pass in quick log-all on gif0 proto esp from A.A.A.A to B.B.B.B
pass out quick log-all on gif0 proto esp from B.B.B.B to A.A.A.A
#Разрешаем отправлять с внешнего интерфейса xl1 шифрованные инкапсулированные пакеты
#на публичный ip-адрес другого конца туннеля и соответственно получать с того же адреса
#подобные пакеты обратно на наш внешний интерфейс xl1, т.е. публичный ip-адрес
pass in quick log-all on $extcard proto {esp ipencap} from A.A.A.A to B.B.B.B
pass out quick log-all on $extcard proto {esp ipencap} from B.B.B.B to A.A.A.A
...или есть предложения написать правила по другому?