Hvad sker der på forbindelser i og uden for VPN-tunnelen

Rigtige artikler er født fra breve til Tucha teknisk support. For eksempel henvendte en klient sig for nylig til os med en anmodning om at afklare, hvad der sker under forbindelser inde i VPN-tunnelen mellem brugerens kontor og skymiljøet, samt under forbindelser uden for VPN-tunnelen. Derfor er hele teksten nedenfor et egentligt brev, som vi har sendt til en af ​​vores kunder som svar på hans spørgsmål. Naturligvis blev IP-adresserne ændret for ikke at de-anonymisere klienten. Men ja, Tucha teknisk support er virkelig berømt for sine detaljerede svar og informative e-mails. 🙂

Selvfølgelig forstår vi, at denne artikel for mange ikke vil være en åbenbaring. Men da artikler for begyndere administratorer dukker op på Habr fra tid til anden, og også da denne artikel dukkede op fra et rigtigt brev til en rigtig klient, vil vi stadig dele denne information her. Der er stor sandsynlighed for, at det vil være nyttigt for nogen.
Поэтому подробно объясняем, что происходит между сервером в облаке и офисом, если они объединены site-to-site сетью. Отметим, что при этом часть сервисов доступна только из офиса, а часть — откуда угодно из сети Интернет.

Lad os straks forklare, hvad vores klient ønskede på serveren 192.168.A.1 du kunne komme fra hvor som helst via RDP, oprette forbindelse til AAA2:13389, og kun adgang til andre tjenester fra kontoret (192.168.B.0/24)forbundet via VPN. Også, klienten oprindeligt havde det konfigureret, at bilen 192.168.B.2 på kontoret var det også muligt at bruge RDP fra hvor som helst, oprette forbindelse til BBB1:11111. Мы помогли организовать IPSec-соединения между облаком и офисом, и ИТ-специалист заказчика начал задавать вопросы о том, что будет в том или ином случае. Чтобы ответить на все эти вопросы, мы, собственно, и написали ему всё то, что вы можете прочесть ниже.

Hvad sker der på forbindelser i og uden for VPN-tunnelen

Lad os nu se på disse processer mere detaljeret.

Позиция первая

Når noget 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 det ind i VPN. Det vil sige, at denne pakke er yderligere krypteret og transmitteret mellem BBB1 и AAA1Men 192.168.A.1 видит пакет именно от 192.168.B.1. De kan kommunikere med hinanden ved hjælp af enhver protokol. Retursvar sendes på samme måde gennem VPN, hvilket betyder, at pakken fra 192.168.A.1 for 192.168.B.1 vil blive sendt som et ESP-datagram fra AAA1BBB1, som routeren vil folde ud på den side, tage den pakke ud af den og sende den til 192.168.B.1 som en pakke fra 192.168.A.1.

Specifikt eksempel:

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

2) 192.168.B.1 sender en forbindelsesanmodning fra 192.168.B.1:55555 (han vælger selv portnummeret til feedback; herefter vil vi bruge nummeret 55555 som eksempel på det portnummer, som systemet vælger ved oprettelse af en TCP-forbindelse) på 192.168.A.1:3389;

3) операционная система, которая работает на компьютере с адресом 192.168.B.1, beslutter at videresende denne pakke til routerens gateway-adresse (192.168.B.254 в нашем случае), потому что других, более специфических маршрутов для 192.168.A.1, у неё нет, следовательно, она передаёт пакет по маршруту по умолчанию (0.0.0.0/0);

4) til dette forsøger den at finde MAC-adressen for IP-adressen 192.168.B.254 в кэш-таблице протокола ARP. Если он не обнаружен, отправляет с адреса 192.168.B.1 широковещательный who-has запрос к сети 192.168.B.0/24. Hvornår 192.168.B.254 som svar sender det dens MAC-adresse, systemet transmitterer en Ethernet-pakke til den og indtaster denne information i sin cache-tabel;

5) routeren modtager denne pakke og bestemmer, hvor den skal videresendes: den har en skriftlig politik, ifølge hvilken den skal sende alle pakker mellem kl. 192.168.B.0/24 и 192.168.A.0/24 передавать по VPN-соединению между BBB1 и AAA1;

6) routeren genererer et ESP-datagram fra BBB1AAA1;

