Wat gebeur op verbindings binne en buite die VPN-tonnel

Regte artikels word gebore uit briewe aan Tucha tegniese ondersteuning. 'n Kliënt het ons byvoorbeeld onlangs genader met 'n versoek om uit te klaar wat gebeur tydens verbindings binne die VPN-tonnel tussen die gebruiker se kantoor en die wolkomgewing, sowel as tydens verbindings buite die VPN-tonnel. Daarom is die hele teks hieronder 'n werklike brief wat ons aan een van ons kliënte gestuur het in antwoord op sy vraag. Natuurlik is die IP-adresse verander om nie die kliënt te de-anonimiseer nie. Maar ja, Tucha tegniese ondersteuning is regtig bekend vir sy gedetailleerde antwoorde en insiggewende e-posse. 🙂

Natuurlik verstaan ​​ons dat hierdie artikel vir baie nie 'n openbaring sal wees nie. Maar aangesien artikels vir beginner administrateurs van tyd tot tyd op Habr verskyn, en ook aangesien hierdie artikel uit 'n regte brief aan 'n regte kliënt verskyn het, sal ons steeds hierdie inligting hier deel. Daar is 'n groot waarskynlikheid dat dit vir iemand nuttig sal wees.
Daarom verduidelik ons ​​in detail wat tussen die bediener in die wolk en die kantoor gebeur as hulle deur 'n webwerf-tot-werf-netwerk verbind is. Let daarop dat sommige dienste slegs vanaf die kantoor toeganklik is, en sommige is vanaf enige plek op die internet toeganklik.

Laat ons dadelik verduidelik wat ons kliënt op die bediener wou hê 192.168.A.1 jy kan van enige plek af kom via RDP, verbind met AAA2:13389, en toegang tot ander dienste slegs vanaf die kantoor (192.168.B.0/24)gekoppel via VPN. Ook het die kliënt dit aanvanklik laat opstel dat die motor 192.168.B.2 in die kantoor was dit ook moontlik om HOP van enige plek af te gebruik, aansluiting by BBB1:11111. Ons het gehelp om IPSec-verbindings tussen die wolk en die kantoor te organiseer, en die kliënt se IT-spesialis het vrae begin vra oor wat in hierdie of daardie geval sou gebeur. Om al hierdie vrae te beantwoord, het ons eintlik alles aan hom geskryf wat jy hieronder kan lees.

Wat gebeur op verbindings binne en buite die VPN-tonnel

Kom ons kyk nou in meer detail na hierdie prosesse.

Posisie een

Wanneer iets gestuur word van 192.168.B.0/24 в 192.168.A.0/24 of van 192.168.A.0/24 в 192.168.B.0/24, kom dit in die VPN. Dit wil sê, hierdie pakkie word addisioneel geïnkripteer en tussenin versend BBB1 и AAA1Maar 192.168.A.1 sien die pakkie presies van 192.168.B.1. Hulle kan met mekaar kommunikeer deur enige protokol te gebruik. Retourantwoorde word op dieselfde manier deur die VPN versend, wat beteken dat die pakkie van 192.168.A.1 vir 192.168.B.1 sal as 'n ESP-datagram gestuur word vanaf AAA1 op BBB1, wat die router aan daardie kant sal oopvou, haal daardie pakkie daaruit en stuur dit na 192.168.B.1 as 'n pakket van 192.168.A.1.

Spesifieke voorbeeld:

1) 192.168.B.1 beroep op 192.168.A.1, 'n TCP-verbinding wil vestig met 192.168.A.1:3389;

2) 192.168.B.1 stuur 'n verbindingsversoek vanaf 192.168.B.1:55555 (hy kies self die poortnommer vir terugvoer; hierna sal ons die nommer 55555 gebruik as 'n voorbeeld van die poortnommer wat die stelsel kies wanneer 'n TCP-verbinding gevorm word) op 192.168.A.1:3389;

3) 'n bedryfstelsel wat op 'n rekenaar met die adres loop 192.168.B.1, besluit om hierdie pakkie aan te stuur na die router se poortadres (192.168.B.254 in ons geval), omdat ander, meer spesifieke roetes vir 192.168.A.1, dit het nie, daarom stuur dit die pakkie via die verstekroete (0.0.0.0/0);

