Čo sa stane na pripojeniach vo vnútri a mimo tunela VPN

Skutočné články sa rodia z listov technickej podpore Tucha. Nedávno nás napríklad oslovil klient so žiadosťou o objasnenie toho, čo sa deje počas pripojení vo vnútri tunela VPN medzi kanceláriou používateľa a cloudovým prostredím, ako aj počas pripojení mimo tunela VPN. Preto je celý text nižšie skutočný list, ktorý sme poslali jednému z našich klientov ako odpoveď na jeho otázku. Samozrejme boli zmenené IP adresy, aby nedošlo k deanonymizácii klienta. Ale áno, technická podpora Tucha je skutočne známa svojimi podrobnými odpoveďami a informatívnymi e-mailmi. 🙂

Samozrejme, chápeme, že pre mnohých tento článok nebude zjavením. Ale keďže sa na Habrovi z času na čas objavia články pre začínajúcich administrátorov a tiež keďže tento článok vyšiel zo skutočného listu skutočnému klientovi, aj tak sa tu o tieto informácie podelíme. Je vysoká pravdepodobnosť, že to bude niekomu užitočné.
Preto podrobne vysvetľujeme, čo sa stane medzi serverom v cloude a kanceláriou, ak sú prepojené sieťou typu site-to-site. Upozorňujeme, že niektoré služby sú dostupné iba z kancelárie a niektoré sú dostupné odkiaľkoľvek na internete.

Dovoľte nám hneď vysvetliť, čo náš klient na serveri chcel 192.168.A.1 môžete prísť odkiaľkoľvek cez RDP a pripojiť sa k AAA2:13389a prístup k ďalším službám len z kancelárie (192.168 0.B.24/XNUMX)pripojený cez VPN. Tiež klient mal pôvodne nakonfigurované, že auto 192.168.B.2 v kancelárii bolo tiež možné využívať RDP odkiaľkoľvek, pripojenie k BBB1:11111. Pomohli sme zorganizovať IPSec spojenia medzi cloudom a kanceláriou a IT špecialista zákazníka sa začal pýtať, čo by sa stalo v tom či onom prípade. Aby sme odpovedali na všetky tieto otázky, v skutočnosti sme mu napísali všetko, čo si môžete prečítať nižšie.

Čo sa stane na pripojeniach vo vnútri a mimo tunela VPN

Teraz sa pozrime na tieto procesy podrobnejšie.

Pozícia jedna

Keď sa niečo odosiela z 192.168.B.0/24 в 192.168.A.0/24 alebo z 192.168.A.0/24 в 192.168.B.0/24, dostane sa do VPN. To znamená, že tento paket je dodatočne šifrovaný a prenášaný medzi sebou BBB1 и AAA1Ale 192.168.A.1 vidí balík presne od 192.168.B.1. Môžu medzi sebou komunikovať pomocou akéhokoľvek protokolu. Spätné odpovede sa prenášajú rovnakým spôsobom cez VPN, čo znamená, že paket z 192.168.A.1 pre 192.168.B.1 bude odoslaný ako datagram ESP z AAA1 na BBB1, ktorý router na tej strane rozloží, vyberie z neho ten paket a odošle ho 192.168.B.1 ako balík od 192.168.A.1.

Konkrétny príklad:

1) 192.168.B.1 žiada o 192.168.A.1, chce nadviazať TCP spojenie s 192.168.A.1:3389;

2) 192.168.B.1 odošle žiadosť o pripojenie z 192.168.B.1:55555 (číslo portu pre spätnú väzbu si zvolí sám; ďalej budeme číslo 55555 používať ako príklad čísla portu, ktorý systém zvolí pri vytváraní TCP spojenia) na 192.168.A.1:3389;

3) operačný systém, ktorý beží na počítači s adresou 192.168.B.1, sa rozhodne poslať tento paket na adresu brány smerovača (192.168.B.254 v našom prípade), pretože iné, konkrétnejšie trasy pre 192.168.A.1, nemá, preto prenáša paket predvolenou cestou (0.0.0.0/0);

