Hva skjer på tilkoblinger i og utenfor VPN-tunnelen

Ekte artikler er født fra brev til Tucha teknisk støtte. For eksempel ble vi nylig kontaktet av en klient med en forespørsel om å avklare hva som skjer under tilkoblinger inne i VPN-tunnelen mellom brukerens kontor og skymiljøet, samt under tilkoblinger utenfor VPN-tunnelen. Derfor er hele teksten nedenfor et faktisk brev som vi sendte til en av våre kunder som svar på spørsmålet hans. Selvfølgelig ble IP-adressene endret for ikke å avanonymisere klienten. Men ja, Tucha teknisk støtte er virkelig kjent for sine detaljerte svar og informative e-poster. 🙂

Selvfølgelig forstår vi at denne artikkelen for mange ikke vil være en åpenbaring. Men siden artikler for nybegynnere administratorer dukker opp på Habr fra tid til annen, og også siden denne artikkelen dukket opp fra et ekte brev til en ekte klient, vil vi fortsatt dele denne informasjonen her. Det er stor sannsynlighet for at det vil være nyttig for noen.
Derfor forklarer vi i detalj hva som skjer mellom serveren i skyen og kontoret hvis de er koblet sammen med et sted-til-sted-nettverk. Merk at noen tjenester kun er tilgjengelige fra kontoret, og noen er tilgjengelige fra hvor som helst på Internett.

La oss umiddelbart forklare hva klienten vår ønsket på serveren 192.168.A.1 du kan komme fra hvor som helst via RDP, koble til AAA2:13389, og tilgang til andre tjenester kun fra kontoret (192.168.B.0/24)koblet til via VPN. Dessuten hadde klienten i utgangspunktet det konfigurert at bilen 192.168.B.2 på kontoret var det også mulig å bruke RDP fra hvor som helst, koble til BBB1:11111. Vi hjalp til med å organisere IPSec-forbindelser mellom skyen og kontoret, og kundens IT-spesialist begynte å stille spørsmål om hva som ville skje i dette eller det tilfellet. For å svare på alle disse spørsmålene skrev vi faktisk til ham alt du kan lese nedenfor.

Hva skjer på tilkoblinger i og utenfor VPN-tunnelen

La oss nå se på disse prosessene mer detaljert.

Posisjon en

Når noe sendes fra 192.168.B.0/24 в 192.168.A.0/24 eller fra 192.168.A.0/24 в 192.168.B.0/24, kommer den inn i VPN. Det vil si at denne pakken i tillegg krypteres og overføres mellom BBB1 и AAA1Men 192.168.A.1 ser pakken nøyaktig fra 192.168.B.1. De kan kommunisere med hverandre ved hjelp av hvilken som helst protokoll. Retursvar overføres på samme måte gjennom VPN, som betyr at pakken fra 192.168.A.1 for 192.168.B.1 vil bli sendt som et ESP-datagram fra AAA1BBB1, som ruteren vil brette ut på den siden, ta ut den pakken fra den og sende den til 192.168.B.1 som en pakke fra 192.168.A.1.

Spesifikt eksempel:

1) 192.168.B.1 appellerer til 192.168.A.1, ønsker å etablere en TCP-forbindelse med 192.168.A.1:3389;

2) 192.168.B.1 sender en tilkoblingsforespørsel fra 192.168.B.1:55555 (han velger selv portnummeret for tilbakemelding; heretter vil vi bruke nummeret 55555 som eksempel på portnummeret som systemet velger når det opprettes en TCP-forbindelse) på 192.168.A.1:3389;

3) et operativsystem som kjører på en datamaskin med adressen 192.168.B.1, bestemmer seg for å videresende denne pakken til ruterens gateway-adresse (192.168.B.254 i vårt tilfelle), fordi andre, mer spesifikke ruter for 192.168.A.1, den har ikke, derfor sender den pakken via standardruten (0.0.0.0/0);

4) for dette prøver den å finne MAC-adressen for IP-adressen 192.168.B.254 i ARP-protokollbuffertabellen. Hvis den ikke oppdages, sender den fra adressen 192.168.B.1 kringkaste hvem som har forespørsel til nettverket 192.168.B.0/24... Når 192.168.B.254 som svar sender den den sin MAC-adresse, systemet sender en Ethernet-pakke for den og legger inn denne informasjonen i buffertabellen;

5) ruteren mottar denne pakken og bestemmer hvor den skal videresendes: den har en skriftlig policy i henhold til at den skal sende alle pakker mellom kl. 192.168.B.0/24 и 192.168.A.0/24 overføre over en VPN-forbindelse mellom BBB1 и AAA1;

