Egyetlen szolgáltatás-IP minden OpenVPN-csomóponton: mit nem tesz
Foglaljon le egy privát /32-et minden csomóponton, hogy a kliens elérje a választott kiszolgálót. A cím nem ad átvételt hiba esetén, nem helyez át munkameneteket és nem választ egészséges csomópontot.
Egy kliens csatlakozik több OpenVPN-kiszolgáló egyikéhez, majd szüksége van egy kis szolgáltatásra, amely azon a csomóponton fut: állapotoldalra, metrikavégpontra, biztonsági mentési ügynökre. Ha minden csomópont ugyanazt a privát szolgáltatási címet kapja, a kliens konfigurációja azonos marad, függetlenül attól, melyik kiszolgálóra került. Ez a kényelem valós, és könnyű túlinterpretálni is: a megosztott cím azt mondja meg, melyik csomópontot érte el, nem azt, hogy bármi is redundáns.
Miért működik ugyanaz a cím minden csomóponton
Minden csomópont helyben birtokolja a címet és felel érte, így az a kliens, amely az aktuális alagútján keresztül eléri, a szolgáltatást az alagút túlsó végén kapja meg. A csomópontok között semmi sem hangolódik össze, és semmilyen forgalom nem megy át az egyik csomópontból a másikba.
A cím helyi címke, megismételve, nem replikálva. Minden csomópont csak önmagáért válaszol, és egyik sem továbbít forgalmat a címért egy másik csomópont nevében. Ez tartja érvényben az egyetlen klienskonfigurációt, miközben a kiszolgálók függetlenek maradnak. Ez az oka annak is, hogy a tervnek nincs szüksége semmilyen összehangolásra a csomópontok között.
Ezért működik ugyanaz a konfiguráció minden kiszolgálón útválasztási protokoll nélkül közöttük. Ez az oka annak is, hogy a terv semmit sem mond az állapotról: a cím pontosan úgy létezik egy beteg csomóponton, mint egy egészségesen, mert a hoszthoz kötődik, nem ahhoz, hogy a szolgáltatás hasznos-e.
A loopbackre ossza ki, ne az alagútra
Ha a címet loopback-interfészre tesszük, leválik bármely alagúteszköz élettartamáról, így az újracsatlakozás vagy a konfiguráció újratöltése nem távolítja el. A cím addig létezik, amíg a hoszt létezik.
A lo-n lévő cím nem szűrő. A szolgáltatásnak továbbra is figyelnie kell rajta, és a hoszt tűzfala továbbra is a valódi bejövő útvonalat értékeli, amely az alagút-interfészen érkezik. Aki azt feltételezi, hogy a loopback csak helyit jelent, végül vagy blokkolja a jogszerű klienseket, vagy olyasmit tesz ki, amit nem szándékozott.
Tegye tartóssá a hozzárendelést a hoszt hálózati konfigurációján keresztül, ahelyett hogy hookból újra hozzáadná. Egy telepítőhook nem fut le olyan csomóponton, ahol nem jött fel alagút, és a szolgáltatási címnek nem szabadna az alagút aktivitásától függenie. Tegye a címet a disztribúciója által kezelt interfész-konfigurációba, majd indítsa újra egyszer, és ellenőrizze. Az újraindítás az egyetlen teszt, amely túlél egy későbbi konfigurációváltozást.
ip address show dev lo | grep 10.250.0.1
ip address add 10.250.0.1/32 dev loToljon egy útvonalat, és egy célra gondoljon
A kliensnek hosztútvonalra van szüksége a címhez, amelyet az a kiszolgáló kínál, amelyhez csatlakozik. Mivel minden kiszolgáló ugyanazt a célt kínálja, a profil nem változik, amikor a kliens mozog.
Ellenőrizze, mit telepített a kliens, mielőtt a szolgáltatást hibáztatja.
ip route get 10.250.0.1Egy HTTP-szolgáltatáshoz adjon a címnek nevet és ahhoz a névhez tanúsítványt. A megosztott IP nem identitás, nem szünteti meg a TLS-ellenőrzést, és nem is indokolja egyetlen privát kulcs minden csomópontra másolását. A megosztott címre feloldódó név hétköznapivá teszi a tanúsítvány történetét, és lehetővé teszi a csomópontonkénti identitás megtartását, ha szüksége van rá.
Mire nem képes a megosztott cím
Nem biztosít átvételt hiba esetén. Ha a kiválasztott csomópont meghal, a cím vele hal, és a kliensnek máshol kell újracsatlakoznia.
Nem telepít át élő TCP-munkamenetet, mert az új kapcsolat egy másik hoszton végződik, amely semmit sem tud a régiről.
Nem választ egészséges csomópontot, nem egyensúlyozza a terhelést és nem szinkronizál adatot a csomópontok között. Ezek mindegyike külön mechanizmus a maga hibatípusaival, és annak színlelése, hogy a címzési trükk lefedi őket, az az út, ahogy egy egyszerű terv kiérdemtelen hírnevet szerez a rugalmasságban. Ha két alagút egyszerre aktív, a cél jelentése kétértelművé válik, ezért tartsa kifejezetten az egy aktív alagút feltevését.
Tartsa a szolgáltatás identitását a név mellett
Írja le, mit jelent a cím: eléri a szolgáltatást azon a csomóponton, amelyhez a kliens éppen kapcsolódik. Ez az egyetlen mondat megakadályozza a félreértés nagy részét, amelyet ez a minta vonz.
Ezután dokumentálja a darabokat együtt: a címet, az interfészt, amelyen él, az útvonalat, amelyet a kiszolgáló tol, valamint a nevet és a tanúsítványt, amelyet a szolgáltatás bemutat. Négy apró tény, amelyet egy jövőbeli olvasó ellenőrizhet, abban a sorrendben, ahogy ellenőrizni fogja őket.
Ha a követelmény egy stabil cél egy csomóponti helyi szolgáltatáshoz, a minta illik, és szinte semmibe sem kerül.
Ha a követelmény a rendelkezésre állás, lépjen egy szinttel feljebb: terheléselosztó, állapotellenőrzésekkel ellátott szolgáltatásnév vagy olyan vezénylési rendszer, amely már tudja, hogyan kell csomópontot cserélni.
Ha ezt korán eldönti, a megosztott cím az marad, ami, kényelmes címke, nem pedig olyan komponens, amelytől csendben olyan munkát várnak, amelyre soha nem tervezték.