VPN 隧道內部和外部的連線會發生什麼情況

真正的文章是從給圖茶技術支援的信中誕生的。 例如,一位客戶最近聯繫我們,要求澄清在使用者辦公室和雲端環境之間的 VPN 隧道內部連接期間以及在 VPN 隧道外部連接期間會發生什麼情況。 因此,以下的全文是我們為回應一位客戶的問題而發送給他的一封真實的信件。 當然,IP 位址已更改,以免客戶端去匿名化。 但是,是的,Tucha 技術支援確實以其詳細的答案和資訊豐富的電子郵件而聞名。 🙂

當然,我們知道對許多人來說,這篇文章不會是個啟示。 但是,由於 Habr 上不時出現針對新手管理員的文章,而且由於這篇文章是寫給真實客戶的真實信件,因此我們仍然會在這裡分享這些資訊。 它很有可能對某人有用。
因此,我們詳細解釋瞭如果雲端中的伺服器和辦公室通過站點到站點網路連接,它們之間會發生什麼。 請注意,有些服務只能從辦公室訪問,有些服務可以從互聯網上的任何地方訪問。

讓我們立即解釋一下我們的客戶想要在伺服器上做什麼 192.168.A.1 您可以透過 RDP 從任何地方連接到 AAA2:13389,並且只能從辦公室存取其他服務 (192.168.B.0/24)透過 VPN 連線。 此外,客戶最初將汽車配置為 192.168.B.2 在辦公室中,也可以從任何地方使用 RDP,連接到 BBB1:11111。 我們幫助組織雲端和辦公室之間的 IPSec 連接,客戶的 IT 專家開始詢問在這種或那種情況下會發生什麼。 為了回答所有這些問題,我們實際上寫了您在下面可以讀到的所有內容。

VPN 隧道內部和外部的連線會發生什麼情況

現在讓我們更詳細地了解這些過程。

位置一

當有東西發送自 192.168.B.0/24 в 192.168.A.0/24 或來自 192.168.A.0/24 в 192.168.B.0/24,它進入VPN。 也就是說,這個資料包被額外加密並在之間傳輸 血腦屏障1 и AAA1192.168.A.1 看到包裹完全來自 192.168.B.1。 他們可以使用任何協定相互通訊。 回傳回覆也以相同的方式透過 VPN 傳輸,這意味著來自 192.168.A.1192.168.B.1 將作為 ESP 數據報從 AAA1血腦屏障1,路由器將在該側展開,從中取出該資料包並將其發送到 192.168.B.1 作為一個包來自 192.168.A.1.

具體例子:

1) 192.168.B.1 是有吸引力對 192.168.A.1,想要建立 TCP 連線 192.168.A.1:3389;

2) 192.168.B.1 發送連線請求 192.168.B.1:55555 (他自己選擇回饋的連接埠號,下面我們以55555這個數字為例,系統在建立TCP連線時選擇的連接埠號碼) 192.168.A.1:3389;

3)在具有以下位址的電腦上執行的作業系統 192.168.B.1,決定將此封包轉送到路由器的網關位址(192.168.B.254 在我們的例子中),因為其他更具體的路線 192.168.A.1,它沒有,因此,它透過預設路由(0.0.0.0/0)傳輸資料包;

4) 為此,它嘗試尋找 IP 位址的 MAC 位址 192.168.B.254 在ARP協定快取表中。 如果沒有偵測到,則從該位址發送 192.168.B.1 向網路廣播 who-has 請求 192.168.B.0/24... 什麼時候 192.168.B.254 作為回應,它向其發送其 MAC 位址,系統為其傳輸乙太網路資料包並將該資訊輸入到其快取表中;

5) 路由器接收該封包並決定將其轉送到何處:它有一個書面策略,根據該策略必須在之間發送所有資料包 192.168.B.0/24 и 192.168.A.0/24 透過 VPN 連線進行傳輸 血腦屏障1 и AAA1;

6) 路由器產生 ESP 資料報 血腦屏障1AAA1;

