Tucha tehnilise toe kirjades sünnivad tõelised artiklid. Nii küsis hiljuti meilt klient, et selgitada, mis juhtub VPN-tunneli ühendustes kasutaja kontori ja pilves oleva keskkonna vahel ning samuti väljaspool VPN-tunnelit. Seega on kogu allpool toodud tekst reaalne kiri, mille saatsime ühele meie kliendile vastuseks tema küsimusele. Loomulikult muutsime IP-aadresse, et mitte deanonüümida klienti. Jah, Tucha tehnilise toe teenus on tõepoolest tuntud oma põhjalike vastuste ja sisukate kirjade poolest. 🙂
Muidugi mõistame, et paljudele ei tohiks see artikkel olla avastus. Kuid kuna Habris ilmub aeg-ajalt algajatele administraatoritele mõeldud artikleid, ning arvestades, et see artikkel pärineb tõelisest kirjast tõelisele kliendile, jagame seda teavet ikka siin. On suur tõenäosus, et see on kellegile kasulik.
Seetõttu selgitame üksikasjalikult, mis juhtub pilve serveri ja kontori vahel, kui need on ühendatud site-to-site võrguga. Samuti märkime, et selles osas on osa teenustest saadaval ainult kontorist ja osa - kust tahes Interneti-võrgust.
Selgitame kohe, et meie klient soovis, et serverilt 192.168.A.1 saaks RDP kaudu ühendust võtta kust tahes, ühendudes A.A.A.2:13389, samal ajal kui teiste teenustega sai ühendust võtta ainult kontorist (192.168.B.0/24), mis oli ühendatud kaudu VPN. Samuti oli kliendil algselt seadistatud, et masina 192.168.B.2 kontoris võiks RDP kaudu ühendust võtta kust tahes, ühendudes B.B.B.1:11111. Aitasime organiseerida IPSec-ühendusi pilve ja kontori vahel ning kliendi IT-spetsialist hakkas esitama küsimusi selle kohta, mis juhtub sellistes või sellistes olukordades. Et vastata kõikidele nendele küsimustele, kirjutasimegi tegelikult sellele kliendile kõik selle, mida saate allpool lugeda.

