Apa yang terjadi pada koneksi di dalam dan di luar terowongan VPN

Artikel nyata lahir dari surat kepada dukungan teknis Tucha. Misalnya, klien baru-baru ini menghubungi kami dengan permintaan untuk mengklarifikasi apa yang terjadi selama koneksi di dalam terowongan VPN antara kantor pengguna dan lingkungan cloud, serta selama koneksi di luar terowongan VPN. Oleh karena itu, seluruh teks di bawah ini adalah surat sebenarnya yang kami kirimkan kepada salah satu klien kami sebagai jawaban atas pertanyaannya. Tentu saja, alamat IP diubah agar klien tidak dianonimkan. Tapi ya, dukungan teknis Tucha sangat terkenal dengan jawaban mendetail dan email informatifnya. πŸ™‚

Tentu saja, kami memahami bahwa bagi banyak orang, artikel ini bukanlah sebuah wahyu. Namun, karena artikel untuk administrator pemula muncul di Habr dari waktu ke waktu, dan juga karena artikel ini muncul dari surat asli untuk klien nyata, kami akan tetap membagikan informasi ini di sini. Ada kemungkinan besar bahwa itu akan bermanfaat bagi seseorang.
Oleh karena itu, kami menjelaskan secara detail apa yang terjadi antara server di cloud dan kantor jika keduanya terhubung melalui jaringan situs-ke-situs. Perhatikan bahwa beberapa layanan hanya dapat diakses dari kantor, dan beberapa lainnya dapat diakses dari mana saja di Internet.

Mari kita segera jelaskan apa yang diinginkan klien kita di server 192.168.A.1 Anda bisa datang dari mana saja melalui RDP, menghubungkan ke AAA2:13389, dan akses ke layanan lain hanya dari kantor (192.168.B.0/24)terhubung melalui VPN. Selain itu, klien awalnya telah mengonfigurasi mobil itu 192.168.B.2 di kantor juga dimungkinkan untuk menggunakan RDP dari mana saja, terhubung ke BBB1:11111. Kami membantu mengatur koneksi IPSec antara cloud dan kantor, dan spesialis TI pelanggan mulai mengajukan pertanyaan tentang apa yang akan terjadi dalam kasus ini atau itu. Untuk menjawab semua pertanyaan ini, kami sebenarnya menulis kepadanya semua yang dapat Anda baca di bawah.

Apa yang terjadi pada koneksi di dalam dan di luar terowongan VPN

Sekarang mari kita lihat proses ini lebih terinci.

Posisi satu

Ketika sesuatu dikirim dari 192.168.B.0/24 Π² 192.168.A.0/24 atau dari 192.168.A.0/24 Π² 192.168.B.0/24, itu masuk ke VPN. Artinya, paket ini juga dienkripsi dan dikirimkan antar BBB1 ΠΈ AAA1Tetapi 192.168.A.1 melihat paket persisnya dari 192.168.B.1. Mereka dapat berkomunikasi satu sama lain menggunakan protokol apa pun. Balasan balasan dikirimkan dengan cara yang sama melalui VPN, yang berarti paket berasal 192.168.A.1 untuk 192.168.B.1 akan dikirim sebagai datagram ESP dari AAA1 pada BBB1, di mana router akan dibuka di sisi itu, keluarkan paket itu dari sana dan kirimkan ke sana 192.168.B.1 sebagai paket dari 192.168.A.1.

Contoh spesifik:

1) 192.168.B.1 menarik untuk 192.168.A.1, ingin membuat koneksi TCP dengan 192.168.A.1:3389;

2) 192.168.B.1 mengirimkan permintaan koneksi dari 192.168.B.1:55555 (dia memilih sendiri nomor port untuk umpan balik; selanjutnya kita akan menggunakan nomor 55555 sebagai contoh nomor port yang dipilih sistem saat membuat koneksi TCP) pada 192.168.A.1:3389;

3) sistem operasi yang berjalan pada komputer dengan alamat 192.168.B.1, memutuskan untuk meneruskan paket ini ke alamat gateway router (192.168.B.254 dalam kasus kami), karena rute lain yang lebih spesifik untuk 192.168.A.1, ia tidak memilikinya, oleh karena itu, ia mengirimkan paket melalui rute default (0.0.0.0/0);