7) 路由器決定將該封包傳送給誰,例如,將其發送給, 血腦屏障254 (ISP網關)因為有更具體的路由 AAA1,比0.0.0.0/0,沒有;

8) 與已經說過的完全相同,它找到了 MAC 位址 血腦屏障254 並將資料包傳送至ISP網關;

9) 網際網路供應商傳輸 ESP 資料報 血腦屏障1AAA1;

10) 虛擬路由器開啟 AAA1 接收此資料報,對其進行解密並從以下位置接收資料包 192.168.B.1:55555192.168.A.1:3389;

11) 虛擬路由器檢查將其傳遞給誰,在路由表中找到該網絡 192.168.A.0/24 並直接發送至 192.168.A.1,因為它有一個接口 192.168.A.254/24;

12) 為此,虛擬路由器會尋找 MAC 位址 192.168.A.1 並透過虛擬乙太網路將該資料包傳輸給他;

13) 192.168.A.1 在連接埠 3389 上收到此資料包,同意建立連線並產生一個資料包作為回應 192.168.A.1:3389192.168.B.1:55555;

14) 他的系統將此封包傳輸到虛擬路由器的閘道位址(192.168.A.254 在我們的例子中),因為其他更具體的路線 192.168.B.1,它沒有,因此,它必須透過預設路由(0.0.0.0/0)傳輸資料包;

15) 與之前的情況相同,在地址為的伺服器上運行的系統 192.168.A.1,查找MAC位址 192.168.A.254,因為它與其介面位於同一網路上 192.168.A.1/24;

16) 虛擬路由器接收該封包並決定將其轉發到何處:它有一個書面策略,根據該策略必須在之間發送所有資料包 192.168.A.0/24 и 192.168.B.0/24 透過 VPN 連線進行傳輸 AAA1 и 血腦屏障1;

17) 虛擬路由器產生 ESP 資料報 AAA1血腦屏障1;

18) 虛擬路由器決定把這個封包傳送給誰,發送給 AAA254 (ISP網關,在這種情況下,也是我們),因為有更具體的路由 血腦屏障1,比0.0.0.0/0,沒有;

19) 網路供應商透過其網路傳輸 ESP 資料報 AAA1血腦屏障1;

20) 路由器開啟 血腦屏障1 接收此資料報,對其進行解密並從以下位置接收資料包 192.168.A.1:3389192.168.B.1:55555;

21) 他明白應該專門轉移到 192.168.B.1,由於他和他在同一個網絡,因此,他在路由表中有一個相應的條目,這迫使他發送整個網路的資料包 192.168.B.0/24 直接地;

22) 路由器找到 MAC 位址 192.168.B.1 然後把這個包裹遞給他;

23) 具有該位址的電腦上的作業系統 192.168.B.1 收到包裹 192.168.A.1:3389192.168.B.1:55555 並啟動後續步驟來建立 TCP 連線。

這個例子非常簡潔明了(在這裡你可以記住一堆其他細節)描述了 2-4 級發生的情況。 不考慮等級 1、5-7。

位置二

如果與 192.168.B.0/24 某物被特別寄至 AAA2,它不走VPN,而是直接走。 也就是說,如果使用者從該位址 192.168.B.1 是有吸引力對 AAA2:13389,這個資料包來自地址 血腦屏障1, 傳遞 AAA2,然後路由器接收並轉發給 192.168.A.1. 192.168.A.1 什麼都不知道 192.168.B.1,他看到一個來自 血腦屏障1,因為他得到了他。 因此,對該請求的回應遵循一般路線,它以相同的方式來自該地址 AAA2 並前往 血腦屏障1,並且該路由器將此答案發送到 192.168.B.1,他看到了答案 AAA2,他向誰致詞。

具體例子:

1) 192.168.B.1 是有吸引力對 AAA2,想要建立 TCP 連線 AAA2:13389;

2) 192.168.B.1 發送連線請求 192.168.B.1:55555 (這個數字,與前面的例子一樣,可能不同) AAA2:13389;

