OpenVPN and NAT Outbound
- 
 Здравствуйте господа. 
 Прошу помощи в решении одной проблемы.Офис "A" локальная сеть 192.168.1.0/24 
 Офис "B" локальная сеть 172.16.0.0/12
 Они соеденены по GRE over IPSec тунелю
 Так же есть клиенты которые подключаются по OpenVPN тунелю к Офису "А" 10.0.8.0/24Политика фаервола офиса "B" заключается в том, что к нему может идти трафик только от IP адресов сети офиса "A" 192.168.1.0/24 и поменять эту политику нельзя. 
 Вся проблема в том что клиенты OpenVPN не могут попасть в локальную сеть офиса "B"
 Маршруты у клиентов прописаны.Я знаю что решение простейшее, но реализовать не получается, сижу туплю уже неделю. Если я правильно понимаю, то надо смотреть в сторону NAT Outbound, но что-то корректные правила создать не получается. Хожу вокруг да около, но свой затуп понять не могу :( 
 Буду признателен за помощь и развернутый ответ.
- 
 Решение не так уж и очевидно. Попробуйте вот что: Создайте Virtual IP типа Other на GRE интерфейсе и задайте в нем какой-нибудь адрес не используемый в локальной сети (например 192.168.1.254/32). Затем сделайте правило в NAT Outbound: GRE1 10.0.8.0/24 * * * 192.168.1.254 * NO
- 
 Скорее всего вы имели в виду, создать Virtual IP на LAN интерфейсе, т.к. на GRE вылазит ошибка. The following input errors were detected: The interface chosen for the VIP has no IPv4 or IPv6 address configured so it cannot be used as a parent for the VIP. В итоге подменить IP на 192.168.1.254, получилось. 
 Но всплыла другая проблема.
 Посредством tcpdump'a на GRE интерфейсе, выяснилось, что данные попадают в GRE туннель в не зашифрованном виде (хотя все остальные данные из LAN шифруются) и соответственно на шлюзе офиса "B" они фильтруются.
 Как заставить IPSec шифровать эти данные перед отправкой в туннель?
- 
 Покажите настройки IPSEC на pfSense 
- 
 Прикрепил.  
 
  
 
  
 
- 
 GRE over IPSec тунелю Погодите, у вас же GRE внутри IPSec бегает ? Т.е. сперва поднимается IPSec-туннель, а внутри него уже GRE-туннель ? 
 Если это так, то GRE-трафик получается защищен, т.к. нах-ся внутри IPSec.
- 
 В данной ситуации создается GRE интерфейс и все данные которые по нему идут, заворачиваются в ESP пакеты. 
 Возможно вы правы, правильнее было бы написать IPSec over GRE.
  
- 
 …все данные которые по нему идут, заворачиваются в ESP пакеты. Ну, как видим, не все. По сути у вас сейчас два не вложенных друг в друга туннеля - IPSec и GRE. Через какой из них пойдет трафик определяется только системными маршрутами. Между тем, GRE-туннель вам не нужен, т. к. IPSec в туннельном режиме (вот как у вас) обеспечивает тот же функционал что и GRE + шифрование. Когда говорят "GRE over IPSec" обычно имеют ввиду GRE-туннель обернутый в IPSec-транспорт, где первый дает связность локальных сетей, а второй - защиту. Возвращаясь к вопросу о клиентах OpenVPN, удаляйте этот виртуальный IP и его правило NAT. Удаляйте все static и policy routes, напрвляющие трафик в GRE, если таковые есть. Создавайте новую phase 2 в IPSec для подсети клиентов OpenVPN (Local Network) и там же в "In case you need NAT/BINAT on this network specify the address to be translated" делайте ей NAT в 192.168.1.254. 
- 
 rubic - большое спасибо вам за помощь и развернутые ответы ! 
 Понял свои ошибки и благодаря вам, более подробнее стал понимать принципы работы VPN. И заодно разобрался с правилами NAT Outbound.Вопрос решен. Еще раз Спасибо! ;) 