4) na tento účel sa snaží nájsť MAC adresu pre IP adresu 192.168.B.254 v tabuľke vyrovnávacej pamäte protokolu ARP. Ak sa nezistí, odošle z adresy 192.168.B.1 vysielať kto má požiadavku do siete 192.168.B.0/24. Kedy 192.168.B.254 ako odpoveď jej pošle svoju MAC adresu, systém pre ňu odošle ethernetový paket a túto informáciu zapíše do svojej vyrovnávacej tabuľky;

5) router prijme tento paket a rozhodne sa, kam ho prepošle: má písomnú politiku, podľa ktorej musí posielať všetky pakety medzi 192.168.B.0/24 и 192.168.A.0/24 prenos cez pripojenie VPN medzi BBB1 и AAA1;

6) router vygeneruje datagram ESP z BBB1 na AAA1;

7) router sa rozhodne, komu pošle tento paket, odošle ho napr. BBB254 (brána ISP), pretože existujú špecifickejšie trasy AAA1, ako 0.0.0.0/0, nemá;

8) presne to isté, ako už bolo povedané, nájde MAC adresu pre BBB254 a odošle paket do ISP brány;

9) Poskytovatelia internetu prenášajú datagram ESP z BBB1 na AAA1;

10) zapnutý virtuálny smerovač AAA1 prijme tento datagram, dešifruje ho a prijme paket od 192.168.B.1:55555 pre 192.168.A.1:3389;

11) virtuálny router skontroluje, komu ho má odovzdať, nájde sieť v smerovacej tabuľke 192.168.A.0/24 a pošle ho priamo na 192.168.A.1, pretože má rozhranie 192.168.A.254/24;

12) na tento účel virtuálny smerovač nájde MAC adresu 192.168.A.1 a odošle mu tento paket cez virtuálnu ethernetovú sieť;

13) 192.168.A.1 prijme tento paket na porte 3389, súhlasí s vytvorením spojenia a ako odpoveď vygeneruje paket 192.168.A.1:3389 na 192.168.B.1:55555;

14) jeho systém odošle tento paket na adresu brány virtuálneho smerovača (192.168.A.254 v našom prípade), pretože iné, konkrétnejšie trasy pre 192.168.B.1, nemá, preto musí paket preniesť predvolenou cestou (0.0.0.0/0);

15) rovnako ako v predchádzajúcich prípadoch, systém, ktorý beží na serveri s adresou 192.168.A.1, nájde MAC adresu 192.168.A.254, pretože je v rovnakej sieti s jej rozhraním 192.168.A.1/24;

16) virtuálny smerovač prijme tento paket a rozhodne sa, kam ho prepošle: má písomnú politiku, podľa ktorej musí posielať všetky pakety medzi 192.168.A.0/24 и 192.168.B.0/24 prenos cez pripojenie VPN medzi AAA1 и BBB1;

17) virtuálny smerovač generuje datagram ESP z AAA1 pre BBB1;

18) virtuálny smerovač rozhodne, komu tento paket pošle, odošle ho AAA254 (brána ISP, v tomto prípade sme to aj my), pretože existujú špecifickejšie cesty BBB1, ako 0.0.0.0/0, nemá;

19) Poskytovatelia internetu prenášajú datagram ESP cez svoje siete s AAA1 na BBB1;

20) smerovač zapnutý BBB1 prijme tento datagram, dešifruje ho a prijme paket od 192.168.A.1:3389 pre 192.168.B.1:55555;

21) je si vedomý toho, že by mal byť prenesený konkrétne na 192.168.B.1, keďže je s ním v rovnakej sieti, má teda v smerovacej tabuľke zodpovedajúci záznam, ktorý ho núti posielať pakety za celý 192.168.B.0/24 priamo;

22) router nájde MAC adresu pre 192.168.B.1 a odovzdá mu tento balík;

23) operačný systém na počítači s adresou 192.168.B.1 dostane balík od 192.168.A.1:3389 pre 192.168.B.1:55555 a inicializuje ďalšie kroky na vytvorenie pripojenia TCP.

Tento príklad celkom výstižne a zjednodušene (a tu si môžete spomenúť na kopu ďalších detailov) popisuje, čo sa deje na úrovniach 2-4. Úrovne 1, 5-7 sa neberú do úvahy.

Pozícia dva

Ak s 192.168.B.0/24 niečo sa posiela konkrétne AAA2, nejde do VPN, ale priamo. Teda ak užívateľ z adresy 192.168.B.1 žiada o AAA2:13389, tento paket pochádza z adresy BBB1, odovzdáva AAA2a potom ho smerovač prijme a odošle do 192.168.A.1. 192.168.A.1 o ničom nevie 192.168.B.1, vidí balík od BBB1, pretože ho dostal. Preto odpoveď na túto požiadavku ide po všeobecnej trase, prichádza z adresy rovnakým spôsobom AAA2 a ide do BBB1a smerovač túto odpoveď odošle 192.168.B.1, vidí odpoveď od AAA2, ktorému sa prihovoril.

Konkrétny príklad:

1) 192.168.B.1 žiada o AAA2, chce nadviazať TCP spojenie s AAA2:13389;

2) 192.168.B.1 odošle žiadosť o pripojenie z 192.168.B.1:55555 (toto číslo, rovnako ako v predchádzajúcom príklade, môže byť iné) na AAA2:13389;

3) operačný systém, ktorý beží na počítači s adresou 192.168.B.1, sa rozhodne poslať tento paket na adresu brány smerovača (192.168.B.254 v našom prípade), pretože iné, konkrétnejšie trasy pre AAA2, nemá žiadnu, čo znamená, že prenáša paket predvolenou cestou (0.0.0.0/0);

4) na tento účel, ako sme uviedli v predchádzajúcom príklade, sa snaží nájsť MAC adresu pre IP adresu 192.168.B.254 v tabuľke vyrovnávacej pamäte protokolu ARP. Ak sa nezistí, odošle z adresy 192.168.B.1 vysielať kto má požiadavku do siete 192.168.B.0/24. Kedy 192.168.B.254 ako odpoveď jej pošle svoju MAC adresu, systém pre ňu odošle ethernetový paket a túto informáciu zapíše do svojej vyrovnávacej tabuľky;

5) router prijme tento paket a rozhodne sa, kam ho prepošle: má písomnú politiku, podľa ktorej musí preposielať (nahradením spiatočnej adresy) všetky pakety od 192.168.B.0/24 do iných uzlov internetu;

6) keďže z tejto politiky vyplýva, že spiatočná adresa sa musí zhodovať s nízkou adresou na rozhraní, cez ktoré sa bude tento paket prenášať, router najprv rozhodne, komu presne pošle tento paket a on ho musí poslať, ako v predchádzajúcom príklade. do BBB254 (brána ISP), pretože existujú špecifickejšie trasy AAA2, ako 0.0.0.0/0, nemá;

7) preto router nahradí návratovú adresu paketu, odteraz je paket z BBB1:44444 (číslo portu sa, samozrejme, môže líšiť) na AAA2:13389;

8) router si pamätá, čo urobil, čo znamená kedy AAA2:13389 к BBB1:44444 dostane odpoveď, bude vedieť, že by mal zmeniť cieľovú adresu a port na 192.168.B.1:55555.

9) teraz by to mal smerovač odovzdať do siete ISP cez BBB254teda, ako sme už spomenuli, nájde MAC adresu pre BBB254 a odošle paket do ISP brány;

10) Poskytovatelia internetu prenášajú pakety z BBB1 na AAA2;

11) zapnutý virtuálny smerovač AAA2 prijme tento paket na porte 13389;