4) hiervoor probeer dit die MAC-adres vir die IP-adres vind 192.168.B.254 in die ARP-protokolkastabel. As dit nie opgespoor word nie, stuur vanaf die adres 192.168.B.1 saai wie-het-versoek na die netwerk uit 192.168.B.0/24. Wanneer 192.168.B.254 in reaksie, dit stuur dit sy MAC adres, die stelsel stuur 'n Ethernet pakkie vir dit en voer hierdie inligting in sy kas tabel;

5) die router ontvang hierdie pakkie en besluit waarheen om dit aan te stuur: dit het 'n geskrewe beleid waarvolgens dit alle pakkies tussen 192.168.B.0/24 и 192.168.A.0/24 oordrag oor 'n VPN-verbinding tussen BBB1 и AAA1;

6) die router genereer 'n ESP-datagram van BBB1 op AAA1;

7) die router besluit na wie om hierdie pakkie te stuur, dit stuur dit na, sê, BBB254 (ISP gateway) want daar is meer spesifieke roetes na AAA1, as 0.0.0.0/0, het dit nie;

8) presies dieselfde as wat reeds gesê is, dit vind die MAC-adres vir BBB254 en stuur die pakkie na die ISP-poort;

9) Internetverskaffers stuur 'n ESP-datagram vanaf BBB1 op AAA1;

10) virtuele router aan AAA1 ontvang hierdie datagram, dekripteer dit en ontvang 'n pakkie van 192.168.B.1:55555 vir 192.168.A.1:3389;

11) die virtuele roeteerder kyk na wie om dit aan te gee, vind die netwerk in die roeteringtabel 192.168.A.0/24 en stuur dit direk na 192.168.A.1, want dit het 'n koppelvlak 192.168.A.254/24;

12) hiervoor vind die virtuele router die MAC-adres vir 192.168.A.1 en stuur hierdie pakkie aan hom via 'n virtuele Ethernet-netwerk;

13) 192.168.A.1 ontvang hierdie pakkie op poort 3389, stem in om 'n verbinding te vestig en genereer 'n pakkie in reaksie vanaf 192.168.A.1:3389 op 192.168.B.1:55555;

14) sy stelsel stuur hierdie pakkie na die poortadres van die virtuele router (192.168.A.254 in ons geval), omdat ander, meer spesifieke roetes vir 192.168.B.1, dit het nie, daarom moet dit die pakkie via die verstekroete (0.0.0.0/0) versend;

15) dieselfde as in vorige gevalle, 'n stelsel wat op 'n bediener met die adres loop 192.168.A.1, vind die MAC-adres 192.168.A.254, aangesien dit op dieselfde netwerk met sy koppelvlak is 192.168.A.1/24;

16) die virtuele router ontvang hierdie pakkie en besluit waarheen om dit aan te stuur: dit het 'n geskrewe beleid waarvolgens dit alle pakkies tussen 192.168.A.0/24 и 192.168.B.0/24 oordrag oor 'n VPN-verbinding tussen AAA1 и BBB1;

17) die virtuele router genereer 'n ESP-datagram van AAA1 vir BBB1;

18) die virtuele router besluit na wie om hierdie pakkie te stuur, stuur dit na AAA254 (ISP-poort, in hierdie geval, dit is ons ook), want daar is meer spesifieke roetes na BBB1, as 0.0.0.0/0, het dit nie;

19) Internetverskaffers stuur 'n ESP-datagram oor hul netwerke met AAA1 op BBB1;

20) router aan BBB1 ontvang hierdie datagram, dekripteer dit en ontvang 'n pakkie van 192.168.A.1:3389 vir 192.168.B.1:55555;

21) hy verstaan ​​dat dit spesifiek oorgedra moet word na 192.168.B.1, aangesien hy op dieselfde netwerk met hom is, het hy dus 'n ooreenstemmende inskrywing in die roetetabel, wat hom dwing om pakkies vir die hele 192.168.B.0/24 direk;

