Maksim Dmitrichenko <dmitr...@gmail.com> wrote: > Что-то не возьму в толк. Вот поднимаю я туннель с Wireguard. После этого у > меня создается линк, допустим wg0, если в конфиге есть PostUp-скрипт, то он > выполняется. Но фактически нет никакого события, которое, кладёт линк, > если, например, peer умер. В результате, если я, например, хочу настроить > default route для зарубежного трафика в этот туннель, то если peer умрет, > зарубежный трафик не будет ходить. Хотелось бы это событие как-то > отлавливать и менять правила разметки трафика и policy forwarding'а, когда > peer оживает или пропадает. Но как-то готовых средств я не нахожу.
У wireguard невозможно достоверно определить - умер линк или нет. ибо: "By default, WireGuard tries to be as silent as possible when not being used; it is not a chatty protocol. For the most part, it only transmits data when a peer wishes to send packets. When it's not being asked to send packets, it stops sending packets until it is asked again." > Кто-нибудь решил эту задачу в каком-то более менее промышленном виде, а не > на коленке написанным скриптом, который с заданной периодичностью дергает > wg show? Флагман промышленности cisco со своим ip sla занимается тем-же самым - костылянием условий вокруг ping & co. Только там это спрятано за ящиком синтаксического сахара самобытного cli. А поскольку wireguard это переусложнённый ipip туннель, то выбор тут небольшой - наскриптовать ping/wg show или уже промышленно так, завести bird2 с bgp и анонсить себе маршруты с удалённой стороны.