4) untuk ini ia mencoba menemukan alamat MAC untuk alamat IP 192.168.B.254 dalam tabel cache protokol ARP. Jika tidak terdeteksi, kirim dari alamat 192.168.B.1 menyiarkan permintaan siapa-siapa ke jaringan 192.168.B.0/24... Kapan 192.168.B.254 sebagai tanggapan, ia mengirimkan alamat MAC-nya, sistem mengirimkan paket Ethernet untuknya dan memasukkan informasi ini ke dalam tabel cache-nya;

5) router menerima paket ini dan memutuskan ke mana akan meneruskannya: router memiliki kebijakan tertulis yang menyatakan bahwa router harus mengirim semua paket di antaranya 192.168.B.0/24 ΠΈ 192.168.A.0/24 transfer melalui koneksi VPN antar BBB1 ΠΈ AAA1;

6) router menghasilkan datagram ESP dari BBB1 pada AAA1;

7) router memutuskan kepada siapa paket ini akan dikirim, ia mengirimkannya ke, katakanlah, BBB254 (Gateway ISP) karena ada rute yang lebih spesifik AAA1, dari 0.0.0.0/0, tidak memiliki;

8) persis sama seperti yang telah dikatakan, ia menemukan alamat MAC untuknya BBB254 dan mengirimkan paket ke gateway ISP;

9) Penyedia internet mengirimkan datagram ESP dari BBB1 pada AAA1;

10) router virtual aktif AAA1 menerima datagram ini, mendekripsinya dan menerima paket darinya 192.168.B.1:55555 untuk 192.168.A.1:3389;

11) router virtual memeriksa kepada siapa harus meneruskannya, menemukan jaringan di tabel routing 192.168.A.0/24 dan mengirimkannya langsung ke 192.168.A.1, karena memiliki antarmuka 192.168.A.254/24;

12) untuk ini, router virtual menemukan alamat MAC untuk 192.168.A.1 dan mengirimkan paket ini kepadanya melalui jaringan Ethernet virtual;

13) 192.168.A.1 menerima paket ini pada port 3389, setuju untuk membuat koneksi dan menghasilkan paket sebagai tanggapan 192.168.A.1:3389 pada 192.168.B.1:55555;

14) sistemnya mengirimkan paket ini ke alamat gateway router virtual (192.168.A.254 dalam kasus kami), karena rute lain yang lebih spesifik untuk 192.168.B.1, tidak memilikinya, oleh karena itu, ia harus mengirimkan paket melalui rute default (0.0.0.0/0);

15) sama seperti pada kasus sebelumnya, sistem yang berjalan pada server dengan alamat 192.168.A.1, menemukan alamat MAC 192.168.A.254, karena berada di jaringan yang sama dengan antarmukanya 192.168.A.1/24;

16) router virtual menerima paket ini dan memutuskan ke mana akan meneruskannya: ia memiliki kebijakan tertulis yang menyatakan bahwa ia harus mengirim semua paket di antaranya 192.168.A.0/24 ΠΈ 192.168.B.0/24 transfer melalui koneksi VPN antar AAA1 ΠΈ BBB1;

17) router virtual menghasilkan datagram ESP dari AAA1 untuk BBB1;

18) router virtual memutuskan kepada siapa paket ini akan dikirim, mengirimkannya AAA254 (Gateway ISP, dalam hal ini kita juga), karena ada rute yang lebih spesifik BBB1, dari 0.0.0.0/0, tidak memiliki;

19) Penyedia internet mengirimkan datagram ESP melalui jaringan mereka dengan AAA1 pada BBB1;

20) router aktif BBB1 menerima datagram ini, mendekripsinya dan menerima paket darinya 192.168.A.1:3389 untuk 192.168.B.1:55555;

21) dia memahami bahwa itu harus ditransfer secara khusus ke 192.168.B.1, karena dia berada di jaringan yang sama dengannya, oleh karena itu, dia memiliki entri yang sesuai di tabel perutean, yang memaksanya untuk mengirim paket ke seluruh 192.168.B.0/24 secara langsung;

22) router menemukan alamat MAC untuk 192.168.B.1 dan menyerahkan paket ini kepadanya;