6) ruteren genererer et ESP-datagram fra BBB1AAA1;

7) ruteren bestemmer hvem den skal sende denne pakken til, den sender den til, for eksempel, BBB254 (ISP-gateway) fordi det er mer spesifikke ruter til AAA1, enn 0.0.0.0/0, den har ikke;

8) nøyaktig det samme som allerede sagt, finner den MAC-adressen for BBB254 og sender pakken til ISP-gatewayen;

9) Internett-leverandører overfører et ESP-datagram fra BBB1AAA1;

10) virtuell ruter på AAA1 mottar dette datagrammet, dekrypterer det og mottar en pakke fra 192.168.B.1:55555 for 192.168.A.1:3389;

11) den virtuelle ruteren sjekker hvem den skal sendes til, finner nettverket i rutingtabellen 192.168.A.0/24 og sender den direkte til 192.168.A.1, fordi den har et grensesnitt 192.168.A.254/24;

12) for dette finner den virtuelle ruteren MAC-adressen for 192.168.A.1 og overfører denne pakken til ham via et virtuelt Ethernet-nettverk;

13) 192.168.A.1 mottar denne pakken på port 3389, godtar å etablere en forbindelse og genererer en pakke som svar fra 192.168.A.1:3389192.168.B.1:55555;

14) systemet hans sender denne pakken til gateway-adressen til den virtuelle ruteren (192.168.A.254 i vårt tilfelle), fordi andre, mer spesifikke ruter for 192.168.B.1, den har ikke, derfor må den overføre pakken via standardruten (0.0.0.0/0);

15) det samme som i tidligere tilfeller, et system som kjører på en server med adressen 192.168.A.1, finner MAC-adressen 192.168.A.254, siden den er på samme nettverk med grensesnittet 192.168.A.1/24;

16) den virtuelle ruteren mottar denne pakken og bestemmer hvor den skal videresendes: den har en skriftlig policy i henhold til at den skal sende alle pakker mellom kl. 192.168.A.0/24 и 192.168.B.0/24 overføre over en VPN-forbindelse mellom AAA1 и BBB1;

17) den virtuelle ruteren genererer et ESP-datagram fra AAA1 for BBB1;

18) den virtuelle ruteren bestemmer hvem denne pakken skal sendes til, sender den til AAA254 (ISP-gateway, i dette tilfellet, det er oss også), fordi det er mer spesifikke ruter til BBB1, enn 0.0.0.0/0, den har ikke;

19) Internett-leverandører overfører et ESP-datagram over sine nettverk med AAA1BBB1;

20) ruteren på BBB1 mottar dette datagrammet, dekrypterer det og mottar en pakke fra 192.168.A.1:3389 for 192.168.B.1:55555;

21) han forstår at det bør overføres spesifikt til 192.168.B.1, siden han er på samme nettverk med ham, har han derfor en tilsvarende oppføring i rutetabellen, som tvinger ham til å sende pakker for hele 192.168.B.0/24 direkte;

22) ruteren finner MAC-adressen for 192.168.B.1 og gir ham denne pakken;

23) operativsystem på en datamaskin med adressen 192.168.B.1 mottar en pakke fra 192.168.A.1:3389 for 192.168.B.1:55555 og starter de neste trinnene for å etablere en TCP-tilkobling.

Dette eksemplet beskriver ganske kort og forenklet (og her kan du huske en haug med andre detaljer) hva som skjer på nivå 2-4. Nivå 1, 5-7 vurderes ikke.

Posisjon to

Hvis med 192.168.B.0/24 noe sendes spesifikt til AAA2, går den ikke til VPN, men direkte. Det vil si hvis brukeren fra adressen 192.168.B.1 appellerer til AAA2:13389, kommer denne pakken fra adressen BBB1, går videre AAA2, og så mottar ruteren den og sender den til 192.168.A.1. 192.168.A.1 vet ikke noe om 192.168.B.1, ser han en pakke fra BBB1, fordi han fikk ham. Derfor følger svaret på denne forespørselen den generelle ruten, den kommer fra adressen på samme måte AAA2 og går til BBB1, og den ruteren sender dette svaret til 192.168.B.1, ser han svaret fra AAA2, som han henvendte seg til.

Spesifikt eksempel:

1) 192.168.B.1 appellerer til AAA2, ønsker å etablere en TCP-forbindelse med AAA2:13389;

