En IP-Beräich vum éischten bis zum leschten Adress an exakt VPN-Routen ëmwandelen
E Beräich vum éischten bis zum leschten Adress passt seelen op ee Präfix. Wandelt en an exakt CIDR-Bléck ëm, sou datt eng Route keng Destinatiounen ausserhalb vum Intervall fänkt.
Een gëtt Iech eng éischt an eng lescht Adress a freet no enger VPN-Route. De verlockende Schrëtt ass dee kierzsten Präfix ze wielen, deen déi zwou Enner enthält, an dee Schrëtt füügt still Destinatiounen derbäi, no deenen keen gefrot huet. En CIDR-Block huet ëmmer eng Gréisst vun enger Potenz vun zwee an eng Startadress, déi dozou ausgeriicht ass, dofir brauch en arbiträren Intervall meeschtens méi wéi een. Gitt duerch den Intervall, deelt en exakt, an iwwerpréift dann d’Adressen direkt dobaussen.
Fänkt mam Intervall un, net mam Präfix
Schreift déi éischt Adress an déi lescht Adress op, ier Dir eppes anescht schreift. D’Paar ass d’Ufuerderung; e Präfix ass just eng méiglech Ausdrock dovun, an heiansdo eng falsch. Zwou Zuelen sinn och vill méi einfach ze kontrolléieren wéi eng Mask.
En ausgeriichten Intervall fällt zu engem eenzegen Block zesummen. En net ausgeriichten deelt sech a méi, an d’Deelung ass exakt an net ongeféier. Wat Dir net sollt maachen, ass no baussen ofzerunden an et gutt genuch ze nennen, well déi zousätzlech Adressen déi Politik kréien, déi d’Route dréit.
Béid Richtunge vum Feeler si wichteg. Fir eng Route an den Tunnel ginn zousätzlech Adressen an d’VPN gezunn. Fir eng Ëmwee-Ausnam sprange zousätzlech Adressen driwwer. Keng vun deenen zwou Resultater ass an enger Routentabell ze gesinn, déi just de Präfix weist, deen Dir installéiert hutt.
Éischte Fall: den Intervall ass zoufälleg ausgeriicht
Huelt 198.51.100.64 bis 198.51.100.127. Déi éischt Adress ass op enger Grenz vun 64 Adressen ausgeriicht an den Intervall ass genau 64 Adressen, dofir beschreift een eenzegen /26 en ouni Iwwerrescht.
Dat ass dee liichte Fall an et ass derwäert en ze erkennen, well et heescht, datt d’Ufuerderung wahrscheinlech vun engem geschriwwe gouf, dee schonn a Präfixer geduecht huet. Et heescht och, datt d’Kontroll kuerz ass: bestätegt, datt d’Gréisst eng Potenz vun zwee ass an den Ufank e Villfacht vun där Gréisst.
Dokumentatiounsberäicher ginn gutt Beispiller just well keen se besëtzt. Installéiert dës Adressen net op engem richtegen Tunnel a gitt net dovun aus, datt e Beräich, deen Dir kritt hutt, Dokumentatiounsraum ass, just well en ongewéinlech ausgesäit.
Zweete Fall: et ass net, also deelt en
Huelt elo 198.51.100.100 bis 198.51.100.107. Dat sinn aacht Adressen, wat eng Potenz vun zwee ass, awer 100 ass kee Villfacht vun aacht. Een eenzegen Block vun där Gréisst kann do net ufänken, dofir muss den Intervall vun méi wéi engem ofgedeckt ginn.
Déi exakt Ofdeckung sinn zwee /30-Bléck: 198.51.100.100/30 deckt 100 bis 103 of, an 198.51.100.104/30 deckt 104 bis 107 of. Aacht Adressen am Ganzen, näischt ausserhalb vum Intervall, an d’Deelung ass eenzegaarteg fir en uginn Intervall.
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')"
D’Funktioun vun der Standardbibliothéik mécht d’Arithmetik fir Iech, an d’ipaddress-Dokumentatioun definéiert, wat se zréckgëtt. Wat se net mécht, ass e Gateway auswielen, entscheeden wiem d’Adressen gehéieren, oder Zougang zu engem Service dohannert ginn.
Miisst, wat de breetere Präfix gefaangen hätt
Ier Dir eng Ofkierzung akzeptéiert, berechent, wat se kascht. En /28, deen op 198.51.100.96 ufänkt, deckt 96 bis 111 of, dat sinn siechzéng Adressen amplaz aacht. Déi zousätzlech aacht sinn 96 bis 99 an 108 bis 111, an all eenzel dovun hätt d’Route geierft.
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))"
Aacht zousätzlech Destinatiounen ass eng konkret Zuel, déi Dir an eng Ännerungsufro kënnt setzen. Et ass och déi Zuel, déi entscheet, ob d’Ofkierzung akzeptabel ass, an dat ass eng Fro vun der Politik an net vun der Arithmetik.
Hält Arithmetik an Entdeckung getrennt. En Intervall, dee vum Netzwierkbedreiwer geliwwert gëtt, gëtt exakt ëmgewandelt. Eng eenzeg DNS-Antwert vun engem sech ändernde Service beleet net de kompletten oder permanente Beräich vun deem Service, an onverbonnen Nimm kënnen eng Adress deelen.
Installéiert de genee Saz a verifizéiert d’Ränner
Gitt all resultéierende Präfix un deen, deen d’VPN-Konfiguratioun besëtzt, a loosst en duerch de ënnerstëtzte Mechanismus installéieren. Wann d’Ufuerderung zwou Entréë brauch, hält zwou Entréën, amplaz eng ze verbreeden, fir en Formulaire méi kuerz ze maachen.
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
Déi lescht zwou Kommandoen sinn déi, déi d’Leit iwwersprangen. Déi éischt bannenzeg Adress soll déi nei Route verfollegen, an d’Adress direkt ausserhalb vum Intervall soll dat net. Wann béid dee selwechte Wee ginn, gouf den Intervall irgendwou tëscht der Ufuerderung an der Konfiguratioun verbreet.
Notéiert déi éischt Adress, déi lescht Adress an d’Präfixer, déi se ausdrécken. Déi nächst Persoun, déi d’Regel iwwerpréift, kann dann d’Ufuerderung mat der Konfiguratioun vergläichen, ouni d’Arithmetik nach eng Kéier ze maachen, an den Ënnerscheed tëscht enger exakter an enger bequemer Route bleift sichtbar.