Trasa zařízení OpenVPN: vlastník konfigurace, nebo spouštěcí skript?
Pobočková trasa, která přežije jedno restartování, může po uložení v GUI nebo aktualizaci firmwaru stále zmizet. Porovnejte podporovaného vlastníka konfigurace s opravným skriptem.
Přidáte pobočkovou trasu, funguje, a pak ji aktualizace firmwaru nebo uložení z webového rozhraní odstraní. Dvě opravy vypadají v tu chvíli stejně rozumně: vložit trasu do podporovaného zdroje konfigurace zařízení, nebo ji připsat k generovanému souboru ze spouštěcího skriptu. Chovají se stejně týden a při druhém upgradu se rozejdou. Tento článek porovnává, co každá z nich skutečně vlastní.
Dva kandidáti vlastní různé věci
Podporovaný zdroj konfigurace je vše, co zařízení považuje za vstup: pole v GUI, importovaný profil, dokumentovaný adresář pro jednotlivé klienty, databáze nastavení, kterou čte správní balíček. Generovaný server.conf je výstup. Úprava výstupu funguje, dokud generátor neběží znovu, což se děje při uložení, při restartu a při upgradu.
Přístup se skriptem záplatuje tento výstup poté, co generátor skončí. Je to legitimní technika pro laboratoř a je to špatná výchozí volba pro pobočku, protože činí trasu závislou na shodě textu místo na dokumentovaném poli.
| Question | Supported config source | Post-generation script |
|---|---|---|
| Survives a GUI save | Yes | Only if the save does not regenerate the file |
| Survives a package upgrade | Usually, when the field is documented | No guarantee; the wrapper can be replaced |
| Supportable by the vendor | Yes | No |
| Obvious to the next admin | Yes, it is in the UI | No, it lives in a wrapper |
Co zařízení regeneruje a kdy
Správní balíčky obvykle drží nastavení v databázi nebo v sadě šablon a při startu vykreslují konfiguraci démona. Uložení z webového rozhraní často přepíše celý soubor místo záplaty jednoho řádku. Pokud vaše změna žila v tomto souboru, teď je pryč a nic nezapíše varování, protože z pohledu zařízení se nic neztratilo.
Spouštěcí obaly mají druhý režim selhání. grep na direktivu s určitým rozestupem přestane po změně šablony odpovídat a skript tiše nic nedělá. Horší je, že aktualizace firmwaru může obal nahradit novou verzí a záplatu odnést s sebou. Pak máte trasu, která existovala rok a zmizela při údržbě, kterou nikdo nespojil se směrováním.
Co musí podporovaný vlastník vyjádřit
Pobočková předpona potřebuje tři tvrzení, ne jedno. Klient se musí trasu naučit, server musí vědět, který ověřený klient předponu vlastní, a pobočková strana musí vracet provoz na adresu tunelu, která jí byla přidělena. V terminologii OpenVPN to znamená odeslanou route, odpovídající iroute svázanou s klientem a zpětnou cestu na druhé straně.
Zde rozhraní zařízení matou. Zaškrtávací pole s popisem „povolit klientům přístup k LAN serveru“ popisuje provoz směrem k vlastní síti serveru. Vaše pobočka je opačný směr: síť za jedním klientem, dostupná ze strany serveru. Stejný popis neznamená podporu tohoto a platná direktiva v souboru není slib, že ji balíček zachová.
Když neexistuje podporovaná kontrola
Někdy instalované vydání skutečně nedokáže vyjádřit trasu specifickou pro protějšek. Pak jsou poctivé možnosti jiná brána, kterou ovládáte, nebo podporovaný režim site-to-site na obou koncích. Oba konce jím musí mluvit. Stránka produktu, která říká site-to-site, nečiní libovolný profil OpenVPN zaměnitelným s tunelem jiného protokolu a vynucení tohoto párování obvykle vytvoří napůl připojený tunel, který na stavové stránce vypadá dobře.
Vyberte možnost, kterou dokážete popsat jednou větou tomu, kdo síť zdědí. Pokud odpověď vyžaduje zmínit cestu ke skriptu a textový vzor, návrh je už křehký.
Učiňte záměr auditovatelným
Zaznamenejte smlouvu mimo zařízení: efektivní identitu klienta, předponu, zpětnou bránu a podporované pole, které každé z nich dodává. Exportujte konfiguraci podporovaným mechanismem, aby přestavba měla referenci, a ověřte službu po opětovném připojení, restartu a upgradu, ne jen po změně.
Když se něco rozbije, porovnejte generovaný výsledek s tímto záznamem, místo abyste obnovovali nevysvětlený řádek a doufali.referenci OpenVPN 2.6 je místem, kde si před hádkou s rozhraním potvrdíte, jak route a iroute spolupůsobí.
Kontrolní seznam pro příští změnu: pojmenujte vlastníka, uveďte třídílnou smlouvu, exportujte záměr a otestujte znovu po vlastních událostech životního cyklu zařízení, ne po své úpravě.