Туннель GRE over IPSEC



  • Помогите советом, не могу понять в чем проблема.

    Есть два pfsense 2.2.2, связаны через интернет GRE туннелем 10.0.0.1 и 10.0.0.2 соответсвенно. Тут всё хорошо, пинги ходят во внутренние подсети 192.168.0.0 и 1.0.
    Поднимаю ipsec на внешние WAN адреса в transport mode. Трафик начинает ходить через ipsec, но пинги во внутренние подсети не ходят. 10.0.0.1. видит 10.0.0.2. но если пинговать с 10.0.0.1  подсеть за другим роутером (192.168.1.0) то происходит следующее: судя по tcpdump  пакет  приходит на 10.0.0.2, далее проходит в подсеть 192.168.1.0. ответ идёт на 10.0.0.2 и оттуда отправляется на 10.0.0.1. На роутере тспдамп так же говорит  что ответ пришёл 10.0.0.2 > 10.0.0.1  но дальше пакет никуда не идёт.
    Пинговал с вебморды с GRE интерфейса (10.0.0.1) там пишет что пинги не вернулись, хотя тспдамп утверждает что 10.0.0.1 таки поймал ответ. Куда копать?:(

    ipsec пробовал по разному настраивать, пробовал ему адреса не внешние WAN писать, а адреса GRE туннеля. туннель вроде даже поднимается,  но не видно что трафик идёт через ipsec. в этом случае странная ситуация пинги с 10.0.0.1 на 10.0.0.2 по тспдампу по гре туннелю идут шифрованные, 10.0.0.2 отправляет шифрованный ответ, но на 10.0.0.1 ответ не приходит. а если пинговать 192.168.1.0 подсеть, то пинги проходят и возвращаются, но они не шифруются.



  • А разрешающие  фаервольные правила для GRE трафика на интерфейсе IPsec обоих фаерволов вешали?



  • на gre интерфейсе any to any pass
    на ipsec интерфейсе any to any pass
    на wan интерфейсе на котором висит gre и ipsec  1) pass GRE 2) pass UDP:500 (ISAKMP) 3) pass ESP

    прикол в том что пакет уходит и возвращается, и блочится уже возвращенный. с обоих сторон такая проблема.



  • Доброе.
    А чем OpenVPN между pf не устроил? Зачем такие сложности ?



  • openvpn конечно хорошо но пока ковыряем то что есть:) не получится будем на опен переводить.

    поковырял еще, добавил:

    1. правила в NAT outband для GRE интерфейса - 10.0.0.0 nonat , 192.168.0.0 no nat
    2. firewall-floating  -  TCP Any flags,  State Type none

    и пинги пошли! пинги шифруются и ходят, НО только те которые размером меньше примерно 1490, всё что больше не проходит. Кстати на ГРЕ интерфейсе MTU 1400.
    соответственно никакие пакеты кроме мелких пингов не проходят.

    Куда копать дальше?:)



  • максимальный проходящий пакет 1472.  мту интерфейса 1400, мсс 1300.
    шифрования разные пробовал, всё тоже самое



  • Доброе.

    ping -l 1400 -f -t ip-адрес, где ip-адрес - адрес узла в удаленной сети.
    Вместо 1400 руками подбираете максимально возможный для себя пакет (mtu).
    На концах туннеля у ваших провайдеров разный размер mtu (?)

    Еще раз. Не мучайтесь. Настройте OpenVPN. Зачем вам туннель в туннеле ? Двойные накладные расходы.

    P.s. Хозяйке на заметку:
    Есть крайне интересная команда ping -n 1 -r 9 ip-адрес . Показывает (но не всегда) адреса исходящих интерфейсов устройств. И показывает тогда, когда tracert выдает *** * * *** при отрисовке маршрута.


Log in to reply