Всем привет! Ситуация следующая (если нужен сетевой график, могу предоставить).
HQ: два WAN.
BO: два и более WAN.
Чтобы обеспечить VPN-соединение с резервированием, для каждого WAN-подключения в BO установлены по два GRE-туннеля с HQ. В данном конкретном случае в BO три WAN, значит 6 GRE-туннелей. Каждый туннель имеет статический маршрут с разным расстоянием.
Всё работает нормально, пока не начинает «флапать» интерфейс PPPoE одного из WAN в BO. С этого момента GRE-туннель падает. Я даже не могу пропинговать удалённый адрес, использующийся для GRE-туннеля, с указанием правильного исходного адреса.
GRE-интерфейсы — сторона BO
Tunnel configuration — сторона BO
GRE-интерфейсы на HQ (имена интерфейсов такие же с обеих сторон)
Tunnel configuration — сторона HQ
Я начал тесты с первой фазы IPSec: состояние установлено, но значение RX равно 0. Вторая фаза тоже установлена. IPSec настроен в режиме туннеля.
Если пытаюсь пропинговать удалённый адрес с исходным адресом, как определено в политике Phase2, пинг не проходит. Это наводит меня на мысль о проблеме с IPSec, но следующие шаги ещё больше сбивают с толку.
Пинг с BO на HQ по loopback-интерфейсам
На скриншоте выше в трекинге соединений показано GRE-соединение. Таймаут GRE-соединения — 3 минуты. Если отключить GRE-интерфейсы с обеих сторон на три минуты, таймаут истекает. С этого момента я могу пропинговать loopback-интерфейсы на другой стороне.
Тогда я поднимаю GRE-интерфейсы с обеих сторон, и всё снова начинает работать отлично.
Ручное решение срабатывает всегда, но мне хотелось бы понять, в чём причина этой проблемы. У меня много GRE-туннелей, и каждое утро приходится проверять, проявилась ли эта проблема, и фиксить её. Очень сбит с толку.
Сначала думал, что проблема с IPSec при флапе PPPoE-интерфейса. Сейчас склоняюсь к мысли, что во время флапа что-то происходит в таблице маршрутизации, и каким-то образом GRE keepalive пакеты идут по другому маршруту и по какой-то причине остаются активными.
Очень буду признателен, если поможете решить эту проблему. Могу предоставить любую информацию или провести любые тесты по необходимости.
Спасибо,
Лоренцо
HQ: два WAN.
BO: два и более WAN.
Чтобы обеспечить VPN-соединение с резервированием, для каждого WAN-подключения в BO установлены по два GRE-туннеля с HQ. В данном конкретном случае в BO три WAN, значит 6 GRE-туннелей. Каждый туннель имеет статический маршрут с разным расстоянием.
Всё работает нормально, пока не начинает «флапать» интерфейс PPPoE одного из WAN в BO. С этого момента GRE-туннель падает. Я даже не могу пропинговать удалённый адрес, использующийся для GRE-туннеля, с указанием правильного исходного адреса.
GRE-интерфейсы — сторона BO
Tunnel configuration — сторона BO
GRE-интерфейсы на HQ (имена интерфейсов такие же с обеих сторон)
Tunnel configuration — сторона HQ
Я начал тесты с первой фазы IPSec: состояние установлено, но значение RX равно 0. Вторая фаза тоже установлена. IPSec настроен в режиме туннеля.
Если пытаюсь пропинговать удалённый адрес с исходным адресом, как определено в политике Phase2, пинг не проходит. Это наводит меня на мысль о проблеме с IPSec, но следующие шаги ещё больше сбивают с толку.
Пинг с BO на HQ по loopback-интерфейсам
На скриншоте выше в трекинге соединений показано GRE-соединение. Таймаут GRE-соединения — 3 минуты. Если отключить GRE-интерфейсы с обеих сторон на три минуты, таймаут истекает. С этого момента я могу пропинговать loopback-интерфейсы на другой стороне.
Тогда я поднимаю GRE-интерфейсы с обеих сторон, и всё снова начинает работать отлично.
Ручное решение срабатывает всегда, но мне хотелось бы понять, в чём причина этой проблемы. У меня много GRE-туннелей, и каждое утро приходится проверять, проявилась ли эта проблема, и фиксить её. Очень сбит с толку.
Сначала думал, что проблема с IPSec при флапе PPPoE-интерфейса. Сейчас склоняюсь к мысли, что во время флапа что-то происходит в таблице маршрутизации, и каким-то образом GRE keepalive пакеты идут по другому маршруту и по какой-то причине остаются активными.
Очень буду признателен, если поможете решить эту проблему. Могу предоставить любую информацию или провести любые тесты по необходимости.
Спасибо,
Лоренцо
