Vad hÀnder pÄ anslutningar i och utanför VPN-tunneln

Riktiga artiklar Ă€r födda frĂ„n brev till Tucha teknisk support. Till exempel har en klient nyligen kontaktat oss med en förfrĂ„gan om att klargöra vad som hĂ€nder under anslutningar inne i VPN-tunneln mellan anvĂ€ndarens kontor och molnmiljön, samt under anslutningar utanför VPN-tunneln. DĂ€rför Ă€r hela texten nedan ett faktiskt brev som vi skickade till en av vĂ„ra kunder som svar pĂ„ hans frĂ„ga. Naturligtvis Ă€ndrades IP-adresserna för att inte avanonymisera klienten. Men ja, Tuchas tekniska support Ă€r verkligen kĂ€nt för sina detaljerade svar och informativa e-postmeddelanden. 🙂

Naturligtvis förstÄr vi att denna artikel för mÄnga inte kommer att vara en uppenbarelse. Men eftersom artiklar för nybörjare dyker upp pÄ Habr dÄ och dÄ, och Àven eftersom den hÀr artikeln dök upp frÄn ett riktigt brev till en riktig kund, kommer vi fortfarande att dela denna information hÀr. Det finns en stor sannolikhet att det kommer att vara anvÀndbart för nÄgon.
DÀrför förklarar vi i detalj vad som hÀnder mellan servern i molnet och kontoret om de Àr anslutna via ett plats-till-plats-nÀtverk. Observera att vissa tjÀnster endast Àr tillgÀngliga frÄn kontoret, och vissa Àr tillgÀngliga frÄn var som helst pÄ Internet.

LÄt oss omedelbart förklara vad vÄr klient ville ha pÄ servern 192.168.A.1 du kan komma frÄn var som helst via RDP, ansluta till AAA2:13389, och tillgÄng till andra tjÀnster endast frÄn kontoret (192.168.B.0/24)ansluten via VPN. Dessutom hade klienten initialt det konfigurerat att bilen 192.168.B.2 pÄ kontoret var det ocksÄ möjligt att anvÀnda RDP var som helst, ansluta till BBB1:11111. Vi hjÀlpte till att organisera IPSec-kopplingar mellan molnet och kontoret, och kundens IT-specialist började stÀlla frÄgor om vad som skulle hÀnda i det ena eller det andra fallet. För att svara pÄ alla dessa frÄgor skrev vi faktiskt till honom allt som du kan lÀsa nedan.

Vad hÀnder pÄ anslutningar i och utanför VPN-tunneln

LÄt oss nu titta pÄ dessa processer mer i detalj.

Position ett

NĂ€r nĂ„got skickas frĂ„n 192.168.B.0/24 ĐČ 192.168.A.0/24 eller frĂ„n 192.168.A.0/24 ĐČ 192.168.B.0/24, kommer det in i VPN. Det vill sĂ€ga att detta paket dessutom krypteras och överförs mellan BBB1 Đž AAA1Men 192.168.A.1 ser paketet exakt frĂ„n 192.168.B.1. De kan kommunicera med varandra med hjĂ€lp av vilket protokoll som helst. Retursvar överförs pĂ„ samma sĂ€tt genom VPN, vilket innebĂ€r att paketet frĂ„n 192.168.A.1 för 192.168.B.1 kommer att skickas som ett ESP-datagram frĂ„n AAA1 pĂ„ BBB1, som routern kommer att vika ut pĂ„ den sidan, ta ut det paketet frĂ„n det och skicka det till 192.168.B.1 som ett paket frĂ„n 192.168.A.1.

Specifikt exempel:

1) 192.168.B.1 tilltalar 192.168.A.1, vill upprÀtta en TCP-anslutning med 192.168.A.1:3389;

2) 192.168.B.1 skickar en anslutningsförfrÄgan frÄn 192.168.B.1:55555 (han vÀljer sjÀlv portnumret för Äterkoppling; nedan kommer vi att anvÀnda numret 55555 som ett exempel pÄ portnumret som systemet vÀljer nÀr en TCP-anslutning upprÀttas) pÄ 192.168.A.1:3389;