23) sistem operasi pada komputer dengan alamat 192.168.B.1 menerima paket dari 192.168.A.1:3389 untuk 192.168.B.1:55555 dan memulai langkah selanjutnya untuk membuat koneksi TCP.

Contoh ini cukup ringkas dan sederhana (dan di sini Anda dapat mengingat banyak detail lainnya) menjelaskan apa yang terjadi di level 2-4. Level 1, 5-7 tidak dipertimbangkan.

Posisi dua

Jika dengan 192.168.B.0/24 sesuatu dikirim secara khusus ke AAA2, itu tidak masuk ke VPN, tapi langsung. Artinya, jika pengguna dari alamat tersebut 192.168.B.1 menarik untuk AAA2:13389, paket ini berasal dari alamatnya BBB1, meneruskan AAA2, lalu router menerimanya dan mengirimkannya ke 192.168.A.1. 192.168.A.1 tidak tahu apa-apa tentang 192.168.B.1, dia melihat paket dari BBB1, karena dia mendapatkannya. Oleh karena itu, respons terhadap permintaan ini mengikuti jalur umum, berasal dari alamat dengan cara yang sama AAA2 dan pergi ke BBB1, dan router tersebut mengirimkan jawaban ini ke 192.168.B.1, dia melihat jawabannya dari AAA2, kepada siapa dia ditujukan.

Contoh spesifik:

1) 192.168.B.1 menarik untuk AAA2, ingin membuat koneksi TCP dengan AAA2:13389;

2) 192.168.B.1 mengirimkan permintaan koneksi dari 192.168.B.1:55555 (nomor ini, seperti pada contoh sebelumnya, mungkin berbeda) aktif AAA2:13389;

3) sistem operasi yang berjalan pada komputer dengan alamat 192.168.B.1, memutuskan untuk meneruskan paket ini ke alamat gateway router (192.168.B.254 dalam kasus kami), karena rute lain yang lebih spesifik untuk AAA2, tidak ada, yang berarti mengirimkan paket melalui rute default (0.0.0.0/0);

4) untuk ini, seperti yang kami sebutkan dalam contoh sebelumnya, ia mencoba menemukan alamat MAC untuk alamat IP 192.168.B.254 dalam tabel cache protokol ARP. Jika tidak terdeteksi, kirim dari alamat 192.168.B.1 menyiarkan permintaan siapa-siapa ke jaringan 192.168.B.0/24... Kapan 192.168.B.254 sebagai tanggapan, ia mengirimkan alamat MAC-nya, sistem mengirimkan paket Ethernet untuknya dan memasukkan informasi ini ke dalam tabel cache-nya;

5) router menerima paket ini dan memutuskan ke mana akan meneruskannya: router memiliki kebijakan tertulis yang menyatakan bahwa router harus meneruskan (mengganti alamat pengirim) semua paket dari 192.168.B.0/24 ke node Internet lainnya;

6) karena kebijakan ini menyiratkan bahwa alamat pengirim harus sesuai dengan alamat rendah pada antarmuka yang melaluinya paket ini akan dikirimkan, router pertama-tama memutuskan kepada siapa sebenarnya paket ini akan dikirim, dan dia, seperti pada contoh sebelumnya, harus mengirimkannya. ke BBB254 (Gateway ISP) karena ada rute yang lebih spesifik AAA2, dari 0.0.0.0/0, tidak memiliki;

7) oleh karena itu, router mengganti alamat pengirim paket, untuk selanjutnya paket tersebut berasal BBB1:44444 (nomor port, tentu saja, mungkin berbeda) ke AAA2:13389;

8) router mengingat apa yang dilakukannya, artinya kapan AAA2:13389 ΠΊ BBB1:44444 tanggapan tiba, dia akan tahu bahwa dia harus mengubah alamat tujuan dan portnya 192.168.B.1:55555.

9) sekarang router harus meneruskannya ke jaringan ISP melalui BBB254karenanya, seperti yang telah kami sebutkan, ia menemukan alamat MAC untuknya BBB254 dan mengirimkan paket ke gateway ISP;

10) Penyedia internet mengirimkan paket dari BBB1 pada AAA2;

11) router virtual aktif AAA2 menerima paket ini pada port 13389;

