Valaki ad egy első és egy utolsó címet, és VPN-útvonalat kér. A csábító lépés a mindkét végpontot tartalmazó legrövidebb előtag kiválasztása, és ez a lépés csendben olyan célokat ad hozzá, amelyeket senki sem kért. Egy CIDR-blokk mérete mindig kettő hatványa, kezdőcíme pedig ehhez igazodik, ezért egy tetszőleges intervallum általában több mint egy blokkot igényel. Járja be az intervallumot, ossza fel pontosan, majd ellenőrizze a közvetlenül rajta kívüli címeket.

Kezdje az intervallummal, ne az előtaggal

Írja fel az első címet és az utolsó címet, mielőtt bármi mást írna. A pár maga a követelmény; az előtag csak egy lehetséges kifejezése ennek, és néha hibás. Két számot ráadásul sokkal könnyebb ellenőrizni, mint egy maszkot.

Az igazított intervallum egyetlen blokká olvad össze. A nem igazított több blokkra bomlik, és a felbontás pontos, nem közelítő. Amit nem szabad tennie, az a kifelé kerekítés és az „elég közeli” minősítés, mert a többletcímek azt a szabályzatot kapják, amelyet az útvonal hordoz.

A hiba mindkét iránya számít. Az alagútba vezető útvonalnál a többletcímek bekerülnek a VPN-be. A megkerülési kivételnél a többletcímek kihagyják azt. Egyik eredmény sem látszik egy olyan útvonaltáblában, amely csak az általunk telepített előtagot mutatja.

Első eset: az intervallum véletlenül igazított

Vegyük a 198.51.100.64-től 198.51.100.127-ig terjedő tartományt. Az első cím egy 64 címből álló határra igazodik, és az intervallum pontosan 64 cím, ezért egyetlen /26 maradéktalanul leírja.

Ez a könnyű eset, és érdemes felismerni, mert azt jelenti, hogy a követelményt valószínűleg olyan ember írta, aki már előtagokban gondolkodott. Azt is jelenti, hogy az ellenőrzés rövid: erősítse meg, hogy a méret kettő hatványa, és hogy a kezdet ennek a méretnek a többszöröse.

A dokumentációs tartományok azért adnak jó példákat, mert senki sem birtokolja őket. Ne telepítse ezeket a címeket valódi alagútra, és ne feltételezze, hogy egy kapott tartomány dokumentációs tér, csak mert szokatlannak tűnik.

Második eset: nem az, tehát bontsa fel

Most vegyük a 198.51.100.100-tól 198.51.100.107-ig terjedő tartományt. Ez nyolc cím, ami kettő hatványa, de a 100 nem többszöröse a nyolcnak. Egy ekkora blokk nem kezdődhet ott, ezért az intervallumot több mint egy blokkal kell lefedni.

A pontos lefedés két /30-as blokk: a 198.51.100.100/30 a 100-tól 103-ig terjedő címeket fedi le, a 198.51.100.104/30 pedig a 104-től 107-ig terjedőket. Összesen nyolc cím, semmi az intervallumon kívül, és a felbontás egy adott intervallumra nézve egyedi.

python3 -c "from ipaddress import ip_address, summarize_address_range as s; print(*s(ip_address('198.51.100.100'), ip_address('198.51.100.107')), sep='\n')"

A szabványos könyvtár függvénye elvégzi a számítást Ön helyett, és az ipaddress dokumentáció meghatározza, mit ad vissza. Amit nem tesz meg, az az átjáró kiválasztása, annak eldöntése, kié a címek, vagy a hozzáférés megadása bármely mögötte lévő szolgáltatáshoz.

Mérje meg, mit fogott volna a szélesebb előtag

Mielőtt elfogad egy rövidítést, számítsa ki, mennyibe kerül. A 198.51.100.96-nál kezdődő /28 a 96-tól 111-ig terjedő címeket fedi le, ami nyolc helyett tizenhat cím. A további nyolc a 96-tól 99-ig és a 108-tól 111-ig terjedő cím, és mindegyikük örökölné az útvonalat.

python3 -c "from ipaddress import ip_network as n; w=set(n('198.51.100.96/28')); t=set(n('198.51.100.100/30'))|set(n('198.51.100.104/30')); print(len(w), len(t), sorted(w-t))"

Nyolc további cél konkrét szám, amelyet be lehet írni egy változási kérelembe. Ez az a szám is, amely eldönti, elfogadható-e a rövidítés, és ez szabályzat kérdése, nem számításé.

Tartsa külön a számítást és a feltárást. A hálózatüzemeltető által adott intervallum pontosan átalakul. Egy változó szolgáltatás egyetlen DNS-válasza nem bizonyítja a szolgáltatás teljes vagy állandó tartományát, és a nem kapcsolódó nevek megoszthatnak egy címet.

Telepítse a pontos halmazt, és ellenőrizze a széleket

Adja át az egyes létrejött előtagokat a VPN-konfiguráció tulajdonosának, és hagyja, hogy a támogatott mechanizmuson keresztül telepítse. Ha a követelmény két bejegyzést igényel, tartson meg kettőt, ahelyett hogy egyet kiszélesítene egy űrlap rövidítéséért.

sudo ip route add 198.51.100.100/30 via 10.90.0.1 dev tun0
sudo ip route add 198.51.100.104/30 via 10.90.0.1 dev tun0
ip route get 198.51.100.101
ip route get 198.51.100.97

Az utolsó két parancs az, amelyet az emberek kihagynak. Az első belső címnek követnie kell az új útvonalat, a közvetlenül az intervallumon kívüli címnek pedig nem. Ha mindkettő ugyanazon az úton megy, az intervallum valahol a követelmény és a konfiguráció között kiszélesedett.

Rögzítse az első címet, az utolsó címet és az ezeket kifejező előtagokat. A szabályt következőként átvizsgáló személy így a számítás megismétlése nélkül vetheti össze a követelményt a konfigurációval, és a pontos és a kényelmes útvonal közötti különbség látható marad.

Kapcsolódó cikkek