Làm thế nào để lưu lượng truy cập mạng của VPN? (Lớp 3)


8

Tôi đang tìm kiếm một số thông tin về cách VPN (Mạng riêng ảo) chuyển tiếp lưu lượng truy cập mạng thông qua VPS (Máy chủ riêng ảo) của VPN.

Lấy một ví dụ nơi bạn được kết nối với VPN. Bạn thực hiện một yêu cầu đến một trang web, sau đó thực hiện theo cách xuống ngăn xếp mạng đến Lớp 3.

Chúng tôi có một gói IP - nó có các tiêu đề, bao gồm địa chỉ đích và tải trọng.

Nếu bạn thay đổi địa chỉ đích của gói IP thành địa chỉ IP của VPS, làm thế nào để máy chủ chuyển tiếp yêu cầu đến địa chỉ đích ban đầu?

Điều duy nhất tôi có thể nghĩ là ở Lớp 3 (Lớp IP), địa chỉ đích của người đứng đầu được thay đổi thành địa chỉ IP của VPS, và sau đó địa chỉ đích ban đầu được gắn vào tải trọng của gói?

Điều này không có nghĩa là độ dài của gói và tiêu đề tổng kiểm tra của gói sau đó sẽ cần phải được tính toán lại và gói IP lại được sửa đổi?

Và sau đó, VPS thực hiện ánh xạ ngược của gói để lắp ráp và thực hiện yêu cầu ban đầu trên máy chủ.

Điều này có vẻ như sẽ có một thời gian trễ cao liên quan đến nó?

Có lẽ tôi đang thiếu một số khía cạnh kỹ thuật về cách thức hoạt động của nó, bất cứ ai khác có thể giải thích nó?

Câu trả lời:


7

Ví dụ như GRE-Header (GRE là một giao thức được sử dụng để nhận ra VPN - nó không thường được sử dụng vì nó không an toàn theo bất kỳ cách nào, nhưng khái niệm với đóng gói gần như giống nhau trong mọi kết nối VPN (ví dụ như với IPsec) ):

nhập mô tả hình ảnh ở đây

Như bạn có thể thấy, gói ban đầu được gói gọn trong một Gói IP khác.

Giả sử có hai mạng / bộ định tuyến (A và B, bộ định tuyến có thể là VPS) được kết nối với nhau thông qua VPN (trang web-to-site).

Nếu máy chủ lưu trữ trên mạng A muốn truy cập FTP-Server trên Mạng B, máy chủ trong mạng A sẽ gửi một gói, trong đó địa chỉ đích là địa chỉ IP của FTP-Server và địa chỉ nguồn là của chính nó.

Sau đó, gói ban đầu đến VPN-Gateway (có thể là bộ định tuyến của anh ta), gói gói này thành gói ban đầu, ví dụ như gói IPv4 trong đó địa chỉ đích là VPN-Gateway (mạng B) và địa chỉ nguồn là của chính nó. Bằng cách đó, gói có thể truyền qua internet đến VPN-Gateway khác (mạng B). Ở đây, giao thức / tiêu đề hoặc loại gói ban đầu không thành vấn đề, vì nó sẽ được gói gọn với một tiêu đề IPv4 để truyền qua internet và các bộ định tuyến khác sẽ không quan tâm đến giao thức / tiêu đề ban đầu khi chúng chỉ nhìn thấy "mới" Tiêu đề IPv4.

Một tổng kiểm tra mới cho gói "mới" phải được tính toán sẽ được nối thêm, nếu không, nó sẽ không thể truyền qua internet (ví dụ như PPP đôi khi được sử dụng giữa các điểm trên internet để tính toán tổng kiểm tra). Vì vậy, phải có hai tổng kiểm tra trong toàn bộ gói.

