Kuidas kavandada VPN-klientide aadressikogumit, mis sobib
Valige kogum serveri väljal, seejärel lugege aadress, mille klient tegelikult saab, jälgige vastust tagasi ning kirjutage üles vahemik, režiim, marsruut ja DNS-i ulatus.
Alustage VPN-serveri kogumi väljalt, mitte arvutustabelist. See, mille sinna sisestate, saab sisemiseks aadressiruumiks iga kliendi jaoks, kes hiljem ühendub, ja see peab koos eksisteerima LAN-iga, kuhu need kliendid jõuavad, selle taga olevate marsruuditud saidikohtadega ja aadressiga, mis kliendil juba kodus on. Ühendage üks klient kohe, kui kogum on salvestatud, sest see esimene ühendus ütleb teile, kas väärtus praktikas töötab. Sealt liigub läbivaatus väljapoole: aadress, mille klient sai, tee, mida vastus läbib, ja kirje, mille järele jätate.
Alustage kogumi väljalt enne, kui ükski klient ühendub
Iga toode esitab seda erinevalt, seega leidke objekt, mis aadresse tegelikult määrab. OpenVPN-il on serveripoolne kogumi direktiiv, mis jagab järgmise vaba aadressi, IKEv2-lüüsil on partneri konfiguratsiooniga seotud kogumi sektsioon, ja WireGuardil pole kumbagi, sest iga partner kannab oma aadressi oma konfiguratsioonifailis. Kogumi direktiiv ja partneripõhine aadress ei ole vahetatavad ning vale redigeerimine raiskab ülejäänud läbivaatuse.
Kui väli on käes, loetlege vahemikud, mis juba olemas on: kontori LAN, iga marsruuditud sait, pilve-VPC ja iga muu kogum, mis veel töös on. Kattuvuse otsustab prefiksi aritmeetika, mitte see, kas hostinumbrid tunduvad tuttavad, seega võrrelge agregaati kõigi nende vahemikega. Kaks vahemikku, mis mõlemad näevad välja nagu 10.x, on kahjutud, kui nende agregaadid ei lõiku, ja tugijuhtum, kui lõikuvad.
Seejärel otsustage, kas aadress on selle funktsioon, kes ühendub, või selle, millal ühendutakse. Dünaamiline määramine jagab seda, mis on vaba, identiteedipõhine määramine seob fikseeritud aadressi volitustega. Kirjutage valik üles, sest see muudab seda, milline peaks uuesti ühendamine hiljem välja nägema.
Lugege aadress, mille klient tegelikult sai
Ühendage üks klient ja lugege, mida tunnel teatab, mitte mida kogum lubas. Klient näitab oma sisemist aadressi ühenduse olekus ja Linuxis kannab liides seda otse.
Võrrelge seda aadressi salvestatud vahemikuga. Kui see on vahemikust väljas, vaatate teist määramisteed kui see, mida redigeerisite. Kontrollige ka prefiksi pikkust, sest kliendil, kellel on /32, pole lingil partnerit ja ta saadab iga sihtkoha oma vaikemarsruudi kaudu.
ip -4 addr show tun0
ip route get 192.168.50.20
Klient, kes ühendub koduruuterist, mis kasutab sama vahemikku, ühendub ja ei jõua seejärel peaaegu kuhugi. Klient hoiab selle prefiksi jaoks oma kohalikku marsruuti, seega tunneliaadress põrkab kokku selle taga oleva võrguga ja liiklus väljub vale liidese kaudu. Seda juhtumit ei saa serveris parandada; dokumenteeritud abinõu on koduvõrgu ümbernumerdamine või piisavalt kaugel asuva kogumi vahemiku valimine, et kokkupõrked jääksid harvaks. Kirjutage üles nii rike kui ka abinõu, sest kasutajatugi kohtab seda uuesti.
Ühendage sama klient uuesti ja jälgige aadressi. Dünaamiline kogum võib tagastada sama või erineva väärtuse ja mõlemad on õiged, samas kui identiteedipõhine kogum, mis aadressi muudab, ei austa sidumist. See kontroll võtab sekundeid ja otsustab, kas esimeses osas kirja pandud režiim on kehtiv režiim.
Jälgige vastust teenusest tagasi
Kogum töötab ainult siis, kui vastused saavad sinna tagasi reisida. LAN-is olev teenus vastab sisemisele aadressile, seega vajab selle lüüs kogumi jaoks marsruuti või teenuse ees tõlget. Kui päring saabub tunnelist ja vastus lahkub teist teed, viskab olekut jälgiv tulemüür või pöördtee kontroll selle kõrvale ning klient näeb teenust, mis ühendub ja siis hangub. Pange kogum marsruutimise kavandisse ühe kokkuvõetava plokina, selle asemel et lisada marsruute iga hosti kohta.
Tõlge muudab seda, mida ülejäänud süsteem näeb. Kui allikas kirjutatakse ümber, on aadress hosti tulemüüris ja rakenduse logis tõlgitud, seega kogumi aadressi vastu kirjutatud reegel ei vasta millelegi ja logirida ei ole kliendini jälgitav. strongSwan-i edastamise dokumentatsioon katab selle tee serveripoolse poole IKEv2-lüüsi jaoks. DNS kannab sama piirangut, sest nimi, mis lahendub aadressiks, mida klient ei saa kätte, nurjub hiljem ja mujal.
Kaks klienti, seejärel üks tühistamine
Ühendage korraga kaks klienti ja lugege mõlemad aadressid. Need peavad olema erinevad, kasutatavad ja kogumi sees ning kumbki peab jõudma teenusesse, mille jaoks see on mõeldud. Kogum, mis jagab duplikaataadresse, ilmneb tavaliselt siin, mitte esimeses ühe kliendi testis.
Tühistage üks volitus, kui teine klient jääb ühendatuks, seejärel proovige teenust ellujäänud kliendist. Tühistamine, mis häirib teist seanssi, viitab jagatud olekule, kõige sagedamini ühele volitusele või ühele aadressile, mida seadmete vahel korduvalt kasutatakse. Ühendage tühistatud klient uuesti ja kinnitage, et talle keeldutakse, mitte ei anta vabastatud aadressi.
Lõpetage sihtkohaga, mida peakski keelatama. Klient, kes jõuab kõikjale, on ühendatud, mitte testitud.
Kirjutage need neli väärtust sinna, kust järgmine muudatus need leiab
Kirje on lühike: kogumi vahemik ja prefiks, määramisrežiim, tagasitee või tõlge kasutuses ja DNS-i ulatus, mis nende sihtkohtade eest vastab. Pange see serveri konfiguratsiooni kõrvale, mitte piletisse, ja dateerige see. Igaüks, kes hiljem üht neljast muudab, vajab teist kolme enda ees, sest kogumi suuruse muutmine murrab marsruudi ja marsruudi muutmine murrab DNS-vastuse.
Hoidke selle juures omandimärkust: tunnelivahemik kuulub VPN-serverile ja LAN-i DHCP-vahemikus tehtud broneering ei broneeri tunnelis olevale kliendile midagi. See üks rida hoiab ära kõige tavalisema ümbertegemise, kus keegi lisab broneeringu ja eeldab, et tunneliaadress järgib seda.