12) ada aturan pada router virtual yang menetapkan bahwa paket yang diterima dari pengirim mana pun pada port ini harus dikirim ke 192.168.A.1:3389;

13) router virtual menemukan jaringan di tabel routing 192.168.A.0/24 dan mengirimkannya secara langsung 192.168.A.1 karena memiliki antarmuka 192.168.A.254/24;

14) untuk ini, router virtual menemukan alamat MAC untuk 192.168.A.1 dan mengirimkan paket ini kepadanya melalui jaringan Ethernet virtual;

15) 192.168.A.1 menerima paket ini pada port 3389, setuju untuk membuat koneksi dan menghasilkan paket sebagai tanggapan 192.168.A.1:3389 pada BBB1:44444;

16) sistemnya mengirimkan paket ini ke alamat gateway router virtual (192.168.A.254 dalam kasus kami), karena rute lain yang lebih spesifik untuk BBB1, tidak memilikinya, oleh karena itu, ia harus mengirimkan paket melalui rute default (0.0.0.0/0);

17) sama persis dengan kasus sebelumnya, sistem yang berjalan pada server dengan alamat 192.168.A.1, menemukan alamat MAC 192.168.A.254, karena berada di jaringan yang sama dengan antarmukanya 192.168.A.1/24;

18) router virtual menerima paket ini. Perlu dicatat bahwa dia ingat apa yang dia terima AAA2:13389 paket dari BBB1:44444 dan mengubah alamat dan port penerimanya menjadi 192.168.A.1:3389, oleh karena itu, paket dari 192.168.A.1:3389 untuk BBB1:44444 itu mengubah alamat pengirim menjadi AAA2:13389;

19) router virtual memutuskan kepada siapa paket ini akan dikirim, ia mengirimkannya AAA254 (Gateway ISP, dalam hal ini kita juga), karena ada rute yang lebih spesifik BBB1, dari 0.0.0.0/0, tidak memiliki;

20) Penyedia internet mengirimkan paket dengan AAA2 pada BBB1;

21) router aktif BBB1 menerima paket ini dan mengingat kapan dia mengirim paket itu 192.168.B.1:55555 untuk AAA2:13389, dia mengubah alamat dan port pengirimnya menjadi BBB1:44444, maka ini adalah respons yang perlu dikirimkan 192.168.B.1:55555 (sebenarnya masih ada beberapa pemeriksaan lagi di sana, tapi kami tidak membahasnya lebih dalam);

22) dia mengerti bahwa itu harus ditularkan langsung ke 192.168.B.1, karena dia berada di jaringan yang sama dengannya, oleh karena itu, dia memiliki entri yang sesuai di tabel perutean, yang memaksanya untuk mengirim paket ke seluruh 192.168.B.0/24 secara langsung;

23) router menemukan alamat MAC untuk 192.168.B.1 dan menyerahkan paket ini kepadanya;

24) sistem operasi pada komputer dengan alamat 192.168.B.1 menerima paket dari AAA2:13389 untuk 192.168.B.1:55555 dan memulai langkah selanjutnya untuk membuat koneksi TCP.

Perlu dicatat bahwa dalam hal ini komputer dengan alamatnya 192.168.B.1 tidak tahu apa-apa tentang server dengan alamatnya 192.168.A.1, dia hanya berkomunikasi dengannya AAA2. Begitu pula server dengan alamatnya 192.168.A.1 tidak tahu apa-apa tentang komputer dengan alamatnya 192.168.B.1. Dia percaya bahwa dia terhubung dari alamat tersebut BBB1, dan dia tidak tahu apa-apa lagi.

Perlu juga diperhatikan jika komputer ini mengakses AAA2:1540, koneksi tidak akan dibuat karena penerusan koneksi ke port 1540 tidak dikonfigurasi pada router virtual, meskipun di server mana pun di jaringan virtual 192.168.A.0/24 (misalnya, pada server dengan alamat 192.168.A.1) dan ada beberapa layanan yang menunggu koneksi pada port ini. Jika pengguna komputer dengan alamat 192.168.B.1 Sangat penting untuk membuat koneksi ke layanan ini, layanan ini harus menggunakan VPN, mis. hubungi langsung 192.168.A.1:1540.