3)在具有以下位址的電腦上執行的作業系統 192.168.B.1,決定將此封包轉送到路由器的網關位址(192.168.B.254 在我們的例子中),因為其他更具體的路線 AAA2,它沒有,這意味著它通過預設路由(0.0.0.0/0)傳輸資料包;

4) 為此,正如我們在前面的範例中所提到的,它會嘗試尋找 IP 位址的 MAC 位址 192.168.B.254 在ARP協定快取表中。 如果沒有偵測到,則從該位址發送 192.168.B.1 向網路廣播 who-has 請求 192.168.B.0/24... 什麼時候 192.168.B.254 作為回應,它向其發送其 MAC 位址,系統為其傳輸乙太網路資料包並將該資訊輸入到其快取表中;

5) 路由器接收該封包並決定將其轉發到何處:它有一個書面策略,根據該策略必須轉發(替換返回地址)來自的所有資料包 192.168.B.0/24 至其他互聯網節點;

6) 由於該策略意味著返回位址必須與傳輸該封包的介面上的低位址相匹配,因此路由器首先決定將該封包傳送給誰,並且如上例所示,他必須傳送該封包到 血腦屏障254 (ISP網關)因為有更具體的路由 AAA2,比0.0.0.0/0,沒有;

7) 因此,路由器替換了封包的返回位址,從此封包來自 BBB1:44444 (當然,連接埠號碼可能不同) AAA2:13389;

8)路由器記住它做了什麼,這意味著什麼時候 AAA2:13389 к BBB1:44444 當響應到達時,他會知道他應該將目標位址和連接埠更改為 192.168.B.1:55555.

9) 現在路由器應該透過以下方式將其傳遞到 ISP 網絡 血腦屏障254因此,就像我們已經提到的,它會找到 MAC 位址 血腦屏障254 並將資料包傳送至ISP網關;

10) 網路供應商傳輸資料包 血腦屏障1AAA2;

11) 虛擬路由器開啟 AAA2 在連接埠 13389 上收到此封包;

12) 虛擬路由器上有一條規則,規定從該連接埠上的任何發送方收到的封包都應傳輸到 192.168.A.1:3389;

13)虛擬路由器在路由表中尋找網絡 192.168.A.0/24 並直接發送 192.168.A。1 因為它有接口 192.168.A.254/24;

14) 為此,虛擬路由器會尋找 MAC 位址 192.168.A.1 並透過虛擬乙太網路將該資料包傳輸給他;

15) 192.168.A.1 在連接埠 3389 上收到此資料包,同意建立連線並產生一個資料包作為回應 192.168.A.1:3389 BBB1:44444;

16) 他的系統將此封包傳輸到虛擬路由器的閘道位址(192.168.A.254 在我們的例子中),因為其他更具體的路線 血腦屏障1,它沒有,因此,它必須透過預設路由(0.0.0.0/0)傳輸資料包;

17) 與先前的情況完全相同,在地址為的伺服器上運行的系統 192.168.A.1,查找MAC位址 192.168.A.254,因為它與其介面位於同一網路上 192.168.A.1/24;

18) 虛擬路由器接收到這個封包。 應該指出的是,他記得他收到的內容 AAA2:13389 包裹來自 BBB1:44444 並將收件人的地址和連接埠更改為 192.168.A.1:3389,因此,包包來自 192.168.A.1:3389 BBB1:44444 它將寄件者地址更改為 AAA2:13389;

19) 虛擬路由器決定把這個封包傳送給誰,它傳送給 AAA254 (ISP網關,在這種情況下,也是我們),因為有更具體的路由 血腦屏障1,比0.0.0.0/0,沒有;

20) 網路供應商傳輸資料包 AAA2血腦屏障1;

21) 路由器開啟 血腦屏障1 收到這個資料包並記得當他從 192.168.B.1:55555AAA2:13389,他將地址和發送端口更改為 BBB1:44444,那麼這就是需要發送到的回應 192.168.B.1:55555 (事實上,還有更多檢查,但我們不深入討論);