7) routeren bestemmer, hvem den skal sende denne pakke til, den sender den til f.eks. BBB254 (ISP gateway), fordi der er mere specifikke ruter til AAA1, end 0.0.0.0/0, den har ikke;

8) точно так же, как уже было сказано, он находит MAC-адрес для BBB254 og transmitterer pakken til ISP-gatewayen;

9) Internetudbydere sender et ESP-datagram fra BBB1AAA1;

10) виртуальный маршрутизатор на AAA1 modtager dette datagram, dekrypterer det og modtager en pakke fra 192.168.B.1:55555 for 192.168.A.1:3389;

11) den virtuelle router tjekker, hvem den skal videregive til, finder netværket i routingtabellen 192.168.A.0/24 og sender den direkte til 192.168.A.1, поскольку имеет интерфейс 192.168.A.254/24;

12) til dette finder den virtuelle router MAC-adressen til 192.168.A.1 og sender denne pakke til ham via et virtuelt Ethernet-netværk;

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

14) его система передаёт этот пакет на шлюзовый адрес виртуального маршрутизатора (192.168.A.254 в нашем случае), потому что других, более специфических маршрутов для 192.168.B.1, det har den ikke, derfor skal den transmittere pakken via standardruten (0.0.0.0/0);

15) det samme som i tidligere tilfælde, et system, der kører på en server med adressen 192.168.A.1, finder MAC-adressen 192.168.A.254, поскольку тот находится в одной сети с её интерфейсом 192.168.A.1/24;

16) den virtuelle router modtager denne pakke og bestemmer, hvor den skal videresendes: den har en skriftlig politik, ifølge hvilken den skal sende alle pakker mellem kl. 192.168.A.0/24 и 192.168.B.0/24 передавать по VPN-соединению между AAA1 и BBB1;

17) виртуальный маршрутизатор формирует ESP-датаграмму от AAA1 for BBB1;

18) den virtuelle router bestemmer, hvem denne pakke skal sendes til, sender den til AAA254 (ISP-gateway, i dette tilfælde er det også os), fordi der er mere specifikke ruter til BBB1, end 0.0.0.0/0, den har ikke;

19) Internetudbydere sender et ESP-datagram over deres netværk med AAA1BBB1;

20) router tændt BBB1 modtager dette datagram, dekrypterer det og modtager en pakke fra 192.168.A.1:3389 for 192.168.B.1:55555;

21) han forstår, at det skal overføres specifikt til 192.168.B.1, поскольку тот находится с ним в одной сети, следовательно, у того есть в таблице маршрутизации соответствующая запись, которая вынуждает его отправлять пакеты для всей 192.168.B.0/24 direkte;

22) routeren finder MAC-adressen til 192.168.B.1 og rækker ham denne pakke;

23) styresystem på en computer med adressen 192.168.B.1 modtager en pakke fra 192.168.A.1:3389 for 192.168.B.1:55555 og starter de næste trin for at etablere en TCP-forbindelse.

Dette eksempel beskriver ganske kort og forenklet (og her kan du huske en masse andre detaljer) hvad der sker på niveau 2-4. Niveau 1, 5-7 tages ikke i betragtning.

Position to

Hvis med 192.168.B.0/24 noget sendes specifikt til AAA2, går det ikke til VPN, men direkte. Det vil sige, hvis brugeren fra adressen 192.168.B.1 appellerer til AAA2:13389, denne pakke kommer fra adressen BBB1, går videre AAA2, og så modtager routeren det og sender det til 192.168.A.1. 192.168.A.1 ved ikke noget om 192.168.B.1, han ser en pakke fra BBB1, fordi han fik ham. Derfor følger svaret på denne anmodning den generelle rute, det kommer fra adressen på samme måde AAA2 og går til BBB1, og den router sender dette svar til 192.168.B.1, ser han svaret fra AAA2, som han henvendte sig til.

Specifikt eksempel:

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

2) 192.168.B.1 sender en forbindelsesanmodning fra 192.168.B.1:55555 (dette nummer, som i det foregående eksempel, kan være anderledes) på AAA2:13389;