Với IPsec (được sử dụng gần như luôn luôn cho các kết nối VPN), gói ban đầu được mã hóa (chủ yếu thông qua AES) và tiêu đề văn bản đơn giản (tiêu đề "mới" để truyền qua internet) được thêm vào. Nó phải là bản rõ để có thể định tuyến đúng. Đối với điều đó, một tổng kiểm tra mới cũng phải được tính toán (vì tổng kiểm tra ban đầu được mã hóa).

Khi nó đã đến Cổng VPN khác (mạng B), VPN-Header sẽ được tách ra và gói ban đầu được gửi vào mạng (đến FTP-Server).


Vì vậy, bạn đang nói rằng bộ định tuyến chịu trách nhiệm đóng gói gói, và không phải thiết bị?
cg14

1
@ cg14 câu hỏi hay! Có hai loại VPN, VPN đặt tại chỗ (VPN Gateway đến VPN Gateway (chủ yếu là bộ định tuyến đến bộ định tuyến)) và VPN end-to-site (thiết bị đầu cuối kết nối qua VPN với VPN-Gateway). Với Site-to-site, bộ định tuyến có trách nhiệm đóng gói gói tin. Với end-to-site, chính thiết bị sẽ tạo ra "gói ban đầu" được đóng gói bởi máy khách VPN được cài đặt trên nó. Sau khi đóng gói, thiết bị sẽ gửi gói tin.
watchme

Nó thật thú vị. Đối với VPN end-to-site, gói ban đầu được đóng gói ở lớp nào? Và theo lý thuyết, nếu tôi muốn nói, truyền một số định danh ngoài ip, chẳng hạn như id thiết bị của máy khách VPN, sẽ có cách để thêm thông tin đó vào tải trọng sao cho tải trọng có thể là | Tiêu đề IP | Tiêu đề GRE | thông tin tiêm + gói ban đầu |. Và, tùy thuộc vào việc tiêm dữ liệu tùy chỉnh vào gói được đóng gói diễn ra ở đâu, sẽ xác định xem bạn có cần tính toán lại tổng kiểm tra và độ dài của gói gre mà tôi giả sử hay không.
cg14

Tôi không biết chính xác những gì bạn có nghĩa là không may. Nhưng tôi sẽ giải thích IPsec một chút để trả lời câu hỏi "ở lớp nào". Khi một khách hàng gửi gói ban đầu (giả sử TCP, IP, Ethernet), nó sẽ được mã hóa hoàn toàn. Đây là "tải trọng" mới. Vì vậy, bạn có thể gửi tải trọng bình thường qua internet? Chắc là không. Bạn sẽ cần một số thông tin. Thông tin này sau đó được thêm bởi máy khách VPN - vì vậy thông tin lớp 4.3 và 2!
watchme

@ cg14 Mọi thứ có rõ ràng với bạn không? :) ... (Ôi tôi mới nhận ra rằng tôi đã không đánh dấu bạn trong câu trả lời của tôi cho câu hỏi "ở lớp nào" của bạn, xin lỗi)
watchme

6

Vì vậy, câu trả lời ngắn cho câu hỏi của bạn là đóng gói. Có nghĩa là có một bộ tiêu đề gói khác được đặt xung quanh gói bạn đang gửi đến một trang web bị tắt bởi điểm cuối VPN.

Nghĩ theo cách này:

-----------------------------------------------
| src_ip=2.2.2.2, dest_ip=3.3.3.3             |
|---------------------------------------------|
|| src_ip=10.10.10.10, dest_ip=5.5.5.5       ||
|| Data goes here. This could be a HTTP GET  ||
|| or pretty much anything.                  ||
|---------------------------------------------|
-----------------------------------------------

Máy khách VPN của bạn chạy trên máy cục bộ sẽ cung cấp cho bạn một địa chỉ IP mới (10.10.10.10) và thay đổi bảng tuyến đường của bạn sao cho tuyến đường mặc định được dẫn xuống đường hầm đã tạo. Sau đó, nó sẽ gửi lưu lượng đến máy chủ VPN hoặc trong ví dụ của bạn là VPS (3.3.3.3). Thường thì gói tin của bạn sẽ được áp dụng NAT cho nó khi nó được đóng gói để máy chủ đích của bạn (5.5.5.5) nó sẽ xuất hiện lưu lượng đến từ IP đích của lưu lượng được đóng gói (3.3.3.3) Đây là cách lưu lượng truy cập trở lại với bạn bằng cách đi đến máy chủ VPN trước.

