Жил был у меня ждунипер SRX и несколько аплинков. Им отдаю по BGP одну подсеть класса "C", забираю Default Gateway. Всё как у людей. На lo-интерфейс навешено несколько IP-адресов из состава моей AS, для всяких там GRE и прочих IPSEC-ов. До поры до времени все работает.
Потом я начинаю эти аплинки менять. В смысле, некоторые провайдеры не нравятся, вместо них подключаю других. Отключил-подключил одного. Всё нормально. Подключил другого. Всё нормально. Перепроверил. Работают все три аплинка. Переключил лапками (static-routes) default gateway на один из "новых" аплинков. Всё нормально. Трафик бегает, никаких вопросов. Смотрю в разные looking-glass-ы, все меня видят, всё хорошо.
Тогда я подумал "ну раз одного провайдера уже переподключил, давай я и второго старого выдерну за ненадобностью". Положил reth-интерфейс, который смотрит в сторону "ненужного" аплинка. И всё, капец. Прод благополучно рухнул примерно на полчаса.
Позже, ночью, стал проводить детальное расследование. Выяснилось, что телекомы ни при чём. И я делал в принципе всё правильно. Просто в ждунипере обнаружился очередной баг. После перестроения таблиц маршрутизации он решил, что ему больше не нужны GRE-тоннели. Соответственно, всё сервисы, которые их использовали, навернулись.
А самый сок заключается в том, что мне так и не удалось после этого восстановить пресловутые GRE-тоннели. Никак. Ни откатом конфигурации до состояния "как было". Ни разновсяческими шаманствами. Подозреваю, что может помочь священный ребутий, но кто ж мне даст его сделать. Да и стрёмно очень.
Симптомы тоже очень странные. В конфигурации фильтров-полисеров не менялось вообще ничего. В sampler-е я вижу приходящие на внешний reth-интерфейс GRE-пакеты от контрагента, но "show interfaces gr-0/0/0.0 extensive" показывает, что принятых (incoming) пакетов ровно ноль. Входящий трафик на этот IP-адрес разрешен вообще весь (any). В логах тишина. Оно пережило переключение одного из провайдеров, в том числе и с поднятиями-опусканиями интерфейсов, но скукожилось, когда выключили именно тот интерфейс, который был активен на момент запуска этого тоннеля. Совпадение?
Вообще, GRE-тоннели в ждуниперах никогда не отличались стабильностью.
Пруф. С 2012-го года это так и не исправили. И после прочтения ответа господина "p.k" с форума по ссылке выше у меня закрадывается серьезное подозрение, что пытаться строить GRE-тоннель с IP-адреса своей AS-ки - дело гиблое и бесполезное. Потому что он всё равно будет всегда использовать только тот канал, который был активным на момент своего добавления в конфигурацию. Но это только предположение. Как он там на самом деле работает - одним индусам известно.
Интересно, в этом мире вообще существуют нормальные сетевые железки? Или только говно и полное говно? А Juniper-ы для меня теперь - некий аналог Mikrotik-ов. Тоже, блин, "потихоньку между багов нащупал дорогу, но что ж их так много, ей-богу". ©