[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: События с линком Wireguard



On Sun, Aug 07, 2022 at 11:01:16PM +0300, Andrey Jr. Melnikov wrote:
> Eugene Berdnikov <bd4@protva.ru> wrote:
> 
> >  Спецификация GRE не регламентирует поведение инкапсулятора, который
> >  может мониторить состояние туннеля, либо нет, по своему усмотрению. 
> >  Так что вендоры вольны реализовать над GRE любые модели поведения:
> >  как голый GRE (stateless), так и l2tp (например) со своими таймерами.
> Да оно вообще ничего не регламентирует. Как и прохождение через кривые
> провайдерские NAT'ы и прочие перелести современных инетрнетов.

 В 1994 году об этих современных реалиях можно было лишь гадать... Многие
 сетевики, насколько я помню, считали что мир пойдёт в сторону технологий
 source routing, в том же RFC1701 для GRE есть целая пачка заготовок
 на этот счёт. Но к концу 90х явно стал побеждать привычный нам NAT.
 
 Однако явторы GRE не были совсем уж тупы, они также ввели поле "key",
 которое дало потом возможность делать трекинг коннекций на шлюзе и
 выходить за NAT. Благодаря этому полю GRE до сих пор полужив.

> >  Но задача, которая обсуждается здесь, более высокого уровня: что делать,
> >  если машрут через туннель недоступен. Сам инкапсулятор этого не знает.
> >  И даже если он мониторит состояния линка и может передать его на уровень
> >  дивайса (link up/down) или на 3-й уровнь (icmp-unreach и т.п.), варианты
> >  вида "переключить маршрут" выходят за рамки p2p-туннеля. Для этого нужен
> >  BGP/OSPF/etc, а GRE тут просто низший уровень, который задачу не решает.
> В оригинале автор сомневался, что решение "скриптик с wg show" это не
> профессионально и всё такое, а дальше - понеслось.

 В общем, он правильно сомневается: bgpd или ospfd отслеживают события
 "link up/down" гораздо надёжнее, чем самопальные скрипты. Хотя бы потому,
 что между двумя poll-ами вида "wg show" можно пропустить события
 link down-up, скрипт этого не заметит, а вот ядро маршрутик-то через
 могнувший дивайс аккуратно удалит. С push-ами через netlink таких пропусков
 не будет. У quagga с этим всё вроде нормально, про bird не скажу, но
 думаю что у него аналогично.
-- 
 Eugene Berdnikov


Reply to: