Ktorý komponent v skutočnosti vlastní limit trás OpenVPN?
Limit trás môže patriť jadru OpenVPN, zásuvnému modulu NetworkManager alebo serveru. Pomenujte vlastníka skôr, než upravíte profil alebo zvýšite číslo.
Profil s dvesto trasami funguje na jednom stroji a na inom nainštaluje štyridsať. Jadro, integrácia, ktorá ho spúšťa, a server, ktorý ho napája, majú každý svoje slovo a každý môže zoznam zastaviť v inom bode. Keď poruchu čítate ako jediný limit, dostanete sa k nesprávnemu súboru. Mechanizmus má tri fázy a fáza, ktorá sa zastavila, zanecháva viditeľné stopy, keď viete, čo hľadať.
Tri fázy, tri rôzne limity
Najprv jadro analyzuje voľbu a rozhodne, či jej táto verzia rozumie. Potom integrácia nainštaluje to, čo jadro hlási, a jej vlastný kód môže zoznam obmedziť alebo preformovať. Nakoniec server rozhodne, koľko trás odošle danej identite, skôr než ktorákoľvek klientska fáza niečo uvidí. Tri fázy, tri stropy a iba jeden z nich je číslo v profile.
Zdvihnutie jedného stropu nič nerobí pre ostatné. Odmietnutá odoslaná trasa môže byť rozhodnutím politiky na serveri, prekrytím, ktoré klient vyriešil, alebo limitom inštalátora, ktorý prebytok zahodil. Každý z týchto prípadov má inú opravu.
Oddeľte tie tri, skôr než čokoľvek zmeriate. Chyba parsera pomenuje token, limit inštalátora zanechá krátku tabuľku trás a rozhodnutie politiky nezanechá vôbec nič. Stopy vám povedia, ktorú fázu preskúmať ako prvú.
| Stage | Who decides | What you can see |
|---|---|---|
| Parse | Client engine | An error naming the option |
| Install | Activation owner | A route count below the pushed count |
| Offer | Server policy | A route absent from the pushed list |
Parser hovorí prvý
Neznáma voľba zlyhá hlasno a skoro a text chyby pomenuje token. To je najľahšie rozpoznateľná fáza: porovnajte presnú správu s nainštalovanou verziou jadra, pretože voľba pridaná v jednom vydaní je v predchádzajúcom neznáma. Profil skopírovaný z novšieho nasadenia je obvyklým zdrojom tohto nesúladu. Parser nikdy ticho neignoruje direktívu, ktorú nepozná.
Prijatá voľba nič nehovorí o výsledku. Analýza prejde a zoznam napriek tomu môže inštalátor skrátiť alebo ho server nikdy neponúkne. Berte čistú analýzu ako povolenie pokračovať, nie ako dôkaz.
Zapíšte reťazec verzie z binárky, ktorá skutočne bežala, nie z predstavy správcu balíkov o tom, čo je nainštalované. Tieto dve sa nezhodujú častejšie, než sa čaká.
Inštalátor má vlastný strop
Komponent, ktorý vlastní aktiváciu, môže byť zásuvný modul NetworkManageru namiesto binárky jadra a môže presadiť svoj vlastný limit skôr, než existuje akýkoľvek tunel. Jeho editor môže zobrazovať pole, ktoré bežiace jadro nikdy nečíta, alebo čítať pole, ktoré editor nezobrazuje. Obe situácie zvonku vyzerajú ako chyba klienta. Ani jednu nevyrieši úprava profilu.
Počítajte, čo dorazilo, nie čo bolo nastavené. Príkaz ip route show dev tun0 vypisuje nainštalované trasy a porovnanie tohto počtu s odoslaným zoznamom oddeľuje zahodenú trasu od tej, ktorá nebola nikdy odoslaná. Počet, ktorý zodpovedá odoslaniu, vracia podozrenie späť na server.
Obal skriptu okolo binárky jadra, ktorý má vynútiť väčšie číslo, zamlžuje aktualizácie a robí z návratu hádanie. Takisto skrýva skutočný limit pred každým, kto bude konfiguráciu čítať nabudúce.
Server rozhoduje, čo vám ponúkol
Politika pre jednotlivého klienta môže zoznam zmenšiť pred prenosom. Súbor špecifický pre klienta môže pridať trasy pre jednu identitu alebo ich skupinová politika môže vynechať a klient nedokáže rozlíšiť filtrovanú trasu od tej, ktorá nebola nikdy definovaná. Práve preto je záznam na serveri dôležitý. Žiadajte skutočný zoznam odoslania pre danú identitu, nie šablónu.
Porovnajte záznam servera s prijatým zoznamom. Medzera medzi nimi je vrstva politiky a zvyčajne je menšia, než profil naznačuje.
Keď to návrh dovolí, zhrňte susediace siete a vymažte zastarané položky. Menej a väčších trás vyrieši viac prípadov než vyšší strop.
Zmeňte číslo na správnom mieste
Použite dokumentované nastavenie komponentu, ktorý limit skutočne vlastní. Ak pole v module chýba, overte, či je modul starší ako funkcia alebo či trasy vlastní iná základňa. Potom zapíšte verzie jadra, modulu a servera vedľa zvolenej hodnoty. Ďalšia aktualizácia otázku znovu otvorí a práve poznámka ju robí zodpovedateľnou.
Po každej aktualizácii ktoréhokoľvek z troch znova otestujte. Limit zdvihnutý na správnom mieste sa aj tak posunie, keď sa zmení komponent, ktorý ho presadzuje. Záznam verzií je jediná vec, ktorá to posunutie robí predvídateľným.