2) 192.168.B.1 sender en tilkoblingsforespørsel fra 192.168.B.1:55555 (dette nummeret, som i forrige eksempel, kan være annerledes) på AAA2:13389;

3) et operativsystem som kjører på en datamaskin med adressen 192.168.B.1, bestemmer seg for å videresende denne pakken til ruterens gateway-adresse (192.168.B.254 i vårt tilfelle), fordi andre, mer spesifikke ruter for AAA2, den har ikke en, noe som betyr at den overfører pakken via standardruten (0.0.0.0/0);

4) for dette, som vi nevnte i forrige eksempel, prøver den å finne MAC-adressen for IP-adressen 192.168.B.254 i ARP-protokollbuffertabellen. Hvis den ikke oppdages, sender den fra adressen 192.168.B.1 kringkaste hvem som har forespørsel til nettverket 192.168.B.0/24... Når 192.168.B.254 som svar sender den den sin MAC-adresse, systemet sender en Ethernet-pakke for den og legger inn denne informasjonen i buffertabellen;

5) ruteren mottar denne pakken og bestemmer hvor den skal videresendes: den har en skriftlig policy i henhold til at den skal videresende (erstatte returadressen) alle pakker fra 192.168.B.0/24 til andre Internett-noder;

6) siden denne policyen innebærer at returadressen må samsvare med den lave adressen på grensesnittet som denne pakken skal overføres gjennom, bestemmer ruteren først hvem som skal sende denne pakken til, og han, som i forrige eksempel, må sende den til BBB254 (ISP-gateway) fordi det er mer spesifikke ruter til AAA2, enn 0.0.0.0/0, den har ikke;

7) derfor erstatter ruteren returadressen til pakken, heretter er pakken fra BBB1:44444 (portnummeret kan selvfølgelig være annerledes) til AAA2:13389;

8) ruteren husker hva den gjorde, som betyr når AAA2:13389 к BBB1:44444 svar kommer, vil han vite at han bør endre destinasjonsadressen og porten til 192.168.B.1:55555.

9) nå skal ruteren sende den til ISP-nettverket via BBB254derfor, akkurat som vi allerede har nevnt, finner den MAC-adressen for BBB254 og sender pakken til ISP-gatewayen;

10) Internett-leverandører overfører pakker fra BBB1AAA2;

11) virtuell ruter på AAA2 mottar denne pakken på port 13389;

12) det er en regel på den virtuelle ruteren som bestemmer at pakker mottatt fra enhver avsender på denne porten skal overføres til 192.168.A.1:3389;

13) den virtuelle ruteren finner nettverket i rutingtabellen 192.168.A.0/24 og sender den direkte 192.168.A.1 fordi den har et grensesnitt 192.168.A.254/24;

14) for dette finner den virtuelle ruteren MAC-adressen for 192.168.A.1 og overfører denne pakken til ham via et virtuelt Ethernet-nettverk;

15) 192.168.A.1 mottar denne pakken på port 3389, godtar å etablere en forbindelse og genererer en pakke som svar fra 192.168.A.1:3389 BBB1:44444;

16) systemet hans sender denne pakken til gateway-adressen til den virtuelle ruteren (192.168.A.254 i vårt tilfelle), fordi andre, mer spesifikke ruter for BBB1, den har ikke, derfor må den overføre pakken via standardruten (0.0.0.0/0);

17) nøyaktig det samme som i tidligere tilfeller, et system som kjører på en server med adressen 192.168.A.1, finner MAC-adressen 192.168.A.254, siden den er på samme nettverk med grensesnittet 192.168.A.1/24;

18) den virtuelle ruteren mottar denne pakken. Det skal bemerkes at han husker hva han mottok på AAA2:13389 pakke fra BBB1:44444 og endret mottakerens adresse og port til 192.168.A.1:3389, derfor pakken fra 192.168.A.1:3389 for BBB1:44444 den endrer avsenderadressen til AAA2:13389;

19) den virtuelle ruteren bestemmer hvem denne pakken skal sendes til, den sender den til AAA254 (ISP-gateway, i dette tilfellet, det er oss også), fordi det er mer spesifikke ruter til BBB1, enn 0.0.0.0/0, den har ikke;

20) Internett-leverandører overfører en pakke med AAA2BBB1;

21) ruteren på BBB1 mottar denne pakken og husker det da han sendte pakken fra 192.168.B.1:55555 for AAA2:13389, endret han adresse og senderport til BBB1:44444, så er dette svaret som må sendes til 192.168.B.1:55555 (faktisk er det flere kontroller der, men vi går ikke dypt inn på det);

