Скачал вчера FreeBSD-11.0-CURRENT-amd64-20150421-r281832-disc1.iso
Сегодня установил.
Что касается IPSEC, то в ядре его нет.
Ладно, пересобрал ядро.

Вот это все опции, что добавил в конфиг от GENERIC:
options         IPSEC
options         IPSEC_NAT_T
device          crypto
device          enc
device          pf
device          pflog

В системе правил pf нет (просто pf в ядро включил).

Есть несколько виртуалок - FreeBSD 9.3 (racoon), 10.1 (strongswan), 11.0
(strongswan), pfsense 2.2.2 (strongswan)
У всех по две сетевухи. На вторых сетевых разная адресация и разные
виртуальные свичи.
ipsec-туннели построены меджу этими 4-мя хостами в разных комбинациях.
Везде все хорошо - в плане туннели поднимаются, пакеты в туннелях ходят
между разными хостами.
Кроме FreeBSD 11.0
Здесь туннели поднимаются со всеми хостами.
Но пакеты в туннеле ходят только с pfsense.
strongswan был установлен пакаджем. Поставил из портов - ситуация не
изменилась.

До натирования дело не дошло.


> -----Original Message-----
> From: Andrey V. Elsukov [mailto:[email protected]]
> Sent: Friday, April 24, 2015 8:41 AM
> To: Golub Mikhail; [email protected]
> Subject: Re: [freebsd] IPsec VPN and NAT
> 
> On 24.04.2015 08:09, Golub Mikhail wrote:
> >>> В pfsense есть два параметра:
> >>> net.inet.ip.pfil.inbound: pf
> >>> net.inet.ip.pfil.outbound: pf
> >>>
> >>> На 10.1, 9.3, 8.4, 7* - таких oid-ов нет.
> >>
> >> Судя по названию, эти оиды регулируют порядок или необходимость
> >> запуска pfil хуков на input/output. Т.е. к сути дела не имеют.
> >
> > Экспериментально проверил, что имеют (могу ошибаться).
> > Когда выполнил команду - пакеты в ipsec-туннель перестали
> заворачиваться.
> > sysctl net.inet.ip.pfil.inbound=""
> 
> Могу предположить, что таким образом вы убрали пакетный фильтр с
> обработки входящих пакетов.
> Пару лет назад andre@ кажется предлагал подобные патчи, где можно
> было
> через sysctl выбирать порядок в котором будут вызываться фильтры. Но
> тогда они не нашли сторонников, или реализация была неочень. В
> pfsense
> видимо нашли.
> 
> >> А есть у вас возможность попробовать head/?
> >
> > Скачал вчера, пробую.
> >
> >> По сути вам нужно включить filtertunnel, настроить filter_mask так,
> >> чтобы исходящий пакет отправлялся в NAT до инкапсуляции, а
> входящий
> >> после отрезания внешнего заголовка (см. if_enc(4)).
> >
> > В pfsense net.inet.ipsec.filtertunnel=0
> 
> У них там и реализация AES-GCM есть в ipsec, и strongswan патченный
> для
> этого. Ещё и ipsec можно включать через sysctl. eri@ ещё полгода назад
> хотел это всё в базу внедрить. Даже от FF был грант прошлой осенью
> про
> IPSec. Но что-то не задалось у него...
> 
> --
> WBR, Andrey V. Elsukov

Ответить