3) ett operativsystem som körs pÄ en dator med adressen 192.168.B.1, bestÀmmer sig för att vidarebefordra detta paket till routerns gateway-adress (192.168.B.254 i vÄrt fall), eftersom andra, mer specifika vÀgar för 192.168.A.1, den har inte, dÀrför sÀnder den paketet via standardrutten (0.0.0.0/0);

4) för detta försöker den hitta MAC-adressen för IP-adressen 192.168.B.254 i ARP-protokollets cachetabell. Om det inte upptÀcks, skickas frÄn adressen 192.168.B.1 sÀnda vem som har begÀran till nÀtverket 192.168.B.0/24... NÀr 192.168.B.254 som svar skickar den sin MAC-adress, systemet sÀnder ett Ethernet-paket för den och matar in denna information i sin cachetabell;

5) routern tar emot detta paket och bestÀmmer vart det ska vidarebefordras: den har en skriftlig policy enligt vilken den mÄste skicka alla paket mellan kl. 192.168.B.0/24 О 192.168.A.0/24 överföra via en VPN-anslutning mellan BBB1 О AAA1;

6) routern genererar ett ESP-datagram frÄn BBB1 pÄ AAA1;

7) routern bestÀmmer vem den ska skicka detta paket till, den skickar det till, sÀg, BBB254 (ISP-gateway) eftersom det finns mer specifika vÀgar till AAA1, Àn 0.0.0.0/0, den har inte;

8) exakt samma som redan sagt, den hittar MAC-adressen för BBB254 och sÀnder paketet till ISP-gatewayen;

9) Internetleverantörer överför ett ESP-datagram frÄn BBB1 pÄ AAA1;

10) virtuell router pÄ AAA1 tar emot detta datagram, dekrypterar det och tar emot ett paket frÄn 192.168.B.1:55555 för 192.168.A.1:3389;

11) den virtuella routern kontrollerar vem den ska skicka den till, hittar nÀtverket i routingtabellen 192.168.A.0/24 och skickar den direkt till 192.168.A.1, eftersom den har ett grÀnssnitt 192.168.A.254/24;

12) för detta hittar den virtuella routern MAC-adressen för 192.168.A.1 och sÀnder detta paket till honom via ett virtuellt Ethernet-nÀtverk;

13) 192.168.A.1 tar emot detta paket pÄ port 3389, samtycker till att upprÀtta en anslutning och genererar ett paket som svar frÄn 192.168.A.1:3389 pÄ 192.168.B.1:55555;

14) hans system sÀnder detta paket till gatewayadressen för den virtuella routern (192.168.A.254 i vÄrt fall), eftersom andra, mer specifika vÀgar för 192.168.B.1, den har inte, dÀrför mÄste den överföra paketet via standardrutten (0.0.0.0/0);

15) samma som i tidigare fall, ett system som körs pÄ en server med adressen 192.168.A.1, hittar MAC-adressen 192.168.A.254, eftersom det Àr pÄ samma nÀtverk med dess grÀnssnitt 192.168.A.1/24;

16) den virtuella routern tar emot detta paket och bestÀmmer vart det ska vidarebefordras: den har en skriftlig policy enligt vilken den mÄste skicka alla paket mellan kl. 192.168.A.0/24 О 192.168.B.0/24 överföra via en VPN-anslutning mellan AAA1 О BBB1;

17) den virtuella routern genererar ett ESP-datagram frÄn AAA1 för BBB1;

18) den virtuella routern bestÀmmer vem det hÀr paketet ska skickas till, skickar det till AAA254 (ISP-gateway, i det hÀr fallet, det Àr vi ocksÄ), eftersom det finns mer specifika vÀgar till BBB1, Àn 0.0.0.0/0, den har inte;

19) Internetleverantörer överför ett ESP-datagram över sina nÀtverk med AAA1 pÄ BBB1;

20) routern pÄ BBB1 tar emot detta datagram, dekrypterar det och tar emot ett paket frÄn 192.168.A.1:3389 för 192.168.B.1:55555;

21) han förstÄr att det bör överföras specifikt till 192.168.B.1, eftersom han Àr pÄ samma nÀtverk med honom, har han dÀrför en motsvarande post i routingtabellen, vilket tvingar honom att skicka paket för hela 192.168.B.0/24 direkt;

