Vì sao cảm biến VPN của bạn không bao giờ thấy thẻ VLAN của chi nhánh
Một đường hầm định tuyến khôi phục gói tin, không phải các khung đã mang chúng. Bốn kiểm tra về loại giao diện, vị trí cảm biến, ngữ cảnh nguồn và đường phản hồi.
Một cảm biến phía VPN nhìn hai VLAN chi nhánh như lưu lượng IP thông thường, và thẻ đã nhận diện từng chi nhánh trên sợi dây của chính nó đã biến mất. Đó chính là điều một đường hầm định tuyến làm: nó khôi phục gói tin, không phải các khung Ethernet đã chuyển chúng. Việc thẻ bị mất có quan trọng hay không phụ thuộc hoàn toàn vào câu hỏi bạn đặt cho cảm biến. Hãy thực hiện bốn kiểm tra dưới đây theo thứ tự và bạn sẽ biết điểm quan sát nào có thể trả lời câu hỏi đó.
Thứ nhất: xác định đường hầm của bạn khôi phục những gì
Giao diện TUN mang gói tin IP, vì vậy tiêu đề VLAN của khung chi nhánh dừng lại ở bộ định tuyến đã đẩy lưu lượng vào đường hầm. Giao diện TAP mang khung Ethernet, nghĩa là thẻ có thể tồn tại khi cầu nối và các quy tắc chấp nhận VLAN cho phép chúng đi qua. Hãy đọc loại giao diện trước khi lập luận xem bản bắt gói nên chứa gì.
Không lựa chọn nào là khiếm khuyết. Hai thiết kế trả lời những câu hỏi khác nhau và để thẻ ở những nơi khác nhau.
Hãy tự xác nhận giao diện thay vì suy ra từ tên sản phẩm. Chi tiết liên kết nêu loại thiết bị và hiển thị các cờ đang áp dụng, và một bản bắt gói trên thiết bị TUN sẽ không có tiêu đề Ethernet chỉ vì bạn đã yêu cầu. Nếu thẻ vẫn xuất hiện trong bản bắt gói TUN, gần như chắc chắn bạn đang đọc một giao diện khác hoặc một đường hầm mang khung bên trong tải trọng của nó. Ghi lại bạn đang ở trường hợp nào trước khi tiếp tục.
Thứ hai: đặt cảm biến ở nơi đối tượng vẫn còn tồn tại
Ba vị trí bao quát hầu hết thiết kế định tuyến: phân đoạn Ethernet của chi nhánh, mạng bên ngoài giữa hai đầu đường hầm, và đường đi sau khi xử lý đường hầm. Mỗi vị trí thấy một đối tượng khác nhau, và thẻ chỉ tồn tại ở vị trí đầu tiên. Chọn vị trí cảm biến là quyết định về đối tượng mà chính sách cần, không phải vấn đề tiện lợi.
| Observation point | What is actually there | Question it can answer |
|---|---|---|
| Branch Ethernet segment | Tagged frames on the local wire | Which VLAN carried this frame here |
| Outer tunnel network | The protected carrier between endpoints | Which endpoints are exchanging traffic |
| After tunnel processing | Recovered IP packets | Which branch prefix the packet claims |
Đặt câu hỏi chính sách bằng những thuật ngữ mà bảng có thể trả lời, và nó thường tự giải quyết. Nếu quy tắc cần biết gói tin đến từ chi nhánh nào, ánh xạ tiền tố ở phía hạ nguồn có thể đủ, nhưng chỉ khi ánh xạ đó chính xác và không mơ hồ. Nếu quy tắc cần biết khung đến ở cổng nào, bạn cần vị trí đầu tiên, vì không gì ở hạ nguồn có thể tái tạo nó. Cảm biến được đặt theo thói quen thay vì theo câu hỏi chính là cách các nhóm cuối cùng đòi một trường mà thiết kế chưa từng mang.
Một đường hầm mang Ethernet là thiết kế khác và cần kiểm tra riêng về những gì hai đầu giữ lại hoặc ghi lại. Chỉ chọn TAP vẫn chưa định nghĩa cầu nối, quy tắc chấp nhận VLAN hay chính sách kiểm tra.
Thứ ba: giành lấy ngữ cảnh nguồn thay vì tin vào nó
Một dải địa chỉ cho mỗi chi nhánh là vật thay thế thông thường cho danh tính VLAN, và nó chỉ đúng khi ánh xạ còn một-một. Tiền tố chồng lấn, chuyển dịch và một cổng chung mỗi thứ đều phá vỡ giả định đó theo cách trông giống vấn đề chất lượng dữ liệu hơn là vấn đề thiết kế. Hãy ghi lại ánh xạ cùng các ranh giới của nó và nói điều gì xảy ra với gói tin khớp với hai hàng. Một tiền tố xuất hiện ở hai chi nhánh nên là lỗi bạn phát hiện, không phải một lần tung đồng xu bạn chấp nhận.
Ngữ cảnh do máy khách cung cấp không phải bằng chứng về tư cách thành viên. Đó là một tuyên bố, và vị trí của nó là ở một cột khác.
Ở nơi sự phân biệt quan trọng, hãy dùng dữ liệu liên kết mà bạn kiểm soát: phiên bản đường hầm nào đã chấp nhận kết nối, gói tin đến trên giao diện nào, bảng định tuyến cục bộ nói gì về đối tác đó. Nhãn do máy khách cung cấp là gợi ý hữu ích và là đầu vào ủy quyền vô dụng. Nếu cảm biến không thể thiết lập liên kết từ phía mình, chính sách cần một quy tắc rộng hơn thay vì một phỏng đoán tự tin.
Thứ tư: xác nhận đường phản hồi và những gì việc giải mã bỏ sót
Một cảm biến chỉ thấy một hướng vẫn có thể trông khỏe mạnh, vì các yêu cầu vẫn đến đúng hẹn. Hãy kiểm tra đường phản hồi một cách rõ ràng, và kiểm tra cho cùng luồng chứ không phải cho khả năng tiếp cận chung. Khả năng nhìn bán song công trở thành một khoảng trống im lặng trong mọi kết luận dựa trên trạng thái mà bạn rút ra từ đó.
Khôi phục lưu lượng IP bên trong cũng không giống như nhìn thấy ứng dụng bên trong nó, vì TLS được mang qua đường hầm vẫn là TLS.
ip -d link show tun0
tcpdump -i tun0 -n -e -c 5
Hai lệnh đó trả lời câu hỏi về giao diện và cho thấy bản bắt gói thực sự chứa gì, điều này nhanh hơn tranh luận về kiến trúc. Hãy thay bằng tên giao diện mà thiết kế của bạn dùng và chạy bản bắt gói trong khi luồng bạn quan tâm đang hoạt động. Khi không có thẻ nào xuất hiện trên thiết bị TUN, phát hiện là thiết kế đã định tuyến thay vì bắc cầu, chứ không phải cảm biến đã đánh rơi dữ liệu. Sau đó, hoặc di chuyển cảm biến đến vị trí có thể thấy thẻ, hoặc viết lại quy tắc bằng những thuật ngữ mà vị trí hiện tại có thể hỗ trợ.