22) han forstår at det skal overføres direkte til 192.168.B.1, siden han er på samme nettverk med ham, har han derfor en tilsvarende oppføring i rutetabellen, som tvinger ham til å sende pakker for hele 192.168.B.0/24 direkte;

23) ruteren finner MAC-adressen for 192.168.B.1 og gir ham denne pakken;

24) operativsystem på en datamaskin med adressen 192.168.B.1 mottar en pakke fra AAA2:13389 for 192.168.B.1:55555 og starter de neste trinnene for å etablere en TCP-tilkobling.

Det skal bemerkes at i dette tilfellet datamaskinen med adressen 192.168.B.1 vet ingenting om serveren med adressen 192.168.A.1, han bare kommuniserer med AAA2. På samme måte serveren med adressen 192.168.A.1 vet ingenting om datamaskinen med adressen 192.168.B.1. Han tror at han ble koblet fra adressen BBB1, og han vet ikke noe annet, for å si det sånn.

Det bør også bemerkes at hvis denne datamaskinen får tilgang AAA2:1540, vil tilkoblingen ikke opprettes fordi viderekobling av tilkobling til port 1540 ikke er konfigurert på den virtuelle ruteren, selv om det er på noen servere i det virtuelle nettverket 192.168.A.0/24 (for eksempel på en server med adressen 192.168.A.1) og det er noen tjenester som venter på tilkoblinger på denne porten. Hvis en datamaskinbruker med en adresse 192.168.B.1 Det er viktig å etablere en tilkobling til denne tjenesten, den må bruke en VPN, dvs. kontakt direkte 192.168.A.1:1540.

Det skal understrekes at ethvert forsøk på å etablere en forbindelse med AAA1 (bortsett fra IPSec-tilkoblingen fra BBB1 vil ikke lykkes. Eventuelle forsøk på å etablere forbindelser med AAA2, bortsett fra tilkoblinger til port 13389, vil heller ikke være vellykket.
Vi legger også merke til at hvis det skal AAA2 Hvis noen andre søker (for eksempel CCCC), vil alt som er angitt i paragraf 10-20 gjelde for ham også. Hva som skjer før og etter dette avhenger av hva som ligger bak denne CCCC. Vi har ikke slik informasjon, så vi anbefaler deg å konsultere administratorene for noden med CCCC-adressen

Posisjon tre

Og omvendt, hvis med 192.168.A.1 noe sendes til en eller annen port som er konfigurert til å videresende innover til BBB1 (for eksempel 11111), det havner heller ikke i VPN, men flyter rett og slett fra AAA1 og kommer inn BBB1, og han overfører det allerede et sted i, for eksempel, 192.168.B.2:3389. Han ser denne pakken ikke fra 192.168.A.1, men AAA1. Og når 192.168.B.2 svarer, kommer pakken fra BBB1AAA1, og kommer senere til tilkoblingsinitiatoren - 192.168.A.1.

Spesifikt eksempel:

1) 192.168.A.1 appellerer til BBB1, ønsker å etablere en TCP-forbindelse med BBB1:11111;

2) 192.168.A.1 sender en tilkoblingsforespørsel fra 192.168.A.1:55555 (dette nummeret, som i forrige eksempel, kan være annerledes) på BBB1:11111;

3) et operativsystem som kjører på en server med adressen 192.168.A.1, bestemmer seg for å videresende denne pakken til ruterens gateway-adresse (192.168.A.254 i vårt tilfelle), fordi andre, mer spesifikke ruter for BBB1, den har ikke, derfor sender den pakken via standardruten (0.0.0.0/0);

4) for dette, som vi nevnte i tidligere eksempler, prøver den å finne MAC-adressen for IP-adressen 192.168.A.254 i ARP-protokollbuffertabellen. Hvis den ikke oppdages, sender den fra adressen 192.168.A.1 kringkaste hvem som har forespørsel til nettverket 192.168.A.0/24... Når 192.168.A.254 som svar sender han henne MAC-adressen sin, systemet sender en Ethernet-pakke for den og legger inn denne informasjonen i buffertabellen;

5) den virtuelle ruteren mottar denne pakken og bestemmer hvor den skal videresendes: den har en skriftlig policy ifølge hvilken den må videresende (erstatte returadressen) alle pakker fra 192.168.A.0/24 til andre Internett-noder;

6) siden denne policyen forutsetter at returadressen må samsvare med den lave adressen på grensesnittet som denne pakken skal overføres gjennom, bestemmer den virtuelle ruteren først hvem som skal sende denne pakken til, og han, som i forrige eksempel, må sende det på AAA254 (ISP-gateway, i dette tilfellet, det er oss også), fordi det er mer spesifikke ruter til BBB1, enn 0.0.0.0/0, den har ikke;