12) na virtuálnom smerovači existuje pravidlo, ktoré stanovuje, že pakety prijaté od ktoréhokoľvek odosielateľa na tomto porte by sa mali prenášať na 192.168.A.1:3389;

13) virtuálny smerovač nájde sieť v smerovacej tabuľke 192.168.A.0/24 a pošle ho priamo 192.168.A.1, pretože má rozhranie 192.168.A.254/24;

14) na tento účel virtuálny smerovač nájde MAC adresu 192.168.A.1 a odošle mu tento paket cez virtuálnu ethernetovú sieť;

15) 192.168.A.1 prijme tento paket na porte 3389, súhlasí s vytvorením spojenia a ako odpoveď vygeneruje paket 192.168.A.1:3389 na BBB1:44444;

16) jeho systém odošle tento paket na adresu brány virtuálneho smerovača (192.168.A.254 v našom prípade), pretože iné, konkrétnejšie trasy pre BBB1, nemá, preto musí paket preniesť predvolenou cestou (0.0.0.0/0);

17) presne to isté ako v predchádzajúcich prípadoch, systém, ktorý beží na serveri s adresou 192.168.A.1, nájde MAC adresu 192.168.A.254, pretože je v rovnakej sieti s jej rozhraním 192.168.A.1/24;

18) virtuálny smerovač prijme tento paket. Treba poznamenať, že si pamätá, čo dostal AAA2:13389 balík od BBB1:44444 a zmenil adresu a port svojho príjemcu na 192.168.A.1:3389, teda balík z 192.168.A.1:3389 pre BBB1:44444 zmení adresu odosielateľa na AAA2:13389;

19) virtuálny smerovač sa rozhodne, komu tento paket pošle, odošle ho AAA254 (brána ISP, v tomto prípade sme to aj my), pretože existujú špecifickejšie cesty BBB1, ako 0.0.0.0/0, nemá;

20) Poskytovatelia internetu prenášajú paket s AAA2 na BBB1;

21) smerovač zapnutý BBB1 prijme tento paket a zapamätá si to, keď paket odoslal 192.168.B.1:55555 pre AAA2:13389, zmenil svoju adresu a port odosielateľa na BBB1:44444, potom je to odpoveď, ktorú je potrebné odoslať 192.168.B.1:55555 (v skutočnosti je tam niekoľko ďalších kontrol, ale nejdeme do toho hlboko);

22) chápe, že by sa to malo prenášať priamo 192.168.B.1, keďže je s ním v rovnakej sieti, má teda v smerovacej tabuľke zodpovedajúci záznam, ktorý ho núti posielať pakety za celý 192.168.B.0/24 priamo;

23) router nájde MAC adresu pre 192.168.B.1 a odovzdá mu tento balík;

24) operačný systém na počítači s adresou 192.168.B.1 dostane balík od AAA2:13389 pre 192.168.B.1:55555 a inicializuje ďalšie kroky na vytvorenie pripojenia TCP.

Treba poznamenať, že v tomto prípade počítač s adresou 192.168.B.1 nevie nič o serveri s adresou 192.168.A.1, komunikuje len s AAA2. Rovnako aj server s adresou 192.168.A.1 nevie nič o počítači s adresou 192.168.B.1. Verí, že bol spojený z adresy BBB1a nič iné takpovediac nevie.

Treba tiež poznamenať, že ak tento počítač pristupuje AAA2:1540, pripojenie sa nevytvorí, pretože presmerovanie pripojenia na port 1540 nie je nakonfigurované na virtuálnom smerovači, aj keď na žiadnom serveri vo virtuálnej sieti 192.168.A.0/24 (napríklad na serveri s adresou 192.168.A.1) a niektoré služby čakajú na pripojenie na tomto porte. Ak používateľ počítača s adresou 192.168.B.1 K tejto službe je bezpodmienečne nutné nadviazať spojenie, musí využívať VPN, t.j. kontaktujte priamo 192.168.A.1:1540.