3) операционная система, которая работает на компьютере с адресом 192.168.B.1, beslutter at videresende denne pakke til routerens gateway-adresse (192.168.B.254 в нашем случае), потому что других, более специфических маршрутов для AAA2, den har ikke en, hvilket betyder, at den transmitterer pakken via standardruten (0.0.0.0/0);

4) til dette, som vi nævnte i det foregående eksempel, forsøger den at finde MAC-adressen for IP-adressen 192.168.B.254 в кэш-таблице протокола ARP. Если он не обнаружен, отправляет с адреса 192.168.B.1 широковещательный who-has запрос к сети 192.168.B.0/24. Hvornår 192.168.B.254 som svar sender det dens MAC-adresse, systemet transmitterer en Ethernet-pakke til den og indtaster denne information i sin cache-tabel;

5) routeren modtager denne pakke og beslutter, hvor den skal videresendes: den har en skriftlig politik, ifølge hvilken den skal videresende (erstatter returadressen) alle pakker fra 192.168.B.0/24 til andre internetknudepunkter;

6) da denne politik indebærer, at returadressen skal matche den lave adresse på grænsefladen, hvorigennem denne pakke vil blive transmitteret, beslutter routeren først, hvem der præcist skal sende denne pakke til, og han, som i det foregående eksempel, skal sende den til BBB254 (ISP gateway), fordi der er mere specifikke ruter til AAA2, end 0.0.0.0/0, den har ikke;

7) derfor erstatter routeren pakkens returadresse, herefter er pakken fra BBB1:44444 (portnummeret kan selvfølgelig være anderledes) til AAA2:13389;

8) routeren husker, hvad den gjorde, hvilket betyder hvornår AAA2:13389 к BBB1:44444 поступит ответ, он будет знать, что ему следует изменить адрес и порт получателя на 192.168.B.1:55555.

9) теперь маршрутизатор должен передать его к сети интернет-провайдера через BBB254derfor, ligesom vi allerede har nævnt, finder den MAC-adressen for BBB254 og transmitterer pakken til ISP-gatewayen;

10) Internetudbydere sender pakker fra BBB1AAA2;

11) виртуальный маршрутизатор на AAA2 modtager denne pakke på port 13389;

12) der er en regel på den virtuelle router, der foreskriver, at pakker modtaget fra enhver afsender på denne port skal transmitteres til 192.168.A.1:3389;

13) den virtuelle router finder netværket i routingtabellen 192.168.A.0/24 og sender den direkte 192.168.A.1, fordi den har en grænseflade 192.168.A.254/24;

14) til dette finder den virtuelle router MAC-adressen til 192.168.A.1 og sender denne pakke til ham via et virtuelt Ethernet-netværk;

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

16) его система передаёт этот пакет на шлюзовый адрес виртуального маршрутизатора (192.168.A.254 в нашем случае), потому что других, более специфических маршрутов для BBB1, det har den ikke, derfor skal den transmittere pakken via standardruten (0.0.0.0/0);

17) nøjagtig det samme som i tidligere tilfælde, et system, der kører på en server med adressen 192.168.A.1, finder MAC-adressen 192.168.A.254, поскольку тот находится в одной сети с её интерфейсом 192.168.A.1/24;

18) den virtuelle router modtager denne pakke. Det skal bemærkes, at han husker, hvad han modtog på AAA2:13389 pakke fra BBB1:44444 og ændrede sin modtagers adresse og port til 192.168.A.1:3389, derfor pakken fra 192.168.A.1:3389 for BBB1:44444 det ændrer afsenderadressen til AAA2:13389;

19) виртуальный маршрутизатор решает, кому передать этот пакет, он отправляет его на AAA254 (ISP-gateway, i dette tilfælde er det også os), fordi der er mere specifikke ruter til BBB1, end 0.0.0.0/0, den har ikke;

20) Internetudbydere sender en pakke med AAA2BBB1;

21) router tændt BBB1 принимает этот пакет и вспоминает, что, когда он передавал пакет от 192.168.B.1:55555 for AAA2:13389, ændrede han sin adresse og afsenderport til BBB1:44444, så er det dette svar, der skal sendes til 192.168.B.1:55555 (faktisk er der flere kontroller der, men det går vi ikke dybt ind i);

22) han forstår, at det skal sendes direkte til 192.168.B.1, da han er på samme netværk med ham, har han derfor en tilsvarende post i routingtabellen, som tvinger ham til at sende pakker for hele 192.168.B.0/24 direkte;