22) 他明白應該直接傳送至 192.168.B.1,由於他和他在同一個網絡,因此,他在路由表中有一個相應的條目,這迫使他發送整個網路的資料包 192.168.B.0/24 直接地;

23) 路由器找到 MAC 位址 192.168.B.1 然後把這個包裹遞給他;

24) 具有該位址的電腦上的作業系統 192.168.B.1 收到包裹 AAA2:13389192.168.B.1:55555 並啟動後續步驟來建立 TCP 連線。

應該注意的是,在這種情況下,具有地址的計算機 192.168.B.1 對具有該位址的伺服器一無所知 192.168.A.1,他只與 AAA2。 同樣,具有位址的伺服器 192.168.A.1 對具有該位址的計算機一無所知 192.168.B.1。 他相信他是透過該地址連接的 血腦屏障1,可以這麼說,他什麼都不知道。

還應該注意的是,如果這台計算機訪問 AAA2:1540,將不會建立連接,因為虛擬路由器上未配置到連接埠 1540 的連接轉發,即使在虛擬網路中的任何伺服器上也是如此 192.168.A.0/24 (例如,在地址為 192.168.A.1)並且有一些服務正在等待此連接埠上的連接。 如果電腦使用者有一個位址 192.168.B.1 必須建立與此服務的連接,它必須使用 VPN,即直接聯繫 192.168.A.1:1540.

應該強調的是,任何試圖與 AAA1 (來自的 IPSec 連線除外 血腦屏障1 不會成功。 任何與以下用戶建立連線的嘗試 AAA2,除了連接到連接埠 13389 之外,也不會成功。
我們也注意到,如果 AAA2 如果其他人申請(例如 CCCC),第 10 至 20 段中指出的所有內容也將適用於他。 在此之前和之後發生的情況取決於這個 CCCC 背後到底是什麼,我們沒有此類信息,因此建議您諮詢帶有 CCCC 地址的節點的管理員

位置三

並且,相反,如果 192.168.A.1 某些內容被傳送到配置為向內轉送到 BBB1 的某個連接埠(例如 11111),它也不會最終進入 VPN,而只是從 AAA1 並進入 血腦屏障1,他已經把它傳送到某個地方了,比如說, 192.168.B.2:3389。 他看到這個包裹不是來自 192.168.A.1, 但 AAA1。 什麼時候 192.168.B.2 回复,包裹來自 血腦屏障1AAA1, 然後到達連線發起者 - 192.168.A.1.

具體例子:

1) 192.168.A.1 是有吸引力對 血腦屏障1,想要建立 TCP 連線 BBB1:11111;

2) 192.168.A.1 發送連線請求 192.168.A.1:55555 (這個數字,與前面的例子一樣,可能不同) BBB1:11111;

3)運行在位址為伺服器上的作業系統 192.168.A.1,決定將此封包轉送到路由器的網關位址(192.168.A.254 在我們的例子中),因為其他更具體的路線 血腦屏障1,它沒有,因此,它透過預設路由(0.0.0.0/0)傳輸資料包;

4) 為此,正如我們在前面的範例中所提到的,它會嘗試尋找 IP 位址的 MAC 位址 192.168.A.254 在ARP協定快取表中。 如果沒有偵測到,則從該位址發送 192.168.A.1 向網路廣播 who-has 請求 192.168.A.0/24... 什麼時候 192.168.A.254 作為回應,他向她發送他的 MAC 位址,系統為其傳輸一個乙太網路封包,並將該資訊輸入到其快取表中;

5) 虛擬路由器接收該封包並決定將其轉發到何處:它有一個書面策略,根據該策略必須轉發(替換返回位址)來自的所有資料包 192.168.A.0/24 至其他互聯網節點;

6) 由於此策略假設返回位址必須與傳輸該封包的介面上的低位址相匹配,因此虛擬路由器首先決定將該封包傳送給誰,並且如上例所示,他必須傳送它在 AAA254 (ISP網關,在這種情況下,也是我們),因為有更具體的路由 血腦屏障1,比0.0.0.0/0,沒有;