22) routern hittar MAC-adressen för 192.168.B.1 och rÀcker honom detta paket;

23) operativsystem pÄ en dator med adressen 192.168.B.1 fÄr ett paket frÄn 192.168.A.1:3389 för 192.168.B.1:55555 och initierar nÀsta steg för att upprÀtta en TCP-anslutning.

Det hÀr exemplet beskriver ganska kortfattat och förenklat (och hÀr kan du komma ihÄg en massa andra detaljer) vad som hÀnder pÄ nivÄ 2-4. NivÄ 1, 5-7 beaktas inte.

Position tvÄ

Om med 192.168.B.0/24 nÄgot skickas specifikt till AAA2, det gÄr inte till VPN, utan direkt. Det vill sÀga om anvÀndaren frÄn adressen 192.168.B.1 tilltalar AAA2:13389, kommer detta paket frÄn adressen BBB1, gÄr vidare AAA2, och sedan tar routern emot den och sÀnder den till 192.168.A.1. 192.168.A.1 vet inget om 192.168.B.1, ser han ett paket frÄn BBB1, för att han fick honom. DÀrför följer svaret pÄ denna begÀran den allmÀnna vÀgen, det kommer frÄn adressen pÄ samma sÀtt AAA2 och gÄr till BBB1, och den routern skickar det hÀr svaret till 192.168.B.1, ser han svaret frÄn AAA2, som han riktade sig till.

Specifikt exempel:

1) 192.168.B.1 tilltalar AAA2, vill upprÀtta en TCP-anslutning med AAA2:13389;

2) 192.168.B.1 skickar en anslutningsförfrÄgan frÄn 192.168.B.1:55555 (det hÀr numret, som i föregÄende exempel, kan vara annorlunda) pÄ AAA2:13389;

3) ett operativsystem som körs pÄ en dator med adressen 192.168.B.1, bestÀmmer sig för att vidarebefordra detta paket till routerns gateway-adress (192.168.B.254 i vÄrt fall), eftersom andra, mer specifika vÀgar för AAA2, den har ingen, vilket betyder att den sÀnder paketet via standardrutten (0.0.0.0/0);

4) för detta, som vi nÀmnde i föregÄende exempel, försöker den hitta MAC-adressen för IP-adressen 192.168.B.254 i ARP-protokollets cachetabell. Om det inte upptÀcks, skickas frÄn adressen 192.168.B.1 sÀnda vem som har begÀran till nÀtverket 192.168.B.0/24... NÀr 192.168.B.254 som svar skickar den sin MAC-adress, systemet sÀnder ett Ethernet-paket för den och matar in denna information i sin cachetabell;

5) routern tar emot detta paket och bestÀmmer vart det ska vidarebefordras: den har en skriftlig policy enligt vilken den mÄste vidarebefordra (ersÀtter returadressen) alla paket frÄn 192.168.B.0/24 till andra Internetnoder;

6) eftersom denna policy innebÀr att returadressen mÄste matcha den lÄga adressen pÄ grÀnssnittet genom vilket detta paket kommer att sÀndas, bestÀmmer routern först vem som exakt ska skicka detta paket till, och han, som i föregÄende exempel, mÄste skicka det till BBB254 (ISP-gateway) eftersom det finns mer specifika vÀgar till AAA2, Àn 0.0.0.0/0, den har inte;

7) dÀrför ersÀtter routern returadressen för paketet, hÀdanefter kommer paketet frÄn BBB1:44444 (portnumret kan naturligtvis vara annorlunda) till AAA2:13389;

8) routern kommer ihĂ„g vad den gjorde, vilket betyder nĂ€r AAA2:13389 Đș BBB1:44444 svar kommer, kommer han att veta att han bör Ă€ndra destinationsadressen och porten till 192.168.B.1:55555.

9) nu ska routern skicka den till ISP-nÀtverket via BBB254dÀrför, precis som vi redan nÀmnt, hittar den MAC-adressen för BBB254 och sÀnder paketet till ISP-gatewayen;

10) Internetleverantörer överför paket frÄn BBB1 pÄ AAA2;