23) routeren finder MAC-adressen til 192.168.B.1 og rækker ham denne pakke;

24) styresystem på en computer med adressen 192.168.B.1 modtager en pakke fra AAA2:13389 for 192.168.B.1:55555 og starter de næste trin for at etablere en TCP-forbindelse.

Det skal bemærkes, at i dette tilfælde computeren med adressen 192.168.B.1 ничего не знает о сервере с адресом 192.168.A.1, han kun kommunikerer med AAA2. Ligeledes serveren med adressen 192.168.A.1 ved intet om computeren med adressen 192.168.B.1. Он считает, что к нему подключились с адреса BBB1, og han ved så at sige ikke andet.

Det skal også bemærkes, at hvis denne computer tilgår AAA2:1540, соединение не будет установлено, потому что проброс соединений на порт 1540 не настроен на виртуальном маршрутизаторе, даже если на каких-либо серверах в виртуальной сети 192.168.A.0/24 (for eksempel på en server med adressen 192.168.A.1), og der er nogle tjenester, der venter på forbindelser på denne port. Hvis en computerbruger med en adresse 192.168.B.1 Det er bydende nødvendigt at etablere en forbindelse til denne tjeneste, den skal bruge en VPN, dvs. kontakt direkte 192.168.A.1:1540.

Det skal understreges, at ethvert forsøg på at etablere forbindelse med AAA1 (bortset fra IPSec-forbindelsen fra BBB1 vil ikke lykkes. Ethvert forsøg på at etablere forbindelser med AAA2, кроме соединений с портом 13389, тоже не будут удачными.
Vi bemærker også, at hvis det skal AAA2 Hvis en anden ansøger (f.eks. CCCC), vil alt, der er angivet i afsnit 10-20, også gælde for ham. Hvad der sker før og efter dette afhænger af, hvad der præcist ligger bag denne CCCC. Vi har ikke sådanne oplysninger, så vi råder dig til at konsultere administratorerne af noden med CCCC-adressen

Position tre

Og omvendt, hvis med 192.168.A.1 noget sendes til en eller anden port, der er konfigureret til at videresende indad til BBB1 (f.eks. 11111), det ender heller ikke i VPN, men flyder blot fra AAA1 og kommer ind BBB1, og han transmitterer det allerede et sted i f.eks. 192.168.B.2:3389. Han ser denne pakke ikke fra 192.168.A.1, men AAA1. Og når 192.168.B.2 отвечает, пакет идёт от BBB1AAA1, а позже попадает к инициатору соединения — 192.168.A.1.

Specifikt eksempel:

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

2) 192.168.A.1 sender en forbindelsesanmodning fra 192.168.A.1:55555 (dette nummer, som i det foregående eksempel, kan være anderledes) på BBB1:11111;

3) et operativsystem, der kører på en server med adressen 192.168.A.1, beslutter at videresende denne pakke til routerens gateway-adresse (192.168.A.254 в нашем случае), потому что других, более специфических маршрутов для BBB1, у неё нет, следовательно, она передаёт пакет по маршруту по умолчанию (0.0.0.0/0);

4) til dette, som vi nævnte i tidligere eksempler, forsøger den at finde MAC-adressen for IP-adressen 192.168.A.254 в кэш-таблице протокола ARP. Если он не обнаружен, отправляет с адреса 192.168.A.1 широковещательный who-has запрос к сети 192.168.A.0/24. Hvornår 192.168.A.254 som svar sender han hende sin MAC-adresse, systemet transmitterer en Ethernet-pakke til den og indtaster denne information i sin cache-tabel;

5) виртуальный маршрутизатор принимает этот пакет и решает, куда его передать: у него прописана политика, согласно которой он должен натить (подменяя обратный адрес) все пакеты от 192.168.A.0/24 til andre internetknudepunkter;

6) da denne politik forudsætter, at returadressen skal matche den lave adresse på grænsefladen, hvorigennem denne pakke vil blive transmitteret, beslutter den virtuelle router først, hvem der præcist skal sende denne pakke til, og han, som i det foregående eksempel, skal sende den på AAA254 (ISP-gateway, i dette tilfælde er det også os), fordi der er mere specifikke ruter til BBB1, end 0.0.0.0/0, den har ikke;