Treba zdôrazniť, že akýkoľvek pokus o nadviazanie spojenia s AAA1 (okrem pripojenia IPSec z BBB1 nebude úspešný. Akékoľvek pokusy o nadviazanie spojenia s AAA2, okrem pripojení k portu 13389, tiež nebude úspešné.
Upozorňujeme tiež, že ak AAA2 Ak požiada niekto iný (napríklad CCCC), všetko uvedené v odsekoch 10 – 20 sa bude vzťahovať aj na neho. Čo sa stane predtým a potom, závisí od toho, čo presne je za týmto CCCC. Nemáme takéto informácie, preto vám odporúčame poradiť sa so správcami uzla s adresou CCCC

Pozícia tri

A naopak, ak s 192.168.A.1 niečo sa odošle na nejaký port, ktorý je nakonfigurovaný tak, aby preposielal smerom dovnútra do BBB1 (napríklad 11111), tiež to neskončí vo VPN, ale jednoducho prúdi z AAA1 a dostane sa do BBB1a už to niekde prenáša, povedzme, 192.168.B.2:3389. Vidí tento balík nie z 192.168.A.1, ale od AAA1. A kedy 192.168.B.2 odpovedá, balík pochádza BBB1 na AAA1, a neskôr sa dostane k iniciátoru pripojenia - 192.168.A.1.

Konkrétny príklad:

1) 192.168.A.1 žiada o BBB1, chce nadviazať TCP spojenie s BBB1:11111;

2) 192.168.A.1 odošle žiadosť o pripojenie z 192.168.A.1:55555 (toto číslo, rovnako ako v predchádzajúcom príklade, môže byť iné) na BBB1:11111;

3) operačný systém, ktorý beží na serveri s adresou 192.168.A.1, sa rozhodne poslať tento paket na adresu brány smerovača (192.168.A.254 v našom prípade), pretože iné, konkrétnejšie trasy pre BBB1, nemá, preto prenáša paket predvolenou cestou (0.0.0.0/0);

4) na tento účel, ako sme uviedli v predchádzajúcich príkladoch, sa snaží nájsť MAC adresu pre IP adresu 192.168.A.254 v tabuľke vyrovnávacej pamäte protokolu ARP. Ak sa nezistí, odošle z adresy 192.168.A.1 vysielať kto má požiadavku do siete 192.168.A.0/24. Kedy 192.168.A.254 ako odpoveď jej pošle svoju MAC adresu, systém pre ňu odošle ethernetový paket a túto informáciu zapíše do svojej vyrovnávacej tabuľky;

5) virtuálny smerovač prijme tento paket a rozhodne sa, kam ho prepošle: má písomnú politiku, podľa ktorej musí preposielať (nahradením spiatočnej adresy) všetky pakety od 192.168.A.0/24 do iných uzlov internetu;

6) keďže táto politika predpokladá, že spiatočná adresa sa musí zhodovať s nízkou adresou na rozhraní, cez ktoré sa bude tento paket prenášať, virtuálny smerovač najprv rozhodne, komu presne pošle tento paket, a ten, ako v predchádzajúcom príklade, musí poslať to na AAA254 (brána ISP, v tomto prípade sme to aj my), pretože existujú špecifickejšie cesty BBB1, ako 0.0.0.0/0, nemá;

7) to znamená, že virtuálny router nahradí návratovú adresu paketu, odteraz je to paket z AAA1:44444 (číslo portu sa, samozrejme, môže líšiť) na BBB1:11111;

8) virtuálny router si pamätá, čo urobil, teda kedy od BBB1:11111 pre AAA1:44444 dostane odpoveď, bude vedieť, že by mal zmeniť cieľovú adresu a port na 192.168.A.1:55555.

9) teraz by ho mal virtuálny smerovač odovzdať do siete ISP cez AAA254, takže ako sme už spomenuli, nájde MAC adresu pre AAA254 a odošle paket do ISP brány;