7) 這意味著虛擬路由器取代了封包的返回位址,從現在起它是來自 AAA1:44444 (當然,連接埠號碼可能不同) BBB1:11111;

8) 虛擬路由器會記住它所做的事情,因此,當從 BBB1:11111AAA1:44444 當響應到達時,他會知道他應該將目標位址和連接埠更改為 192.168.A.1:55555.

9) 現在虛擬路由器應該透過以下方式將其傳遞到 ISP 網絡 AAA254,就像我們已經提到的那樣,它會找到 MAC 位址 AAA254 並將資料包傳送至ISP網關;

10) 網路供應商傳輸資料包 AAA1 至 BBB1;

11) 路由器開啟 血腦屏障1 在連接埠 11111 上收到此封包;

12) 虛擬路由器上有一條規則,規定從該連接埠上的任何發送者到達的資料包都應傳輸到 192.168.B.2:3389;

13) 路由器在路由表中找到該網絡 192.168.B.0/24 並直接發送至 192.168.B.2,因為它有一個接口 192.168.B.254/24;

14) 為此,虛擬路由器會尋找 MAC 位址 192.168.B.2 並透過虛擬乙太網路將該資料包傳輸給他;

15) 192.168.B.2 在連接埠 3389 上收到此資料包,同意建立連線並產生一個資料包作為回應 192.168.B.2:3389AAA1:44444;

16) 他的系統將此封包傳輸到路由器的閘道位址(192.168.B.254 在我們的例子中),因為其他更具體的路線 AAA1,它沒有,因此,它必須透過預設路由(0.0.0.0/0)傳輸資料包;

17) 與前面的情況相同,在位址為 的電腦上執行的系統 192.168.B.2,查找MAC位址 192.168.B.254,因為它與其介面位於同一網路上 192.168.B.2/24;

18) 路由器接收到這個封包。 應該指出的是,他記得他收到的內容 BBB1:11111 包裹來自 AAA1 並將收件人的地址和連接埠更改為 192.168.B.2:3389,因此,包包來自 192.168.B.2:3389AAA1:44444 它將寄件者地址更改為 BBB1:11111;

19) 路由器決定將該封包傳送給誰。 他將其發送給,例如, 血腦屏障254 (ISP網關,具體位址我們不知道),因為沒有更具體的路由 AAA1,比0.0.0.0/0,沒有;

20) 網路供應商傳輸資料包 血腦屏障1AAA1;

21) 虛擬路由器開啟 AAA1 收到這個資料包並記得當他從 192.168.A.1:55555BBB1:11111,他將地址和發送端口更改為 AAA1:44444。 這意味著這是需要發送的答案 192.168.A.1:55555 (事實上,正如我們在前面的例子中提到的,還有更多的檢查,但這次我們不深入討論它們);

22) 他明白應該直接傳送至 192.168.A.1,由於他和他在同一個網絡,就意味著他在路由表中有一個相應的條目,迫使他向整個網路發送資料包 192.168.A.0/24 直接地;

23) 路由器找到 MAC 位址 192.168.A.1 然後把這個包裹遞給他;

24) 伺服器上的作業系統及其位址 192.168.A.1 收到包裹 BBB1:11111為 192.168.A.1:55555 並啟動後續步驟來建立 TCP 連線。

與之前的情況完全相同,在本例中是具有位址的伺服器 192.168.A.1 對具有該位址的計算機一無所知 192.168.B.1,他只與 血腦屏障1。 有地址的電腦 192.168.B.1 也不知道該位址的伺服器 192.168.A.1。 他相信他是透過該地址連接的 AAA1,其餘的對他來說是隱藏的。

產量

這就是客戶辦公室和雲端環境之間的 VPN 隧道內部連線以及 VPN 隧道外部連線的所有發生方式。 如果您有任何疑問或需要我們協助解決雲端問題, 24天7小時聯絡我們。

來源: www.habr.com

添加評論