Về câu hỏi thứ ba của bạn. Vì bạn đang đặt một gói bổ sung về cơ bản ở bên ngoài độ dài và tổng kiểm tra được tính trên gói kết quả. Vì vậy, có hai chiều dài và hai tổng kiểm tra. Đối với độ dài tối đa được thực hiện bởi VPS, hãy sử dụng MTU này hoặc thông qua khám phá MTU như bình thường.

Đối với độ trễ. Bạn không thể phá vỡ vật lý. Bạn sẽ tính đến chi phí của bạn để truy cập VPS và chạy qua ngăn xếp mạng của nó. Mặc dù có vẻ như sẽ có độ trễ cao nhưng đôi khi không phải vậy. Nếu VPS của bạn phù hợp với cấu trúc liên kết với vị trí mà gói đã được chuyển đến thì có thể có thêm chi phí tối thiểu. Chẳng hạn, nếu bạn ở Seattle và VPS của bạn ở New York và trang web bạn đang cố gắng nói chuyện ở London. Nhưng nếu bạn đang đi từ Seattle đến New York để quay lại một trang web ở Seattle thì sẽ có thêm độ trễ từ chuyến đi xuyên nước Mỹ.


3

Một gói được tạo bởi lớp vận chuyển và được truyền xuống lớp mạng. Máy chủ nhìn vào bảng định tuyến của nó và gửi nó đến giao diện ảo được tạo bởi phần mềm VPN.

Phần mềm VPN lấy gói từ giao diện ảo. Nó có thể mã hóa nó hoặc thêm các tiêu đề của chính nó, sau đó chuyển nó trở lại ngăn xếp mạng dưới dạng tải trọng. Tùy thuộc vào việc triển khai VPN cụ thể, nó có thể chuyển tải trọng này đến lớp vận chuyển hoặc nó có thể bỏ qua lớp vận chuyển và chuyển trực tiếp đến lớp mạng.

Một lớp khác của các tiêu đề lớp mạng sau đó được thêm vào mục tiêu gói đối với máy chủ VPN. Gói tin sau đó được tra cứu lại trong bảng định tuyến và được gửi lên internet (nếu VPN là "vùng phủ sóng đầy đủ" thì phần mềm VPN phải cẩn thận để thiết lập bảng định tuyến theo cách lưu lượng VPN đi ra ngoài giao diện trực quan thực sự thay vì quay lại phần mềm VPN).

Khi gói được đóng gói đến máy chủ VPN, nó được chuyển trở lại phần mềm VPN. Các tiêu đề "bên ngoài" được loại bỏ và gói được chuyển trở lại ngăn xếp mạng qua giao diện ảo.

Sau đó, tùy thuộc vào ngăn xếp mạng trên máy chủ VPN, phải làm gì với nó. Trong trường hợp VPN được sử dụng để truy cập internet, ngăn xếp mạng trên máy chủ VPN có thể sẽ được cấu hình để hoạt động như một bộ định tuyến NAT, do đó, nó sửa đổi nguồn của gói và gửi lại cho Internet.

Khi trả lời trở lại nhiều quá trình tương tự xảy ra. Gói tin đi vào, quá trình NAT bị đảo ngược, nó được chuyển trở lại phần mềm VPN qua giao diện ảo, nó được gói gọn và gửi lại cho phần mềm VPN trên máy khách để giải mã nó và đưa nó trở lại ngăn xếp mạng có thể được delieverd cho ứng dụng khách.


ok, tốt, đó có lẽ là một lời giải thích tốt hơn của tôi!
watchme
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.