11) virtuell router pÄ AAA2 tar emot detta paket pÄ port 13389;

12) det finns en regel pÄ den virtuella routern som föreskriver att paket som tas emot frÄn vilken avsÀndare som helst pÄ denna port ska överföras till 192.168.A.1:3389;

13) den virtuella routern hittar nÀtverket i routingtabellen 192.168.A.0/24 och skickar det direkt 192.168.A.1 eftersom den har ett grÀnssnitt 192.168.A.254/24;

14) för detta hittar den virtuella routern MAC-adressen för 192.168.A.1 och sÀnder detta paket till honom via ett virtuellt Ethernet-nÀtverk;

15) 192.168.A.1 tar emot detta paket pÄ port 3389, samtycker till att upprÀtta en anslutning och genererar ett paket som svar frÄn 192.168.A.1:3389 pÄ BBB1:44444;

16) hans system sÀnder detta paket till gatewayadressen för den virtuella routern (192.168.A.254 i vÄrt fall), eftersom andra, mer specifika vÀgar för BBB1, den har inte, dÀrför mÄste den överföra paketet via standardrutten (0.0.0.0/0);

17) exakt samma som i tidigare fall, ett system som körs pÄ en server med adressen 192.168.A.1, hittar MAC-adressen 192.168.A.254, eftersom det Àr pÄ samma nÀtverk med dess grÀnssnitt 192.168.A.1/24;

18) den virtuella routern tar emot detta paket. Det bör noteras att han minns vad han fick pÄ AAA2:13389 paket frÄn BBB1:44444 och Àndrade sin mottagares adress och port till 192.168.A.1:3389, dÀrför paketet frÄn 192.168.A.1:3389 för BBB1:44444 den Àndrar avsÀndaradressen till AAA2:13389;

19) den virtuella routern bestÀmmer vem det hÀr paketet ska skickas till, den skickar det till AAA254 (ISP-gateway, i det hÀr fallet, det Àr vi ocksÄ), eftersom det finns mer specifika vÀgar till BBB1, Àn 0.0.0.0/0, den har inte;

20) Internetleverantörer överför ett paket med AAA2 pÄ BBB1;

21) routern pÄ BBB1 tar emot detta paket och kommer ihÄg det nÀr han skickade paketet frÄn 192.168.B.1:55555 för AAA2:13389, Àndrade han sin adress och avsÀndarport till BBB1:44444, dÄ Àr det hÀr svaret som mÄste skickas till 192.168.B.1:55555 (det finns faktiskt flera kontroller dÀr, men vi gÄr inte djupt in pÄ det);

22) han förstÄr att det ska överföras direkt till 192.168.B.1, eftersom han Àr pÄ samma nÀtverk med honom, har han dÀrför en motsvarande post i routingtabellen, vilket tvingar honom att skicka paket för hela 192.168.B.0/24 direkt;

23) routern hittar MAC-adressen för 192.168.B.1 och rÀcker honom detta paket;

24) operativsystem pÄ en dator med adressen 192.168.B.1 fÄr ett paket frÄn AAA2:13389 för 192.168.B.1:55555 och initierar nÀsta steg för att upprÀtta en TCP-anslutning.

Det bör noteras att i detta fall datorn med adressen 192.168.B.1 vet ingenting om servern med adressen 192.168.A.1, han bara kommunicerar med AAA2. LikasÄ servern med adressen 192.168.A.1 vet ingenting om datorn med adressen 192.168.B.1. Han tror att han var kopplad frÄn adressen BBB1, och han vet inget annat, sÄ att sÀga.

Det bör ocksÄ noteras att om denna dator kommer Ät AAA2:1540, kommer anslutningen inte att upprÀttas eftersom vidarebefordran av anslutning till port 1540 inte Àr konfigurerad pÄ den virtuella routern, Àven om pÄ nÄgra servrar i det virtuella nÀtverket 192.168.A.0/24 (till exempel pÄ en server med adressen 192.168.A.1) och det finns vissa tjÀnster som vÀntar pÄ anslutningar pÄ den hÀr porten. Om en datoranvÀndare med en adress 192.168.B.1 Det Àr absolut nödvÀndigt att upprÀtta en anslutning till denna tjÀnst, den mÄste anvÀnda ett VPN, d.v.s. kontakta direkt 192.168.A.1:1540.

