Hai yêu cầu đến với cách diễn đạt gần như giống nhau: đặt mọi máy khách VPN vào một VLAN đã chọn, hoặc mang một trunk VLAN sẵn có xuyên qua VPN. Đó là hai sản phẩm khác nhau. Chế độ tích hợp sẵn hiểu VLAN của OpenVPN là mô hình switch cho yêu cầu thứ nhất, và nó không đồng nghĩa với vận chuyển thẻ trong suốt. Chọn sai sẽ tạo ra thiết kế trông như đã cấu hình nhưng âm thầm bỏ các khung mà bạn quan tâm.

Chế độ hiểu VLAN thực sự xây dựng gì

Khi bật vlan-tagging trên một triển khai TAP chỉ dành cho máy chủ, daemon mô hình hoá thiết bị TAP của nó và mỗi máy khách được kết nối như các cổng của một switch nội bộ. Cổng máy khách không gắn thẻ, và liên kết VLAN của chúng được đặt trên máy chủ thông qua ngữ cảnh vlan-pvid cho từng máy khách, chứ không phải do thứ gì máy khách gửi. Đó là toàn bộ ý nghĩa của mô hình: tư cách thành viên là quyết định phía máy chủ về một đối tác đã xác thực. Không gì trong hồ sơ máy khách cần biết nó thuộc VLAN nào.

Phía TAP của máy chủ có chính sách chấp nhận gắn thẻ hoặc không gắn thẻ riêng thông qua vlan-accept. Việc chuyển tiếp bên trong switch đó chỉ diễn ra giữa các VID khớp nhau, kể cả khi client-to-client được đặt, nên hai máy khách ở các VLAN khác nhau không thể đến được nhau qua máy chủ dù cả hai đều kết nối với nó.

Mô hình đó là mô hình cổng truy cập. Các khung rời khỏi máy khách không gắn thẻ, và máy chủ áp đặt liên kết dựa trên danh tính. Yêu cầu máy tính xách tay tự gắn thẻ lưu lượng của chính nó là yêu cầu một thiết kế khác.

Các phép gán phải theo danh tính đã xác thực của máy khách, không phải giá trị mà máy khách tự cung cấp về mình. Một phép gán bị bỏ sót cũng không phải trạng thái cách ly: máy khách rơi vào PVID mặc định, nên một mục ccd thiếu là quyết định chính sách thầm lặng, không phải trung lập.

Một trunk trong suốt thay vào đó cần gì

Mang các khung đã gắn thẻ từ đầu đến cuối bắt đầu bằng việc tắt xử lý hiểu VLAN. Mô hình switch và việc giữ nguyên thẻ là hai lựa chọn thay thế, và bật cả hai là yêu cầu một tính năng làm việc của tính năng kia.

Tắt nó chỉ là khởi đầu. Cầu ở mỗi đầu và các cổng switch vật lý phải thống nhất VLAN nào được phép, thẻ nào là bản địa và khung không gắn thẻ được xử lý ra sao. Mở rộng một trunk không hạn chế phơi bày nhiều miền quảng bá hơn hẳn hai miền bạn định kết nối.

Kích thước khung cần ngân sách riêng. Một khung Ethernet gắn thẻ cộng đóng gói lớn hơn con số tải trọng mà người ta sao chép từ hướng dẫn, và một MTU phù hợp cho đường hầm định tuyến không chứng minh rằng đường trunk hoạt động.

Ba điều kiện quyết định câu trả lời

Thứ nhất, nền tảng máy khách có hỗ trợ TAP không? Android và iOS thì không, và hỗ trợ macOS bị hạn chế, nên một đội ngũ người dùng di động loại bỏ cả hai thiết kế TAP, bất kể VLAN được sắp xếp thế nào. Một phiên TUN định tuyến mang gói IP, không phải khung Ethernet, và không cấu hình VLAN nào ở phía máy chủ thay đổi điều đó. Hãy kiểm tra đội ngũ trước khi thiết kế topo, vì đây là điều kiện không thể lách. Đây cũng là điều kiện thường được phát hiện sau khi công việc switch đã xong.

Thứ hai, ai gán VLAN? Nếu câu trả lời là «máy chủ, dựa trên ai đã xác thực», mô hình switch phù hợp. Nếu câu trả lời là «hạ tầng switch hiện có, với các thẻ đã tồn tại», bạn cần thiết kế trunk.

Thứ ba, bao nhiêu phần của mạng nên truy cập được? Mô hình switch giữ mỗi máy khách trong một VLAN theo cấu trúc. Thiết kế trunk là một cầu, và một cầu cấu hình sai sẽ nối các miền quảng bá lẽ ra phải tách rời.

Kiểm tra lựa chọn bạn đã làm

Kết nối một máy khách nên ở trong VLAN được phép và một máy khách không nên, rồi kiểm tra từ đầu thực thay vì từ chính máy chủ. Khả năng tiếp cận từ phía máy chủ chứng minh cầu hoặc switch tồn tại; nó không chứng minh máy khách rơi vào VLAN nào.

ip -d link show tap0
bridge vlan show

Trên máy chủ, lệnh thứ hai hiển thị tư cách thành viên VLAN của từng cổng cầu, kể cả việc cổng có gắn thẻ hay không. Hãy so sánh với phép gán bạn dự định trước khi gỡ lỗi bất cứ thứ gì trên lớp hai.

Ghi lại triển khai dùng thiết kế nào trong hai. Một ghi chú nói «hiểu VLAN» là mơ hồ, và kỹ sư tiếp theo sẽ giả định cái họ học trước. Tài liệu tham chiếu VLAN của OpenVPNđịnh nghĩa hành vi của switch và ngữ cảnh cho từng máy khách, và đó là con đường ngắn nhất để xác nhận bạn đang chạy mô hình nào.

Bài viết liên quan