Nüüd vaatame neid protsesse detailsemalt.
Esimene positsioon
Kui midagi saadetakse aadressilt 192.168.B.0/24 ja 192.168.A.0/24 või 192.168.A.0/24 ja 192.168.B.0/24, siis see satub VPN-i. See tähendab, et see pakett krüpteeritakse täiendavalt ja edastatakse B.B.B.1 ja A.A.A.1, kuid 192.168.A.1 näeb paketti just aadressilt 192.168.B.1. Nad saavad suhelda omavahel mistahes protokollide kaudu. Tagasi saadetud vastused edastatakse samuti VPN-i kaudu, mis tähendab, et pakett aadressilt 192.168.A.1 jaoks 192.168.B.1 saadetakse ESP-datagrammina aadressilt A.A.A.1 . Tundub, et B.B.B.1, mille teisel pool marsruuter seda käitama hakkab, väljastab sellest paketi ja toimetab selle 192.168.B.1 kui pakett 192.168.A.1.
Konkreetne näide:
1) 192.168.B.1 kutsutakse 192.168.A.1, soovib loobuda TCP-ühendusest 192.168.A.1:3389;
2) 192.168.B.1 saadab ühenduse loomise päringu 192.168.B.1:55555 (tagasiside port valib ta ise, siin ja edaspidi kasutame numbrit 55555 näiteks, mida süsteem valib TCP-ühenduse loomise käigus) aadressile 192.168.A.1:3389;
3) operatsioonisüsteem, mis töötab arvutis, millel on aadress 192.168.B.1, otsustab edastada selle paketi marsruuteri puhveraadressile (192.168.B.254 meie puhul), sest tal ei ole muid, spetsiifilisemaid marsruute 192.168.A.1, seega edastab ta paketi vaikimisi marsruuti pidi (0.0.0.0/0);
4) selleks püüab ta leida MAC-aadressi IP-aadressile 192.168.B.254 ARP protokolli puhvermälus. Kui see ei leidu, saadab aadressilt 192.168.B.1 laiali saadetud who-has päringu võrku 192.168.B.0/24. Kui 192.168.B.254 vastuseks saadetakse talle MAC-aadress, süsteem edastab Ethernet-paketi ja salvestab selle teabe oma puhvermälusse;
5) marsruuter võtab selle paketi vastu ja otsustab, kuhu see edastada: tal on kehtestatud poliitika, mille kohaselt peab ta edastama kõik paketid 192.168.B.0/24 ja 192.168.A.0/24 VPN-ühendusel B.B.B.1 ja A.A.A.1;
6) marsruuter loob ESP-datagrammi B.B.B.1 . Tundub, et A.A.A.1;
7) marsruuter otsustab, kellele see pakett edastada, saadab selle näiteks B.B.B.254 (internetti pakkuja marsruutimine), sest tal ei ole spetsiifilisemaid marsruute A.A.A.1, kui 0.0.0.0/0;
8) sama moodi, nagu juba öeldi, leiab ta MAC-aadressi B.B.B.254 ja edastab paketi interneti pakkujale;
9) interneti pakkujad edastavad oma võrkude kaudu ESP-datagrammi B.B.B.1 . Tundub, et A.A.A.1;
10) virtuaalne marsruuter A.A.A.1 võtab selle datagrammi vastu, dekrüpteerib selle ja saab paketi 192.168.B.1:55555 jaoks 192.168.A.1:3389;
11) virtuaalne marsruuter kontrollib, kellele seda edastada, leiab marsruuditabelist võrgu 192.168.A.0/24 ja saadab selle otse 192.168.A.1, kuna tal on liides 192.168.A.254/24;
12) selleks leiab virtuaalne marsruuter MAC-aadressi 192.168.A.1 ja edastab selle paketi virtuaalse Ethernet-võrgu kaudu;
13) 192.168.A.1 saab selle paketi porti 3389, nõustub ühenduse looma ja loob vastupaketi 192.168.A.1:3389 . Tundub, et 192.168.B.1:55555;
14) tema süsteem edastab selle paketi virtuaalse marsruuteri puhveraadressile (192.168.A.254 meie puhul), sest tal ei ole muid, spetsiifilisemaid marsruute 192.168.B.1, tal ei ole, seega peab ta edastama paketi vaikimisi marsruuti pidi (0.0.0.0/0);
15) nagu eelnevatel juhtudel, süsteem, mis töötleb serveris, mille aadress on 192.168.A.1, leiab MAC-aadressi 192.168.A.254, kuna see on samas võrgus tema liidesega 192.168.A.1/24;
16) virtuaalne marsruuter võtab selle paki vastu ja otsustab, kuhu see edastada: tal on välja töötatud poliitika, mille kohaselt peab ta edastama kõik paketid nende vahel 192.168.A.0/24 ja 192.168.B.0/24 VPN-ühendusel A.A.A.1 ja B.B.B.1;
17) virtuaalne marsruuter koostab ESP-datagrammi aadressilt A.A.A.1 jaoks B.B.B.1;
18) virtuaalne marsruuter otsustab, kellele see pakett edastatakse, ja saadab selle aadressile A.A.A.254 (internetiteenuse pakkuja värav, antud juhul oleme meie), kuna spetsiifilisemaid marsruute pole B.B.B.1, kui 0.0.0.0/0;
19) internetiteenuse pakkujad edastavad oma võrkudes ESP-datagrammi koos A.A.A.1 . Tundub, et B.B.B.1;
20) marsruuter aadressil B.B.B.1 võtab selle datagrammi vastu, dekrüpteerib selle ja saab paketi 192.168.A.1:3389 jaoks 192.168.B.1:55555;
21) ta mõistab, et see tuleb edastada just sellele aadressile 192.168.B.1, kuna see on temaga samas võrgus, seetõttu on tal marsruuditabelis vastav kirje, mis sunnib teda edastama pakette kogu 192.168.B.0/24 otse;
22) marsruuter leiab MAC-aadressi aadressile 192.168.B.1 ja edastab talle selle paki;
23) operatsioonisüsteem arvutis, mille aadress on 192.168.B.1 võtab paki vastu aadressilt 192.168.A.1:3389 jaoks 192.168.B.1:55555 ja algatab järgmised sammud TCP-ühenduse loomiseks.
Selles näites on lühidalt ja lihtsustatud (ja siin saab meenutada veel hulganisti detaile) kirjeldatud, mis juhtub tasemetel 2-4. Tasemed 1, 5-7 ei ole käsitletud.
Teine positsioon
Kui aadressile 192.168.B.0/24 saadetakse midagi aeg-ajalt aadressile A.A.A.2, see ei lähe VPN-i, vaid otse. See tähendab, et kui kasutaja aadressilt 192.168.B.1 kutsutakse A.A.A.2:13389, see pakett jõuab aadressile B.B.B.1, läbib aadressile A.A.A.2, ja seal marsruuter võtab selle vastu ja edastab aadressile 192.168.A.1. 192.168.A.1 ei tea midagi aadressist 192.168.B.1, ta näeb paketti aadressilt B.B.B.1, kuna see on temalt saadud. Seetõttu see päringule vastamine toimub tavalisel marsruudil, see jõuab samuti aadressile A.A.A.2 ja läheb adresile B.B.B.1, ja see marsruuter edastab vastuse aadressile 192.168.B.1, see näeb vastust aadressilt A.A.A.2, kellele ta pöördus.
Konkreetne näide:
1) 192.168.B.1 kutsutakse A.A.A.2, soovib loobuda TCP-ühendusest A.A.A.2:13389;
2) 192.168.B.1 saadab ühenduse loomise päringu 192.168.B.1:55555 (see number võib, nagu eelnevas näites, olla teine) aadressile A.A.A.2:13389;
3) operatsioonisüsteem, mis töötab arvutis, millel on aadress 192.168.B.1, otsustab edastada selle paketi marsruuteri puhveraadressile (192.168.B.254 meie puhul), sest tal ei ole muid, spetsiifilisemaid marsruute A.A.A.2, teda ei ole, seega edastab ta paketi vaikimisi marsruudil (0.0.0.0/0);
4) selleks, nagu me eelnevas näites mainisime, proovib ta leida MAC-aadressi IP-aadressile 192.168.B.254 ARP protokolli puhvermälus. Kui see ei leidu, saadab aadressilt 192.168.B.1 laiali saadetud who-has päringu võrku 192.168.B.0/24. Kui 192.168.B.254 vastuseks saadetakse talle MAC-aadress, süsteem edastab Ethernet-paketi ja salvestab selle teabe oma puhvermälusse;
5) marsruuter võtab selle paketi vastu ja otsustab, kuhu see edastatakse: tal on välja töötatud poliitika, mille kohaselt peab ta edastama kõik pakettide need aadressilt 192.168.B.0/24 teistesse Interneti võrgupunktidesse;
6) kuna see poliitika eeldab, et tagasiside aadress peab olema sama, mis madalama aadressiga liidese aadress, mille kaudu see pakett edastatakse, suunab ruuter esmalt paketi otse edasi. Ta peab, nagu eelnevas näites, selle saatma B.B.B.254 (internetti pakkuja marsruutimine), sest tal ei ole spetsiifilisemaid marsruute A.A.A.2, kui 0.0.0.0/0;
7) seega asendab ruuter paketi tagasiside aadressi, nüüd saatisfaction pakett B.B.B.1:44444 (porti number võib muidugi olla teine) aadressile A.A.A.2:13389;
8) ruuter mäletab, et ta selle tegi, seega, kui A.A.A.2:13389 aadressile B.B.B.1:44444 tuleb vastus, teab ta, et peab muutma saaja aadressi ja porti 192.168.B.1:55555.
9) nüüd peab ruuter edastama selle interneti teenusepakkujale läbi B.B.B.254, seega sama moodi, nagu me juba mainisime, leiab ta MAC-aadressi B.B.B.254 ja edastab paketi interneti pakkujale;
10) interneti teenusepakkujad edastavad oma võrkudes paketti B.B.B.1 . Tundub, et A.A.A.2;
11) virtuaalne ruuter aadressil A.A.A.2 vastab sellele paketile pordil 13389;
12) virtuaalsel ruuteril on reegel, mis käseb edastada pakkumisi, mis on saabunud igalt saatjalt sellele pordile 192.168.A.1:3389;
13) virtuaalne ruuter leiab marsruuterimistabelist võrgu 192.168.A.0/24 ja saadab selle otse 192.168.A.1, kuna tal on liides 192.168.A.254/24;
14) selleks leiab virtuaalne ruuter MAC-aadressi 192.168.A.1 ja edastab selle paketi virtuaalse Ethernet-võrgu kaudu;
15) 192.168.A.1 saab selle paketi porti 3389, nõustub ühenduse looma ja loob vastupaketi 192.168.A.1:3389 . Tundub, et B.B.B.1:44444;
16) tema süsteem edastab selle paketi virtuaalse ruuteri värava aadressile (192.168.A.254 meie puhul), sest tal ei ole muid, spetsiifilisemaid marsruute B.B.B.1, tal ei ole, seega peab ta edastama paketi vaikimisi marsruuti pidi (0.0.0.0/0);
17) sama moodi nagu eelnevates juhtumites, süsteem, mis töötab serveril aadressiga 192.168.A.1, leiab MAC-aadressi 192.168.A.254, kuna see on samas võrgus tema liidesega 192.168.A.1/24;
18) virtuaalne ruuter võtab selle paketi vastu. Tuleb märkida, et ta mäletab, et sai aadressilt A.A.A.2:13389 paketi ja muutis saaja aadressi ja porti B.B.B.1:44444 , seega paketi puhul aadressilt 192.168.A.1:3389muudab ta saatja aadressi 192.168.A.1:3389 jaoks B.B.B.1:44444 19) virtuaalne ruuter otsustab, kellele see pakett edastada, saadab selle A.A.A.2:13389;
20) interneti teenusepakkujad edastavad oma võrkudes paketti aadressiga A.A.A.254 (internetiteenuse pakkuja värav, antud juhul oleme meie), kuna spetsiifilisemaid marsruute pole B.B.B.1, kui 0.0.0.0/0;
21) ruuter aadressil A.A.A.2 . Tundub, et B.B.B.1;
võtab selle paketi vastu ja meenutab, et kui ta edastas paketi aadressilt B.B.B.1 , muutis ta saadetise aadressi ja porti 192.168.B.1:55555 jaoks A.A.A.2:13389, seega on see vastus, mis tuleb edastada aadressile B.B.B.1:44444(tegelikult on seal veel paar kontrolli, kuid me ei süvene sellesse); 192.168.B.1:55555 22) ta mõistab, et see tuleks edastada otse aadressile
, kuna see on temaga samas võrgus, seega peab tal olema marsruuterimistabelis vastav kirje, mis sunnib pakette edastama kõigile 192.168.B.1, поскольку тот находится с ним в одной сети, следовательно, у того есть в таблице маршрутизации соответствующая запись, которая заставляет отправлять пакеты для всей 192.168.B.0/24 otse;
23) ruuter leiab MAC-aadressi 192.168.B.1 ja edastab talle selle paki;
24) operatsioonisüsteem arvutis, mille aadress on 192.168.B.1 võtab paki vastu aadressilt A.A.A.2:13389 jaoks 192.168.B.1:55555 ja algatab järgmised sammud TCP-ühenduse loomiseks.
Tuleb märkida, et sel juhul ei tea arvuti, mille aadress on 192.168.B.1 serverist, mille aadress on 192.168.A.1, see suhtleb ainult A.A.A.2. Samamoodi ei tea server, mille aadress on 192.168.A.1 aru, et seda on ühendatud aadressilt 192.168.B.1, ta arvab, et seda on ühendatud aadressilt B.B.B.1, muust ei tea ta midagi.
Samuti tuleb märkida, et juhul, kui see arvuti pöördub A.A.A.2:1540, ei saa ühendust luua, kuna ühenduste edastamine pordile 1540 ei ole seadistatud virtuaalses ruuteris, isegi kui mõnes serveris virtuaalses võrgus 192.168.A.0/24 (näiteks serveris, mille aadress on 192.168.A.1) ning seal on teenuseid, mis ootavad ühendust sellel pordil. Kui arvuti kasutajal, mille aadress on 192.168.B.1 , on äärmiselt vajalik luua ühendus selle teenusega, peab ta kasutama VPN-i, st pöörduma otse 192.168.A.1:1540.
Tuleb rõhutada, et kõik katsed luua ühendus A.A.A.1 (välja arvatud IPSec-ühendus poolelt B.B.B.1 ) ei õnnestu. Kõik katsed luua ühendusi A.A.A.2, välja arvatud ühendused pordiga 13389, ei õnnestu samuti.
Samuti tuleb märkida, et juhul, kui keegi teine pöördub aadressile A.A.A.2 (näiteks C.C.C.C), siis kõik, mis on toodud punktides 10-20, kehtib ka tema kohta. Mis juhtub enne ja pärast seda, sõltub sellest, mis C.C.C.C. taga on. Me ei suuda sellist teavet anda, seetõttu soovitame pöörduda nõuannete saamiseks aadressi C.C.C.C. administraatorite poole.
Kolmas positsioon
Ja vastupidi, kui aadressile 192.168.A.1 saadetakse midagi mõnele pordile, mis on seadistatud edastama sisse B.B.B.1 (näiteks 11111), siis see ei satu ka VPN-i, vaid lihtsalt edastatakse aadressilt A.A.A.1 ja jõuab B.B.B.1, ning sealt edasi edastatakse see kuhugi, ütleme, 192.168.B.2:3389. See näeb seda paketti mitte aadressilt 192.168.A.1, vaid aadressilt A.A.A.1. Ja kui 192.168.B.2 vastab, siis pakett tuleb aadressilt B.B.B.1 . Tundub, et A.A.A.1, ja hiljem jõuab see ühenduse algatajale — 192.168.A.1.
Konkreetne näide:
1) 192.168.A.1 kutsutakse B.B.B.1, soovib loobuda TCP-ühendusest B.B.B.1:11111;
2) 192.168.A.1 saadab ühenduse loomise päringu 192.168.A.1:55555 (see number võib, nagu eelnevas näites, olla teine) aadressile B.B.B.1:11111;
3) operatsioonisüsteem, mis töötab serveris, mille aadress on 192.168.A.1, otsustab edastada selle paketi marsruuteri puhveraadressile (192.168.A.254 meie puhul), sest tal ei ole muid, spetsiifilisemaid marsruute B.B.B.1, seega edastab ta paketi vaikimisi marsruuti pidi (0.0.0.0/0);
4) selle jaoks proovib ta, nagu me eelnevalt mainisime, leida MAC-aadressi IP-aadressile 192.168.A.254 ARP protokolli puhvermälus. Kui see ei leidu, saadab aadressilt 192.168.A.1 laiali saadetud who-has päringu võrku 192.168.A.0/24. Kui 192.168.A.254 vastuseks saadab talle oma MAC-aadressi, süsteem edastab Ethernet-paketi selle jaoks ja salvestab selle teabe oma vahemälu tabelisse;
5) virtuaalne ruuter võtab seda paketti vastu ja otsustab, kuhu see edastada: tal on kirjas poliitika, mille kohaselt ta peab kõik paketid, mis on saadetud, tagastama (asendades tagasisaatja aadressi) 192.168.A.0/24 teistesse Interneti võrgupunktidesse;
6) kuna see poliitika eeldab, et tagasisaatja aadress peab vastama madalaima aadressiga liidesel, mille kaudu see pakett edastatakse, otsustab virtuaalne ruuter esmalt, kellele täpselt selle paketi edastada, ja ta peab nagu eelnevas näites saatma selle A.A.A.254 (internetiteenuse pakkuja värav, antud juhul oleme meie), kuna spetsiifilisemaid marsruute pole B.B.B.1, kui 0.0.0.0/0;
7) seega asendab virtuaalne ruuter paketi tagasisaatja aadressi, edaspidi on see pakett A.A.A.1:44444 (porti number võib muidugi olla teine) aadressile B.B.B.1:11111;
8) virtuaalne ruuter mäletab, mida ta tegi, seega, kui B.B.B.1:11111 jaoks A.A.A.1:44444 tuleb vastus, teab ta, et peab muutma saaja aadressi ja porti 192.168.A.1:55555.
9) nüüd peab virtuaalne ruuter edastama selle interneti teenuse pakkuja võrgusse läbi A.A.A.254, seega täpselt nii nagu me juba mainisime, leiab ta MAC-aadressi A.A.A.254 ja edastab paketi interneti pakkujale;
10) interneti teenusepakkujad edastavad oma võrkudes paketti A.A.A.1 B.B.B.1-lt;
11) ruuter B.B.B.1 võtab selle paketi vastu porti 11111;
12) virtuaalses ruuteris on reegel, mis sätestab, et paketid, mis on saadetud mõnelt saatjalt sellele pordile, tuleb edastada 192.168.B.2:3389;
13) ruuter leiab marsruutimistabelist võrgu 192.168.B.0/24 ja saadab selle otse 192.168.B.2, kuna tal on liides 192.168.B.254/24;
14) selleks leiab virtuaalne ruuter MAC-aadressi 192.168.B.2 ja edastab selle paketi virtuaalse Ethernet-võrgu kaudu;
15) 192.168.B.2 saab selle paketi porti 3389, nõustub ühenduse looma ja loob vastupaketi 192.168.B.2:3389 . Tundub, et A.A.A.1:44444;
16) tema süsteem edastab selle paketi ruuteri lüüsiaadressile (192.168.B.254 meie puhul), sest tal ei ole muid, spetsiifilisemaid marsruute A.A.A.1, tal ei ole, seega peab ta edastama paketi vaikimisi marsruuti pidi (0.0.0.0/0);
17) täpselt nii, nagu eelnevatel juhtudel, töötab süsteem, mis asub arvutil, mille aadress on 192.168.B.2, leiab MAC-aadressi 192.168.B.254, kuna see on samas võrgus tema liidesega 192.168.B.2/24;
18) ruuter võtab selle paketi vastu. Tuleb märkida, et ta mäletab, et on saanud B.B.B.1:11111 paketi ja muutis saaja aadressi ja porti A.A.A.1 , seega paketi puhul aadressilt 192.168.B.2:3389muudab ta saatja aadressi 192.168.B.2:3389 jaoks A.A.A.1:44444 19) virtuaalne ruuter otsustab, kellele see pakett edastada, saadab selle B.B.B.1:11111;
19) ruuter otsustab, kellele edastada see pakett. Ta saadab selle näiteks B.B.B.254 (interneti teenuse pakkuja lüüs, mille täpset aadressi me ei tea), kuna konkreetsemaid marsruute A.A.A.1, kui 0.0.0.0/0;
21) ruuter aadressil B.B.B.1 . Tundub, et A.A.A.1;
21) virtuaalne ruuter A.A.A.1 , muutis ta saadetise aadressi ja porti 192.168.A.1:55555 jaoks B.B.B.1:11111, seega on see vastus, mis tuleb edastada aadressile A.A.A.1:44444. Seega on see vastus, mis tuleb edastada 192.168.A.1:55555 (tegelikult, nagu juba eelnevalt mainisime, on seal veel mitmeid kontrolle, kuid seekord me neisse ei süüvi);
22) ta mõistab, et see tuleb edastada otse 192.168.A.1, kuna see asub temaga samas võrgus, seega on sellel marsruutimistabelis vastav kirje, mis sunnib teda edastama pakette kõikidele 192.168.A.0/24 otse;
23) ruuter leiab MAC-aadressi 192.168.A.1 ja edastab talle selle paki;
24) operatsioonisüsteem serveris, mille aadress on 192.168.A.1 võtab paki vastu aadressilt B.B.B.1:11111 jaoks 192.168.A.1:55555 ja algatab järgmised sammud TCP-ühenduse loomiseks.
Nagu eelnevas olukorras, on ka sel korral server, mille aadress on 192.168.A.1 aru, et seda on ühendatud aadressilt 192.168.B.1, see suhtleb ainult B.B.B.1. Arvutil, mille aadress on 192.168.B.1 ei tea samuti serverist, mille aadress on 192.168.A.1, ta arvab, et seda on ühendatud aadressilt A.A.A.1, aga ülejäänud on varjatud.
Kokkuvõte
Nii see kõik toimub kliendi kontori ja pilves olevate keskkondade vahel VPN-tunneli sees, samuti VPN-tunneli välisel ühendusel. Kui teil on küsimusi või vajate meie abi pilveprobleemide lahendamisel,
Allikas: habr.com