Det bör understrykas att varje försök att upprÀtta ett samband med AAA1 (förutom IPSec-anslutningen frÄn BBB1 kommer inte att lyckas. Alla försök att upprÀtta förbindelser med AAA2, förutom anslutningar till port 13389, kommer inte heller att lyckas.
Vi noterar ocksÄ att om till AAA2 Om nÄgon annan ansöker (till exempel CCCC), kommer allt som anges i punkterna 10-20 att gÀlla Àven för honom. Vad som hÀnder före och efter detta beror pÄ exakt vad som ligger bakom denna CCCC. Vi har inte sÄdan information, sÄ vi rÄder dig att konsultera administratörerna för noden med CCCC-adressen

Position tre

Och omvÀnt, om med 192.168.A.1 nÄgot skickas till nÄgon port som Àr konfigurerad att vidarebefordra inÄt till BBB1 (till exempel 11111), det hamnar inte heller i VPN, utan flyter helt enkelt frÄn AAA1 och gÄr in BBB1, och han sÀnder det redan nÄgonstans i, sÀg, 192.168.B.2:3389. Han ser det hÀr paketet inte frÄn 192.168.A.1, men frÄn AAA1. Och nÀr 192.168.B.2 svarar, paketet kommer frÄn BBB1 pÄ AAA1, och kommer senare till anslutningsinitiatorn - 192.168.A.1.

Specifikt exempel:

1) 192.168.A.1 tilltalar BBB1, vill upprÀtta en TCP-anslutning med BBB1:11111;

2) 192.168.A.1 skickar en anslutningsförfrÄgan frÄn 192.168.A.1:55555 (det hÀr numret, som i föregÄende exempel, kan vara annorlunda) pÄ BBB1:11111;

3) ett operativsystem som körs pÄ en server med adressen 192.168.A.1, bestÀmmer sig för att vidarebefordra detta paket till routerns gateway-adress (192.168.A.254 i vÄrt fall), eftersom andra, mer specifika vÀgar för BBB1, den har inte, dÀrför sÀnder den paketet via standardrutten (0.0.0.0/0);

4) för detta, som vi nÀmnde i tidigare exempel, försöker den hitta MAC-adressen för IP-adressen 192.168.A.254 i ARP-protokollets cachetabell. Om det inte upptÀcks, skickas frÄn adressen 192.168.A.1 sÀnda vem som har begÀran till nÀtverket 192.168.A.0/24... NÀr 192.168.A.254 som svar skickar han sin MAC-adress till henne, systemet sÀnder ett Ethernet-paket för den och matar in denna information i sin cachetabell;

5) den virtuella routern tar emot detta paket och bestÀmmer vart det ska vidarebefordras: den har en skriftlig policy enligt vilken den mÄste vidarebefordra (ersÀtter returadressen) alla paket frÄn 192.168.A.0/24 till andra Internetnoder;

6) eftersom denna policy förutsÀtter att returadressen mÄste matcha den lÄga adressen pÄ grÀnssnittet genom vilket detta paket kommer att sÀndas, bestÀmmer den virtuella routern först vem som exakt ska skicka detta paket till, och han, som i föregÄende exempel, mÄste skicka det pÄ AAA254 (ISP-gateway, i det hÀr fallet, det Àr vi ocksÄ), eftersom det finns mer specifika vÀgar till BBB1, Àn 0.0.0.0/0, den har inte;

7) detta betyder att den virtuella routern ersÀtter returadressen för paketet, frÄn och med nu Àr det ett paket frÄn AAA1:44444 (portnumret kan naturligtvis vara annorlunda) till BBB1:11111;

8) den virtuella routern kommer ihÄg vad den gjorde, alltsÄ nÀr frÄn BBB1:11111 för AAA1:44444 svar kommer, kommer han att veta att han bör Àndra destinationsadressen och porten till 192.168.A.1:55555.

9) nu ska den virtuella routern skicka den till ISP-nÀtverket via AAA254, sÄ precis som vi redan nÀmnt, hittar den MAC-adressen för AAA254 och sÀnder paketet till ISP-gatewayen;