22) die router vind die MAC-adres vir 192.168.B.1 en gee hom hierdie pakkie;

23) bedryfstelsel op 'n rekenaar met die adres 192.168.B.1 ontvang 'n pakkie van 192.168.A.1:3389 vir 192.168.B.1:55555 en begin die volgende stappe om 'n TCP-verbinding te vestig.

Hierdie voorbeeld beskryf baie bondig en vereenvoudig (en hier kan jy 'n klomp ander besonderhede onthou) wat op vlakke 2-4 gebeur. Vlakke 1, 5-7 word nie oorweeg nie.

Posisie twee

As met 192.168.B.0/24 iets word spesifiek na gestuur AAA2, gaan dit nie na die VPN nie, maar direk. Dit is, as die gebruiker van die adres 192.168.B.1 beroep op AAA2:13389, kom hierdie pakkie van die adres af BBB1, gaan deur AAA2, en dan ontvang die router dit en stuur dit na 192.168.A.1. 192.168.A.1 weet niks van nie 192.168.B.1, hy sien 'n pakkie van BBB1, want hy het hom gekry. Daarom volg die reaksie op hierdie versoek die algemene roete, dit kom op dieselfde manier van die adres af AAA2 en gaan na BBB1, en daardie router stuur hierdie antwoord na 192.168.B.1, sien hy die antwoord van AAA2, aan wie hy gerig het.

Spesifieke voorbeeld:

1) 192.168.B.1 beroep op AAA2, 'n TCP-verbinding wil vestig met AAA2:13389;

2) 192.168.B.1 stuur 'n verbindingsversoek vanaf 192.168.B.1:55555 (hierdie nommer, soos in die vorige voorbeeld, kan anders wees) op AAA2:13389;

3) 'n bedryfstelsel wat op 'n rekenaar met die adres loop 192.168.B.1, besluit om hierdie pakkie aan te stuur na die router se poortadres (192.168.B.254 in ons geval), omdat ander, meer spesifieke roetes vir AAA2, dit het nie een nie, wat beteken dat dit die pakkie via die verstekroete (0.0.0.0/0) versend;

4) hiervoor, soos ons in die vorige voorbeeld genoem het, probeer dit om die MAC-adres vir die IP-adres te vind 192.168.B.254 in die ARP-protokolkastabel. As dit nie opgespoor word nie, stuur vanaf die adres 192.168.B.1 saai wie-het-versoek na die netwerk uit 192.168.B.0/24. Wanneer 192.168.B.254 in reaksie, dit stuur dit sy MAC adres, die stelsel stuur 'n Ethernet pakkie vir dit en voer hierdie inligting in sy kas tabel;

5) die router ontvang hierdie pakkie en besluit waarheen om dit aan te stuur: dit het 'n skriftelike beleid waarvolgens dit alle pakkies van moet aanstuur (vervang die terugstuuradres) 192.168.B.0/24 na ander internet nodusse;

6) aangesien hierdie beleid impliseer dat die terugstuuradres moet ooreenstem met die lae adres op die koppelvlak waardeur hierdie pakkie versend sal word, besluit die router eers na wie presies hierdie pakkie moet stuur, en hy moet dit, soos in die vorige voorbeeld, stuur aan BBB254 (ISP gateway) want daar is meer spesifieke roetes na AAA2, as 0.0.0.0/0, het dit nie;

7) daarom vervang die router die retouradres van die pakkie, voortaan is die pakkie van BBB1:44444 (poortnommer kan natuurlik anders wees) na AAA2:13389;

8) die router onthou wat dit gedoen het, wat beteken wanneer AAA2:13389 к BBB1:44444 antwoord kom, sal hy weet dat hy die bestemmingsadres en poort moet verander na 192.168.B.1:55555.

9) nou moet die router dit aan die ISP-netwerk deurgee BBB254dus, net soos ons reeds genoem het, vind dit die MAC-adres vir BBB254 en stuur die pakkie na die ISP-poort;

10) Internetverskaffers stuur pakkies vanaf BBB1 op AAA2;

11) virtuele router aan AAA2 ontvang hierdie pakkie op poort 13389;