10) Poskytovatelia internetu prenášajú pakety z AAA1 až BBB1;

11) smerovač zapnutý BBB1 prijme tento paket na porte 11111;

12) na virtuálnom smerovači existuje pravidlo, ktoré stanovuje, že pakety, ktoré prišli od ktoréhokoľvek odosielateľa na tomto porte, by sa mali prenášať na 192.168.B.2:3389;

13) router nájde sieť v smerovacej tabuľke 192.168.B.0/24 a pošle ho priamo na 192.168.B.2, pretože má rozhranie 192.168.B.254/24;

14) na tento účel virtuálny smerovač nájde MAC adresu 192.168.B.2 a odošle mu tento paket cez virtuálnu ethernetovú sieť;

15) 192.168.B.2 prijme tento paket na porte 3389, súhlasí s vytvorením spojenia a ako odpoveď vygeneruje paket 192.168.B.2:3389 na AAA1:44444;

16) jeho systém odošle tento paket na adresu brány smerovača (192.168.B.254 v našom prípade), pretože iné, konkrétnejšie trasy pre AAA1, nemá, preto musí paket preniesť predvolenou cestou (0.0.0.0/0);

17) rovnakým spôsobom ako v predchádzajúcich prípadoch systém, ktorý beží na počítači s adresou 192.168.B.2, nájde MAC adresu 192.168.B.254, pretože je v rovnakej sieti s jej rozhraním 192.168.B.2/24;

18) router prijme tento paket. Treba poznamenať, že si pamätá, čo dostal BBB1:11111 balík od AAA1 a zmenil adresu a port svojho príjemcu na 192.168.B.2:3389, teda balík z 192.168.B.2:3389 pre AAA1:44444 zmení adresu odosielateľa na BBB1:11111;

19) router rozhodne, komu tento paket pošle. Pošle to, povedzme, BBB254 (ISP brána, ktorej presnú adresu nepoznáme), pretože neexistujú žiadne konkrétnejšie cesty AAA1, ako 0.0.0.0/0, nemá;

20) Poskytovatelia internetu prenášajú paket s BBB1 na AAA1;

21) zapnutý virtuálny smerovač AAA1 prijme tento paket a zapamätá si to, keď paket odoslal 192.168.A.1:55555 pre BBB1:11111, zmenil svoju adresu a port odosielateľa na AAA1:44444. To znamená, že toto je odpoveď, na ktorú je potrebné poslať 192.168.A.1:55555 (v skutočnosti, ako sme uviedli v predchádzajúcom príklade, existuje aj niekoľko ďalších kontrol, ale tentoraz im nejdeme do hĺbky);

22) chápe, že by sa to malo prenášať priamo na 192.168.A.1, keďže je s ním v rovnakej sieti, znamená to, že má v smerovacej tabuľke zodpovedajúci záznam, ktorý ho núti posielať pakety do celého 192.168.A.0/24 priamo;

23) router nájde MAC adresu pre 192.168.A.1 a odovzdá mu tento balík;

24) operačný systém na serveri s adresou 192.168.A.1 dostane balík od BBB1:11111 pre 192.168.A.1:55555 a inicializuje ďalšie kroky na vytvorenie pripojenia TCP.

Presne to isté ako v predchádzajúcom prípade, v tomto prípade server s adresou 192.168.A.1 nevie nič o počítači s adresou 192.168.B.1, komunikuje len s BBB1. Počítač s adresou 192.168.B.1 tiež nevie nič o serveri s adresou 192.168.A.1. Verí, že bol spojený z adresy AAA1a zvyšok je pred ním skrytý.

Výkon

Takto sa deje všetko pre pripojenia vo vnútri tunela VPN medzi kanceláriou klienta a cloudovým prostredím, ako aj pre pripojenia mimo tunela VPN. A ak máte nejaké otázky alebo potrebujete našu pomoc pri riešení problémov s cloudom, kontaktujte nás 24x7.

Zdroj: hab.com

Pridať komentár