10) Internetleverantörer överför paket frÄn AAA1 till BBB1;

11) routern pÄ BBB1 tar emot detta paket pÄ port 11111;

12) det finns en regel pÄ den virtuella routern som föreskriver att paket som anlÀnde frÄn nÄgon avsÀndare pÄ denna port ska överföras till 192.168.B.2:3389;

13) routern hittar nÀtverket i routingtabellen 192.168.B.0/24 och skickar den direkt till 192.168.B.2, eftersom den har ett grÀnssnitt 192.168.B.254/24;

14) för detta hittar den virtuella routern MAC-adressen för 192.168.B.2 och sÀnder detta paket till honom via ett virtuellt Ethernet-nÀtverk;

15) 192.168.B.2 tar emot detta paket pÄ port 3389, samtycker till att upprÀtta en anslutning och genererar ett paket som svar frÄn 192.168.B.2:3389 pÄ AAA1:44444;

16) hans system sÀnder detta paket till routerns gateway-adress (192.168.B.254 i vÄrt fall), eftersom andra, mer specifika vÀgar för AAA1, den har inte, dÀrför mÄste den överföra paketet via standardrutten (0.0.0.0/0);

17) pÄ samma sÀtt som i tidigare fall, ett system som körs pÄ en dator med adressen 192.168.B.2, hittar MAC-adressen 192.168.B.254, eftersom det Àr pÄ samma nÀtverk med dess grÀnssnitt 192.168.B.2/24;

18) routern tar emot detta paket. Det bör noteras att han minns vad han fick pÄ BBB1:11111 paket frÄn AAA1 och Àndrade sin mottagares adress och port till 192.168.B.2:3389, dÀrför paketet frÄn 192.168.B.2:3389 för AAA1:44444 den Àndrar avsÀndaradressen till BBB1:11111;

19) routern bestÀmmer vem det hÀr paketet ska skickas till. Han skickar den till, sÀg, BBB254 (ISP-gateway, den exakta adressen som vi inte vet), eftersom det inte finns nÄgra mer specifika rutter till AAA1, Àn 0.0.0.0/0, den har inte;

20) Internetleverantörer överför ett paket med BBB1 pÄ AAA1;

21) virtuell router pÄ AAA1 tar emot detta paket och kommer ihÄg det nÀr han skickade paketet frÄn 192.168.A.1:55555 för BBB1:11111, Àndrade han sin adress och avsÀndarport till AAA1:44444. Det betyder att det Àr detta svar som mÄste skickas till 192.168.A.1:55555 (det finns faktiskt, som vi nÀmnde i föregÄende exempel, Àven flera fler kontroller, men den hÀr gÄngen gÄr vi inte in pÄ djupet med dem);

22) han förstÄr att det ska överföras direkt till 192.168.A.1, eftersom han Àr pÄ samma nÀtverk med honom betyder det att han har en motsvarande post i routingtabellen som tvingar honom att skicka paket till hela 192.168.A.0/24 direkt;

23) routern hittar MAC-adressen för 192.168.A.1 och rÀcker honom detta paket;

24) operativsystem pÄ servern med adressen 192.168.A.1 fÄr ett paket frÄn BBB1:11111 för 192.168.A.1:55555 och initierar nÀsta steg för att upprÀtta en TCP-anslutning.

Exakt samma som i föregÄende fall, i det hÀr fallet servern med adressen 192.168.A.1 vet ingenting om datorn med adressen 192.168.B.1, han bara kommunicerar med BBB1. Dator med adress 192.168.B.1 vet inte heller nÄgot om servern med adressen 192.168.A.1. Han tror att han var kopplad frÄn adressen AAA1, och resten Àr dolt för honom.

UtgÄng

SÄ hÀr hÀnder allt för anslutningar inne i VPN-tunneln mellan klientens kontor och molnmiljön, samt för anslutningar utanför VPN-tunneln. Och om du har nÄgra frÄgor eller behöver vÄr hjÀlp med att lösa molnproblem, kontakta oss 24x7.

KĂ€lla: will.com

LĂ€gg en kommentar