7) dette betyr at den virtuelle ruteren erstatter returadressen til pakken, fra nå av er det en pakke fra AAA1:44444 (portnummeret kan selvfølgelig være annerledes) til BBB1:11111;

8) den virtuelle ruteren husker hva den gjorde, derfor når fra BBB1:11111 for AAA1:44444 svar kommer, vil han vite at han bør endre destinasjonsadressen og porten til 192.168.A.1:55555.

9) nå skal den virtuelle ruteren sende den til ISP-nettverket via AAA254, så akkurat som vi allerede har nevnt, finner den MAC-adressen for AAA254 og sender pakken til ISP-gatewayen;

10) Internett-leverandører overfører pakker fra AAA1 til BBB1;

11) ruteren på BBB1 mottar denne pakken på port 11111;

12) det er en regel på den virtuelle ruteren som fastsetter at pakker som kommer fra en hvilken som helst avsender på denne porten skal overføres til 192.168.B.2:3389;

13) ruteren finner nettverket i rutetabellen 192.168.B.0/24 og sender den direkte til 192.168.B.2, fordi den har et grensesnitt 192.168.B.254/24;

14) for dette finner den virtuelle ruteren MAC-adressen for 192.168.B.2 og overfører denne pakken til ham via et virtuelt Ethernet-nettverk;

15) 192.168.B.2 mottar denne pakken på port 3389, godtar å etablere en forbindelse og genererer en pakke som svar fra 192.168.B.2:3389AAA1:44444;

16) systemet hans sender denne pakken til ruterens gateway-adresse (192.168.B.254 i vårt tilfelle), fordi andre, mer spesifikke ruter for AAA1, den har ikke, derfor må den overføre pakken via standardruten (0.0.0.0/0);

17) på samme måte som i tidligere tilfeller, et system som kjører på en datamaskin med adressen 192.168.B.2, finner MAC-adressen 192.168.B.254, siden den er på samme nettverk med grensesnittet 192.168.B.2/24;

18) ruteren mottar denne pakken. Det skal bemerkes at han husker hva han mottok på BBB1:11111 pakke fra AAA1 og endret mottakerens adresse og port til 192.168.B.2:3389, derfor pakken fra 192.168.B.2:3389 for AAA1:44444 den endrer avsenderadressen til BBB1:11111;

19) ruteren bestemmer hvem denne pakken skal sendes til. Han sender den til, si, BBB254 (ISP gateway, den nøyaktige adressen som vi ikke vet), fordi det ikke er mer spesifikke ruter til AAA1, enn 0.0.0.0/0, den har ikke;

20) Internett-leverandører overfører en pakke med BBB1AAA1;

21) virtuell ruter på AAA1 mottar denne pakken og husker det da han sendte pakken fra 192.168.A.1:55555 for BBB1:11111, endret han adresse og senderport til AAA1:44444. Det betyr at dette er svaret som må sendes til 192.168.A.1:55555 (faktisk, som vi nevnte i forrige eksempel, er det også flere kontroller, men denne gangen går vi ikke i dybden med dem);

22) han forstår at det skal overføres direkte til 192.168.A.1, siden han er på samme nettverk med ham, betyr det at han har en tilsvarende oppføring i rutetabellen som tvinger ham til å sende pakker til hele 192.168.A.0/24 direkte;

23) ruteren finner MAC-adressen for 192.168.A.1 og gir ham denne pakken;

24) operativsystem på serveren med adressen 192.168.A.1 mottar en pakke fra BBB1:11111 for 192.168.A.1:55555 og starter de neste trinnene for å etablere en TCP-tilkobling.

Nøyaktig det samme som i forrige tilfelle, i dette tilfellet serveren med adressen 192.168.A.1 vet ingenting om datamaskinen med adressen 192.168.B.1, han bare kommuniserer med BBB1. Datamaskin med adresse 192.168.B.1 vet heller ingenting om serveren med adressen 192.168.A.1. Han tror at han ble koblet fra adressen AAA1, og resten er skjult for ham.

Utgang

Slik skjer alt for forbindelser inne i VPN-tunnelen mellom klientens kontor og skymiljøet, samt for forbindelser utenfor VPN-tunnelen. Og hvis du har spørsmål eller trenger vår hjelp til å løse skyproblemer, kontakt oss 24x7.

Kilde: www.habr.com

Legg til en kommentar