12) daar is 'n reël op die virtuele roeteerder wat bepaal dat pakkies wat van enige sender op hierdie poort ontvang word, gestuur moet word na 192.168.A.1:3389;

13) die virtuele router vind die netwerk in die roeteringtabel 192.168.A.0/24 en stuur dit direk 192.168.A.1 omdat dit 'n koppelvlak het 192.168.A.254/24;

14) hiervoor vind die virtuele router die MAC-adres vir 192.168.A.1 en stuur hierdie pakkie aan hom via 'n virtuele Ethernet-netwerk;

15) 192.168.A.1 ontvang hierdie pakkie op poort 3389, stem in om 'n verbinding te vestig en genereer 'n pakkie in reaksie vanaf 192.168.A.1:3389 op BBB1:44444;

16) sy stelsel stuur hierdie pakkie na die poortadres van die virtuele router (192.168.A.254 in ons geval), omdat ander, meer spesifieke roetes vir BBB1, dit het nie, daarom moet dit die pakkie via die verstekroete (0.0.0.0/0) versend;

17) op dieselfde manier as in vorige gevalle, 'n stelsel wat op 'n bediener met die adres loop 192.168.A.1, vind die MAC-adres 192.168.A.254, aangesien dit op dieselfde netwerk met sy koppelvlak is 192.168.A.1/24;

18) die virtuele router ontvang hierdie pakkie. Daar moet kennis geneem word dat hy onthou waarop hy ontvang het AAA2:13389 pakkie van BBB1:44444 en sy ontvanger se adres en hawe verander na 192.168.A.1:3389, dus die pakket van 192.168.A.1:3389 vir BBB1:44444 dit verander die senderadres na AAA2:13389;

19) die virtuele router besluit na wie om hierdie pakkie te stuur, dit stuur dit na AAA254 (ISP-poort, in hierdie geval, dit is ons ook), want daar is meer spesifieke roetes na BBB1, as 0.0.0.0/0, het dit nie;

20) Internetverskaffers stuur 'n pakkie met AAA2 op BBB1;

21) router aan BBB1 ontvang hierdie pakkie en onthou dat toe hy die pakkie van gestuur het 192.168.B.1:55555 vir AAA2:13389, het hy sy adres en senderpoort verander na BBB1:44444, dan is dit die reaksie waarna gestuur moet word 192.168.B.1:55555 (om die waarheid te sê, daar is nog verskeie tjeks daar, maar ons gaan nie diep daarop in nie);

22) hy verstaan ​​dat dit direk na oorgedra moet word 192.168.B.1, aangesien hy op dieselfde netwerk met hom is, het hy dus 'n ooreenstemmende inskrywing in die roetetabel, wat hom dwing om pakkies vir die hele 192.168.B.0/24 direk;

23) die router vind die MAC-adres vir 192.168.B.1 en gee hom hierdie pakkie;

24) bedryfstelsel op 'n rekenaar met die adres 192.168.B.1 ontvang 'n pakkie van AAA2:13389 vir 192.168.B.1:55555 en begin die volgende stappe om 'n TCP-verbinding te vestig.

Daar moet kennis geneem word dat in hierdie geval die rekenaar met die adres 192.168.B.1 weet niks van die bediener met die adres nie 192.168.A.1, waarmee hy net kommunikeer AAA2. Net so, die bediener met die adres 192.168.A.1 weet niks van die rekenaar met die adres nie 192.168.B.1. Hy glo dat hy vanaf die adres verbind is BBB1, en hy weet so te sê niks anders nie.