7) det betyder at den virtuelle router erstatter pakkens returadresse, fra nu af er det en pakke fra AAA1:44444 (portnummeret kan selvfølgelig være anderledes) til BBB1:11111;

8) den virtuelle router husker, hvad den gjorde, derfor hvornår fra BBB1:11111 for AAA1:44444 поступит ответ, он будет знать, что ему следует изменить адрес и порт получателя на 192.168.A.1:55555.

9) nu skal den virtuelle router sende den til ISP-netværket via AAA254, så ligesom vi allerede har nævnt, finder den MAC-adressen til AAA254 og transmitterer pakken til ISP-gatewayen;

10) Internetudbydere sender pakker fra AAA1 til BBB1;

11) router tændt BBB1 modtager denne pakke på port 11111;

12) на виртуальном маршрутизаторе существует правило, которое предусматривает, что пакеты, которые поступили от какого-либо отправителя на этот порт, следует передавать на 192.168.B.2:3389;

13) routeren finder netværket i routingtabellen 192.168.B.0/24 og sender den direkte til 192.168.B.2, поскольку имеет интерфейс 192.168.B.254/24;

14) til dette finder den virtuelle router MAC-adressen til 192.168.B.2 og sender denne pakke til ham via et virtuelt Ethernet-netværk;

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

16) hans system sender denne pakke til routerens gateway-adresse (192.168.B.254 в нашем случае), потому что других, более специфических маршрутов для AAA1, det har den ikke, derfor skal den transmittere pakken via standardruten (0.0.0.0/0);

17) på samme måde som i tidligere tilfælde, et system, der kører på en computer med adressen 192.168.B.2, finder MAC-adressen 192.168.B.254, поскольку тот находится в одной сети с её интерфейсом 192.168.B.2/24;

18) routeren modtager denne pakke. Det skal bemærkes, at han husker, hvad han modtog på BBB1:11111 pakke fra AAA1 og ændrede sin modtagers adresse og port til 192.168.B.2:3389, derfor pakken fra 192.168.B.2:3389 for AAA1:44444 det ændrer afsenderadressen til BBB1:11111;

19) routeren bestemmer, hvem denne pakke skal sendes til. Han sender det til f.eks. BBB254 (ISP-gateway, den nøjagtige adresse, som vi ikke kender), fordi der ikke er mere specifikke ruter til AAA1, end 0.0.0.0/0, den har ikke;

20) Internetudbydere sender en pakke med BBB1AAA1;

21) виртуальный маршрутизатор на AAA1 принимает этот пакет и вспоминает, что, когда он передавал пакет от 192.168.A.1:55555 for BBB1:11111, ændrede han sin adresse og afsenderport til AAA1:44444. Значит, это ответ, который необходимо передать на 192.168.A.1:55555 (faktisk er der, som vi nævnte i det foregående eksempel, også flere flere kontroller, men denne gang går vi ikke i dybden med dem);

22) han forstår, at det skal sendes direkte til 192.168.A.1, da han er på samme netværk med ham, betyder det, at han har en tilsvarende post i routing-tabellen, der tvinger ham til at sende pakker til hele 192.168.A.0/24 direkte;

23) routeren finder MAC-adressen til 192.168.A.1 og rækker ham denne pakke;

24) operativsystem på serveren med adressen 192.168.A.1 modtager en pakke fra BBB1:11111 for 192.168.A.1:55555 og starter de næste trin for at etablere en TCP-forbindelse.

Præcis det samme som i det foregående tilfælde, i dette tilfælde serveren med adressen 192.168.A.1 ved intet om computeren med adressen 192.168.B.1, han kun kommunikerer med BBB1. Computer med adresse 192.168.B.1 ved heller ikke noget om serveren med adressen 192.168.A.1. Он считает, что к нему подключились с адреса AAA1, og resten er skjult for ham.

Output

Sådan foregår alt for forbindelser inde i VPN-tunnelen mellem klientens kontor og cloudmiljøet, samt for forbindelser uden for VPN-tunnelen. Og hvis du har spørgsmål eller brug for vores hjælp til at løse cloud-problemer, обращайтесь 24х7.

Kilde: www.habr.com

Tilføj en kommentar