Perlu ditekankan bahwa segala upaya untuk menjalin hubungan dengan AAA1 (kecuali untuk koneksi IPSec dari BBB1 tidak akan berhasil. Segala upaya untuk menjalin hubungan dengan AAA2, kecuali koneksi ke port 13389, juga tidak akan berhasil.
Kami juga mencatat bahwa jika perlu AAA2 Jika orang lain mengajukan permohonan (misalnya, CCCC), segala sesuatu yang disebutkan dalam paragraf 10-20 akan berlaku baginya juga. Apa yang terjadi sebelum dan sesudah ini tergantung pada apa sebenarnya yang ada di balik CCCC ini. Kami tidak memiliki informasi tersebut, jadi kami menyarankan Anda untuk berkonsultasi dengan administrator node dengan alamat CCCC

Posisi tiga

Dan sebaliknya jika dengan 192.168.A.1 sesuatu dikirim ke beberapa port yang dikonfigurasi untuk meneruskan ke BBB1 (misalnya, 11111), itu juga tidak berakhir di VPN, tetapi hanya mengalir dari AAA1 dan masuk ke dalam BBB1, dan dia sudah mengirimkannya ke suatu tempat, katakanlah, 192.168.B.2:3389. Dia melihat paket ini bukan dari 192.168.A.1, tapi dari AAA1. Dan kapan 192.168.B.2 balasan, paket itu berasal BBB1 pada AAA1, dan kemudian sampai ke pemrakarsa koneksi - 192.168.A.1.

Contoh spesifik:

1) 192.168.A.1 menarik untuk BBB1, ingin membuat koneksi TCP dengan BBB1:11111;

2) 192.168.A.1 mengirimkan permintaan koneksi dari 192.168.A.1:55555 (nomor ini, seperti pada contoh sebelumnya, mungkin berbeda) aktif BBB1:11111;

3) sistem operasi yang berjalan pada server dengan alamat 192.168.A.1, memutuskan untuk meneruskan paket ini ke alamat gateway router (192.168.A.254 dalam kasus kami), karena rute lain yang lebih spesifik untuk BBB1, ia tidak memilikinya, oleh karena itu, ia mengirimkan paket melalui rute default (0.0.0.0/0);

4) untuk ini, seperti yang kami sebutkan dalam contoh sebelumnya, ia mencoba menemukan alamat MAC untuk alamat IP 192.168.A.254 dalam tabel cache protokol ARP. Jika tidak terdeteksi, kirim dari alamat 192.168.A.1 menyiarkan permintaan siapa-siapa ke jaringan 192.168.A.0/24... Kapan 192.168.A.254 sebagai tanggapan, dia mengirimkan alamat MAC-nya, sistem mengirimkan paket Ethernet untuknya dan memasukkan informasi ini ke dalam tabel cache-nya;

5) router virtual menerima paket ini dan memutuskan ke mana akan meneruskannya: ia memiliki kebijakan tertulis yang menyatakan bahwa ia harus meneruskan (mengganti alamat pengirim) semua paket dari 192.168.A.0/24 ke node Internet lainnya;

6) karena kebijakan ini mengasumsikan bahwa alamat pengirim harus sesuai dengan alamat rendah pada antarmuka yang melaluinya paket ini akan dikirimkan, router virtual pertama-tama memutuskan kepada siapa sebenarnya paket ini akan dikirim, dan dia, seperti pada contoh sebelumnya, harus mengirim itu aktif AAA254 (Gateway ISP, dalam hal ini kita juga), karena ada rute yang lebih spesifik BBB1, dari 0.0.0.0/0, tidak memiliki;

7) ini berarti router virtual menggantikan alamat pengirim paket, mulai sekarang paket tersebut berasal AAA1:44444 (nomor port, tentu saja, mungkin berbeda) ke BBB1:11111;

8) router virtual mengingat apa yang dilakukannya, oleh karena itu, kapan dari BBB1:11111 untuk AAA1:44444 tanggapan tiba, dia akan tahu bahwa dia harus mengubah alamat tujuan dan portnya 192.168.A.1:55555.

9) sekarang router virtual harus meneruskannya ke jaringan ISP melalui AAA254, jadi seperti yang telah kami sebutkan, ia menemukan alamat MAC untuknya AAA254 dan mengirimkan paket ke gateway ISP;