Daar moet ook kennis geneem word dat indien hierdie rekenaar toegang het AAA2:1540, sal die verbinding nie tot stand gebring word nie omdat verbindingsaanstuur na poort 1540 nie op die virtuele roeteerder opgestel is nie, selfs al is dit op enige bedieners in die virtuele netwerk 192.168.A.0/24 (byvoorbeeld op 'n bediener met die adres 192.168.A.1) en daar is 'n paar dienste wat wag vir verbindings op hierdie poort. As 'n rekenaargebruiker met 'n adres 192.168.B.1 Dit is noodsaaklik om 'n verbinding met hierdie diens te vestig, dit moet 'n VPN gebruik, d.w.s. direk kontak 192.168.A.1:1540.

Dit moet beklemtoon word dat enige poging om 'n verband te vestig met AAA1 (behalwe vir die IPSec-verbinding vanaf die BBB1 sal nie suksesvol wees nie. Enige pogings om verbindings met AAA2, behalwe vir verbindings na poort 13389, sal ook nie suksesvol wees nie.
Ons neem ook kennis dat as om AAA2 As iemand anders aansoek doen (byvoorbeeld CCCC), sal alles wat in paragrawe 10-20 aangedui word, ook op hom van toepassing wees. Wat voor en daarna gebeur, hang af van wat presies agter hierdie CCCC is. Ons het nie sulke inligting nie, daarom raai ons u aan om die administrateurs van die nodus met die CCCC-adres te raadpleeg

Posisie drie

En omgekeerd, as met 192.168.A.1 iets word na een of ander poort gestuur wat gekonfigureer is om inwaarts na BBB1 aan te stuur (byvoorbeeld, 11111), dit beland ook nie in die VPN nie, maar vloei bloot vanaf AAA1 en klim in BBB1, en hy stuur dit reeds iewers in, sê, 192.168.B.2:3389. Hy sien hierdie pakkie nie van nie 192.168.A.1, en van AAA1. En wanneer 192.168.B.2 antwoord, die pakkie kom vandaan BBB1 op AAA1, en kom later by die verbindingsinisieerder - 192.168.A.1.

Spesifieke voorbeeld:

1) 192.168.A.1 beroep op BBB1, 'n TCP-verbinding wil vestig met BBB1:11111;

2) 192.168.A.1 stuur 'n verbindingsversoek vanaf 192.168.A.1:55555 (hierdie nommer, soos in die vorige voorbeeld, kan anders wees) op BBB1:11111;

3) 'n bedryfstelsel wat op 'n bediener met die adres loop 192.168.A.1, besluit om hierdie pakkie aan te stuur na die router se poortadres (192.168.A.254 in ons geval), omdat ander, meer spesifieke roetes vir BBB1, dit het nie, daarom stuur dit die pakkie via die verstekroete (0.0.0.0/0);

4) hiervoor, soos ons in vorige voorbeelde genoem het, probeer dit om die MAC-adres vir die IP-adres te vind 192.168.A.254 in die ARP-protokolkastabel. As dit nie opgespoor word nie, stuur vanaf die adres 192.168.A.1 saai wie-het-versoek na die netwerk uit 192.168.A.0/24. Wanneer 192.168.A.254 in reaksie, stuur hy vir haar sy MAC-adres, die stelsel stuur 'n Ethernet-pakkie daarvoor en voer hierdie inligting in sy kastabel in;

5) die virtuele router ontvang hierdie pakkie en besluit waarheen om dit aan te stuur: dit het 'n skriftelike beleid waarvolgens dit alle pakkies van moet aanstuur (vervang die terugstuuradres) 192.168.A.0/24 na ander internet nodusse;

6) aangesien hierdie beleid aanvaar dat die terugstuuradres moet ooreenstem met die lae adres op die koppelvlak waardeur hierdie pakkie versend sal word, besluit die virtuele router eers na wie presies hierdie pakkie moet stuur, en hy moet, soos in die vorige voorbeeld, stuur dit aan AAA254 (ISP-poort, in hierdie geval, dit is ons ook), want daar is meer spesifieke roetes na BBB1, as 0.0.0.0/0, het dit nie;

7) dit beteken dat die virtuele router die retouradres van die pakkie vervang, van nou af is dit 'n pakkie van AAA1:44444 (poortnommer kan natuurlik anders wees) na BBB1:11111;

8) die virtuele router onthou wat dit gedoen het, dus wanneer van BBB1:11111 vir AAA1:44444 antwoord kom, sal hy weet dat hy die bestemmingsadres en poort moet verander na 192.168.A.1:55555.

9) nou moet die virtuele router dit aan die ISP-netwerk deurgee AAA254, so net soos ons reeds genoem het, vind dit die MAC-adres vir AAA254 en stuur die pakkie na die ISP-poort;

