Nedávno mě kontaktoval kamarád s tímto problémem, řekl jsem mu, ať se mrkne na to, jakým způsobem se mu inicializují jednotlivá rozhraní serveru a samozřejmě ať projede logy. Logy prošel, ničeho si nevšiml, co by ho někam posunulo. Nakonec to vyřešil velmi prasáckým způsobem, kterým to hlavně VY nikdy neřešte. Dal si do cronu, že když mu to déle než 30 vteřin nepingá na gateway, tak to restartne network. Sice to vyřešil, byl to údajně nějaký malinký server ve firmě, ale rozhodl jsem se tento článek napsat pro všechny ty z vás, kteří možná narazíte na podobný problém. Já bych pak nerad přišel do nějaké firmy a viděl tam to, co jsem popsal v úvodním odstavci.
Toť tedy k prasáckému řešení a teď co s tím na slušňáka.
Mrkněte se do /etc/network/interfaces na debianu 10
kde by se vám měl inicializovat loopback, pak síťové karty, pak teprve bonding a až NAKONEC souboru bridge. V případě, kdy došlo k takovému problému měl kamarád prvně inicializovaný loopback, pak síťovky, pak bridge a nakonec bonding. ŠPATNĚ. A přesně to byl důvod, proč mu to nejelo. Nemůžete inicializovat bridge, když se takový bridge snaží sahat na rozhraní, které ještě nebylo inicializováno před ním. Tak je logické, že se vám bridge za takových podmínek nikdy neinicializuje. Jakmile už jsou bondingy a všechna rozhraní inicializovaná, tak je samozřejmé, že po restartu sítě vám to začne pingat. Vše už je totiž zinicializované, jen zblbnutý bridge potřeboval reload.
Věřím, že takový problém má i vícero řešení, o tom se můžete zmínit v diskusi, nicméně dalším, co je potřeba probrat je modprobe ifenslave apod.
No a abych tento článek neměl vycucaný z prstu, přikládám ještě alespoň tento zdroj s modprobem a ověřením, že máte naloadované moduly do jádra.