10) Penyedia internet mengirimkan paket dari AAA1 hingga BBB1;

11) router aktif BBB1 menerima paket ini pada port 11111;

12) ada aturan pada router virtual yang menetapkan bahwa paket yang datang dari pengirim mana pun pada port ini harus dikirim ke 192.168.B.2:3389;

13) router menemukan jaringan di tabel routing 192.168.B.0/24 dan mengirimkannya langsung ke 192.168.B.2, karena memiliki antarmuka 192.168.B.254/24;

14) untuk ini, router virtual menemukan alamat MAC untuk 192.168.B.2 dan mengirimkan paket ini kepadanya melalui jaringan Ethernet virtual;

15) 192.168.B.2 menerima paket ini pada port 3389, setuju untuk membuat koneksi dan menghasilkan paket sebagai tanggapan 192.168.B.2:3389 pada AAA1:44444;

16) sistemnya mengirimkan paket ini ke alamat gateway router (192.168.B.254 dalam kasus kami), karena rute lain yang lebih spesifik untuk AAA1, tidak memilikinya, oleh karena itu, ia harus mengirimkan paket melalui rute default (0.0.0.0/0);

17) dengan cara yang sama seperti pada kasus sebelumnya, suatu sistem yang berjalan pada komputer dengan alamat 192.168.B.2, menemukan alamat MAC 192.168.B.254, karena berada di jaringan yang sama dengan antarmukanya 192.168.B.2/24;

18) router menerima paket ini. Perlu dicatat bahwa dia ingat apa yang dia terima BBB1:11111 paket dari AAA1 dan mengubah alamat dan port penerimanya menjadi 192.168.B.2:3389, oleh karena itu, paket dari 192.168.B.2:3389 untuk AAA1:44444 itu mengubah alamat pengirim menjadi BBB1:11111;

19) router memutuskan kepada siapa paket ini akan dikirim. Dia mengirimkannya ke, katakanlah, BBB254 (Gateway ISP yang alamat pastinya tidak kami ketahui), karena tidak ada rute yang lebih spesifik ke sana AAA1, dari 0.0.0.0/0, tidak memiliki;

20) Penyedia internet mengirimkan paket dengan BBB1 pada AAA1;

21) router virtual aktif AAA1 menerima paket ini dan mengingat kapan dia mengirim paket itu 192.168.A.1:55555 untuk BBB1:11111, dia mengubah alamat dan port pengirimnya menjadi AAA1:44444. Artinya inilah jawaban yang perlu dikirimkan 192.168.A.1:55555 (sebenarnya, seperti yang kami sebutkan pada contoh sebelumnya, masih ada beberapa pemeriksaan lagi, namun kali ini kami tidak membahasnya secara mendalam);

22) dia mengerti bahwa itu harus ditularkan langsung ke 192.168.A.1, karena dia berada di jaringan yang sama dengannya, itu berarti dia memiliki entri yang sesuai di tabel routing yang memaksanya untuk mengirim paket ke seluruh 192.168.A.0/24 secara langsung;

23) router menemukan alamat MAC untuk 192.168.A.1 dan menyerahkan paket ini kepadanya;

24) sistem operasi pada server dengan alamat 192.168.A.1 menerima paket dari BBB1:11111 untuk 192.168.A.1:55555 dan memulai langkah selanjutnya untuk membuat koneksi TCP.

Sama persis seperti pada kasus sebelumnya, dalam hal ini server dengan alamatnya 192.168.A.1 tidak tahu apa-apa tentang komputer dengan alamatnya 192.168.B.1, dia hanya berkomunikasi dengannya BBB1. Komputer dengan alamat 192.168.B.1 juga tidak tahu apa-apa tentang server dengan alamatnya 192.168.A.1. Dia percaya bahwa dia terhubung dari alamat tersebut AAA1, dan sisanya disembunyikan darinya.

Keluaran

Ini adalah bagaimana segala sesuatu terjadi untuk koneksi di dalam terowongan VPN antara kantor klien dan lingkungan cloud, serta untuk koneksi di luar terowongan VPN. Dan jika Anda memiliki pertanyaan atau membutuhkan bantuan kami dalam memecahkan masalah cloud, hubungi kami 24x7.

Sumber: www.habr.com

Tambah komentar