10) Internetverskaffers stuur pakkies vanaf AAA1 tot BBB1;

11) router aan BBB1 ontvang hierdie pakkie op poort 11111;

12) daar is 'n reël op die virtuele roeteerder wat bepaal dat pakkies wat van enige sender op hierdie poort aangekom het, gestuur moet word na 192.168.B.2:3389;

13) die router vind die netwerk in die roeteringtabel 192.168.B.0/24 en stuur dit direk na 192.168.B.2, want dit het 'n koppelvlak 192.168.B.254/24;

14) hiervoor vind die virtuele router die MAC-adres vir 192.168.B.2 en stuur hierdie pakkie aan hom via 'n virtuele Ethernet-netwerk;

15) 192.168.B.2 ontvang hierdie pakkie op poort 3389, stem in om 'n verbinding te vestig en genereer 'n pakkie in reaksie vanaf 192.168.B.2:3389 op AAA1:44444;

16) sy stelsel stuur hierdie pakkie na die router se poortadres (192.168.B.254 in ons geval), omdat ander, meer spesifieke roetes vir AAA1, dit het nie, daarom moet dit die pakkie via die verstekroete (0.0.0.0/0) versend;

17) op dieselfde manier as in vorige gevalle, 'n stelsel wat op 'n rekenaar met die adres loop 192.168.B.2, vind die MAC-adres 192.168.B.254, aangesien dit op dieselfde netwerk met sy koppelvlak is 192.168.B.2/24;

18) die router ontvang hierdie pakkie. Daar moet kennis geneem word dat hy onthou waarop hy ontvang het BBB1:11111 pakkie van AAA1 en sy ontvanger se adres en hawe verander na 192.168.B.2:3389, dus die pakket van 192.168.B.2:3389 vir AAA1:44444 dit verander die senderadres na BBB1:11111;

19) die router besluit na wie om hierdie pakkie te stuur. Hy stuur dit na, sê, BBB254 (ISP gateway, die presiese adres waarvan ons nie weet nie), want daar is nie meer spesifieke roetes na AAA1, as 0.0.0.0/0, het dit nie;

20) Internetverskaffers stuur 'n pakkie met BBB1 op AAA1;

21) virtuele router aan AAA1 ontvang hierdie pakkie en onthou dat toe hy die pakkie van gestuur het 192.168.A.1:55555 vir BBB1:11111, het hy sy adres en senderpoort verander na AAA1:44444. Dit beteken dat dit die antwoord is waarna gestuur moet word 192.168.A.1:55555 (om die waarheid te sê, soos ons in die vorige voorbeeld genoem het, is daar ook nog verskeie tjeks, maar hierdie keer gaan ons nie in diepte daarmee in nie);

22) hy verstaan ​​dat dit direk na oorgedra moet word 192.168.A.1, aangesien hy op dieselfde netwerk met hom is, beteken dit dat hy 'n ooreenstemmende inskrywing in die roetetabel het wat hom dwing om pakkies na die hele 192.168.A.0/24 direk;

23) die router vind die MAC-adres vir 192.168.A.1 en gee hom hierdie pakkie;

24) bedryfstelsel op die bediener met die adres 192.168.A.1 ontvang 'n pakkie van BBB1:11111 vir 192.168.A.1:55555 en begin die volgende stappe om 'n TCP-verbinding te vestig.

Presies dieselfde as in die vorige geval, in hierdie geval die bediener met die adres 192.168.A.1 weet niks van die rekenaar met die adres nie 192.168.B.1, waarmee hy net kommunikeer BBB1. Rekenaar met adres 192.168.B.1 weet ook niks van die bediener met die adres nie 192.168.A.1. Hy glo dat hy vanaf die adres verbind is AAA1, en die res is vir hom verborge.

Output

Dit is hoe alles gebeur vir verbindings binne die VPN-tonnel tussen die kliënt se kantoor en die wolkomgewing, sowel as vir verbindings buite die VPN-tonnel. En as jy enige vrae het of ons hulp nodig het om wolkprobleme op te los, kontak ons ​​24x7.

Bron: will.com

Voeg 'n opmerking