1. Tổng quan.
Trong OPNsense, Virtual LAN (VLAN) là một phương pháp để chia nhỏ một mạng vật lý thành nhiều mạng logic, mỗi mạng có thể được quản lý và điều khiển độc lập nhau. VLAN được thực hiện bằng cách gắn thẻ (tag) các gói tin trên các cổng Ethernet vật lý, đánh dấu chúng với một mã số định danh VLAN riêng biệt. Điều này cho phép chúng được truyền qua các cổng Ethernet vật lý và được phân chia thành các mạng logic khác nhau.
Việc sử dụng VLAN trong OPNsense có nhiều lợi ích, bao gồm:
- Quản lý mạng hiệu quả hơn: VLAN cho phép bạn tách mạng vật lý thành nhiều mạng logic, giúp tăng tính bảo mật và hiệu suất của mạng.
- Tiết kiệm chi phí: Sử dụng VLAN có thể giúp giảm chi phí vì bạn không cần thiết lập nhiều hệ thống mạng vật lý.
- Tăng tính linh hoạt: VLAN cho phép bạn thay đổi cấu hình mạng một cách linh hoạt, giúp dễ dàng thêm hoặc xóa các mạng logic.
- Tăng tính khả dụng: Sử dụng VLAN cho phép bạn chia sẻ tài nguyên mạng giữa nhiều mạng logic, giúp tăng tính khả dụng và hiệu suất của hệ thống.
2. Sơ đồ đấu nối.
Trước khi vào bài thực hành, bạn hãy xem qua sơ đồ đấu nối của mình trước nhé.
3. Tạo interface Vlan.
Hiện tại nếu bạn vào Interfaces (1) bạn chỉ nhìn thấy 2 card mạng mà ở bài trước mình đã thêm vào đó là card WAN và LAN (2). Nếu bạn bấm vào Assignments (3) bạn cũng chỉ thấy sự hiện diện của 2 card mạng này ở mục (4).
Để tạo thêm interface Vlan cho Opnsense, bạn có thể làm theo các bước sau:
Bước 1: Truy cập vào giao diện web của Opnsense bằng cách mở trình duyệt web và nhập địa chỉ IP của Opnsense vào thanh địa chỉ.
Bước 2: Đăng nhập vào Opnsense bằng tài khoản quản trị viên.
Bước 3: Truy cập vào mục VLAN bằng cách chọn Interfaces (1) -> Other Types (2) -> VLAN (3) trong menu chính. Tại đây nếu bạn nhìn sang (4) bạn sẽ không thấy Vlan nào tồn tại ở đây.
Bước 4: Chọn tab VLANs (3) và nhấn nút Add (5), tại đây bạn sẽ có các thành phần như sau:
- Device: Đây là tên của giao diện ảo được tạo ra để đại diện cho một VLAN trên thiết bị mạng. Thông thường, tên của giao diện này bắt đầu với vlan hoặc qinq tùy thuộc vào loại của VLAN được tạo ra. Ví dụ nếu bạn tạo một VLAN với VLAN ID là 100 trên một cổng Ethernet trên switch, switch sẽ tự động tạo ra một giao diện ảo và đặt tên cho nó là vlan100. Giao diện này sẽ đại diện cho VLAN 100 trên switch và cho phép các thiết bị khác kết nối đến VLAN này.
- Parent: Đây là giao diện mà VLAN sẽ được gắn vào. Giao diện này sẽ gửi/nhận các gói tin VLAN được gắn thẻ trên nó. Giao diện có thể là một cổng Ethernet trên switch hoặc một giao diện mạng trên firewall/router.
- VLAN tag: Đây là giá trị VLAN ID mà giao diện ảo sẽ gắn vào các gói tin truyền qua giao diện cha. Giá trị này nằm trong khoảng từ 1 đến 4094 và giá trị 0 được sử dụng để đánh dấu các gói tin không được gắn thẻ VLAN.
- VLAN priority: 802.1Q VLAN PCP (priority code point): Đây là giá trị 3-bit được sử dụng để xác định mức độ ưu tiên của các gói tin truyền qua VLAN. Giá trị này nằm trong khoảng từ 0 đến 7 và giá trị cao hơn cho biết mức độ ưu tiên cao hơn.
- Description: User friendly description for this interface: Đây là mô tả cho giao diện VLAN được tạo ra, giúp người quản trị mạng dễ dàng nhận biết giao diện này đang được sử dụng cho mục đích gì trong hệ thống. Mô tả này nên là một thông tin dễ hiểu và gợi nhớ cho người quản trị mạng.
Bước 5: Nhập số ID của VLAN tại VLAN tag và tên cho VLAN tại Device (1).
Lưu ý: Khi đặt tên cho các VLAN trên OpnSense, tên chỉ được phép dài tối đa 15 ký tự và bắt đầu bằng chuỗi "vlan0". Sau đó, bạn có thể thêm các ký tự số và dấu chấm để phân biệt các VLAN khác nhau. Ví dụ, bạn có thể đặt tên cho VLAN là "vlan0.101" hoặc "vlan0.123.101". Tuy nhiên, bạn không thể đặt tên cho VLAN là "vlan01.101" hoặc "vlan101" vì chúng không tuân theo quy tắc đặt tên được đưa ra.
Tại Parent (2) hãy chọn giao diện vật lý mà VLAN sẽ được tạo trên đó. Ví dụ: nếu bạn muốn tạo VLAN trên giao diện LAN, hãy chọn “LAN” trong danh sách.
Tại VLAN tag (3) hãy chọn 1 vlan id cho interface này.
Bước 6: Tại VLAN priority hãy chọn 1 phương thức ưu tiên, cụ thể chi tiết các phương thức như sau:
Trong 802.1Q VLAN PCP (Priority Code Point), các giá trị từ 0 đến 7 được sử dụng để xác định mức độ ưu tiên của các gói tin được gửi trên VLAN. Mỗi giá trị ứng với một mức ưu tiên khác nhau, có thể được sử dụng để phân loại và ưu tiên các gói tin trong mạng.
- Best Effort (0, mặc định): Được sử dụng cho các gói tin không yêu cầu ưu tiên đặc biệt. Tất cả các gói tin không được phân loại sẽ có giá trị ưu tiên mặc định này.
- Background (1, thấp nhất): Được sử dụng cho các gói tin của các ứng dụng nền, chẳng hạn như các dịch vụ đồng bộ hóa file hoặc cập nhật phần mềm tự động.
- Excellent Effort (2): Được sử dụng cho các gói tin của các ứng dụng yêu cầu băng thông đủ lớn và độ trễ không quá cao, chẳng hạn như các ứng dụng truyền video có chất lượng tốt.
- Critical Applications (3): Được sử dụng cho các gói tin của các ứng dụng quan trọng, nhưng không phải là ứng dụng yêu cầu độ trễ thấp, chẳng hạn như các gói tin của ứng dụng điện toán đám mây.
- Video (4): Được sử dụng cho các gói tin của các ứng dụng truyền video yêu cầu độ trễ thấp và băng thông đủ lớn để đảm bảo chất lượng hình ảnh tốt.
- Voice (5): Được sử dụng cho các gói tin của các ứng dụng truyền thoại yêu cầu độ trễ thấp và độ ổn định cao để đảm bảo chất lượng âm thanh tốt.
- Internetwork Control (6): Được sử dụng cho các gói tin của các ứng dụng quản lý và kiểm soát mạng, chẳng hạn như các gói tin của giao thức OSPF hoặc các gói tin quản lý từ xa.
- Network Control (7, cao nhất): Được sử dụng cho các gói tin quản lý và kiểm soát switch và router, chẳng hạn như các gói tin của giao thức STP hoặc các gói tin SNMP.
Cuối cùng là nhấn nút “Save” để lưu cấu hình VLAN.
Bước 7: Đừng quên bấm Apply nhé.
Tiếp theo mình sẽ thạo thêm 3 vlan và thêm Description cho 3 vlan này để dễ nhận dạng. Sau khi tạo xong mình sẽ có 3 vlan như hình, nhớ bấm Apply để áp dụng thay đổi.
Sau khi hoàn thành các bước trên, VLAN mới của bạn đã được tạo trên Opnsense. Bây giờ bạn có thể cấu hình các rule và routing cho VLAN này tùy ý.
4. Đặt IP cho Vlan
Sau khi tạo xong các Vlan bạn có thể đặt IP cho các vlan như sau, hãy vào Interfaces > Assignments bạn hãy để ý tại New interface bạn xổ xuống sẽ thấy các vlan mà bạn đã tạo ở bước trên, lần lượt bấm vào dấu (+) từng vlan, ví dụ tôi bấm vlan0.101 (Parent: vtnet1, Tag: 101).
Tại new interface (1) bạn sẽ thấy vlan0.101 (Parent: vtnet1, Tag: 101) đã được thêm vào, hãy tiếp tục bấm vào dấu cộng (2) làm tương tự cho 2 vlan còn lại.
Bạn sẽ được kết quả như dưới. Các vlan được thêm vào sẽ hiện thị menu bên trái màn hình (1) và trong menu Assignments
bạn cũng nhìn thấy các vlan mới cũng được hiển thị ở đây (2).
Hãy vào OPT1 (1) tức là vlan101, chọn Enable Interface lên (2) và thay đổi tên cho interface vlan này để tiện nhận biết (3).
Khi bạn tích vào Enable Interface bạn sẽ nhận được một số tính năng bổ sung, tại tuỳ chọn Pv4 Configuration Type bạn hãy chọn Static IPv4 để chúng ta thiết lập IP cho cổng này là IPv4.
Kéo xuống dưới và đặt IP cho nó.
Khi bạn thay đổi tên cho interface thì tên của nó ở menu bên trái cũng sẽ thay đổi theo (1). Đừng quên bấm Apply changes (2).
Áp dụng cho cả 3 vlan, mình có kết quả như dưới.
Bạn có thể kiểm tra bằng cách ping vào ip các vlan nhé. Ví dụ của mình đang ping vào IP 172.16.102.254 thuộc VlanID 102.
5. Interfaces Settings.
Hardware CRC, Hardware TSO và Hardware LRO là các tính năng trên card mạng để tăng hiệu suất mạng bằng cách chuyển một số công việc từ phần mềm sang phần cứng. Tuy nhiên, đôi khi các tính năng này có thể gây ra lỗi trên mạng hoặc trên máy chủ, do đó việc tắt chúng có thể giải quyết các vấn đề này.
- Hardware CRC: Là tính năng kiểm tra tính toàn vẹn của dữ liệu truyền qua mạng bằng phần cứng. Khi tính năng này bị tắt, các gói tin sẽ được kiểm tra tính toàn vẹn bằng phần mềm, điều này có thể giảm hiệu suất mạng nhưng có thể giải quyết các vấn đề liên quan đến mất dữ liệu hoặc lỗi gói tin.
- Hardware TSO: Là tính năng chia nhỏ dữ liệu thành các phân đoạn nhỏ hơn để truyền qua mạng. Khi tính năng này bị tắt, phần mềm sẽ phải thực hiện chia nhỏ dữ liệu, điều này có thể làm giảm hiệu suất mạng nhưng có thể giải quyết các vấn đề liên quan đến dữ liệu bị hỏng hoặc lỗi gói tin.
- Hardware LRO: Là tính năng tự động ghép các phân đoạn dữ liệu nhỏ thành các phân đoạn lớn hơn để giảm số lượng gói tin được truyền qua mạng. Khi tính năng này bị tắt, phần mềm sẽ phải thực hiện việc ghép các phân đoạn lại, điều này có thể làm giảm hiệu suất mạng nhưng có thể giải quyết các vấn đề liên quan đến mất dữ liệu hoặc lỗi gói tin.
VLAN Hardware Filtering là một tùy chọn trong cài đặt card mạng trên OPNsense, cho phép kích hoạt tính năng lọc phần cứng cho các truy cập VLAN.
- Khi bật tùy chọn này, OPNsense sử dụng phần cứng của card mạng để lọc các khung dữ liệu VLAN.
- Nếu tùy chọn này tắt, OPNsense sẽ sử dụng phần mềm để lọc khung dữ liệu VLAN. Điều này có thể gây tốn tài nguyên và làm chậm hệ thống.
- Khi chọn “Leave default”, OPNsense sẽ tự động chọn cách lọc tốt nhất dựa trên loại card mạng được sử dụng.
Khi VLAN Hardware Filtering được kích hoạt, phần cứng card mạng sẽ phân chia khung dữ liệu VLAN và non-VLAN, từ đó tăng hiệu suất và giảm tải CPU. Tuy nhiên, tính năng này chỉ có thể hoạt động với một số loại card mạng hỗ trợ.
Tùy chọn “Suppress ARP messages” trong cấu hình ARP Handling của một interface trên OPNsense có tác dụng làm giảm số lượng thông báo ARP trên mạng. Thông báo ARP được sử dụng để ánh xạ địa chỉ IP sang địa chỉ MAC trên mạng, và thường được gửi bởi các thiết bị mạng để tìm kiếm địa chỉ của một thiết bị khác.
Tuy nhiên, trong một số trường hợp, đặc biệt là trong môi trường mạng lớn, việc gửi quá nhiều thông báo ARP có thể gây ảnh hưởng đến hiệu suất mạng. Bằng cách bật tùy chọn “Suppress ARP messages”, OPNsense sẽ giảm thiểu số lượng thông báo ARP được gửi trên mạng bằng cách loại bỏ một số thông báo ARP không cần thiết, đặc biệt là các thông báo ARP liên quan đến các địa chỉ IP không nằm trong cùng mạng với interface đang được cấu hình.
6. Interfaces Virtual IPs.
Trong opnsense, một địa chỉ IP ảo được sử dụng để tạo một cặp IP cho một interface mạng. Điều này có thể hữu ích trong nhiều trường hợp, chẳng hạn như định tuyến bằng một địa chỉ IP động, cân bằng tải dựa trên địa chỉ IP, hoặc phân tách lưu lượng dựa trên địa chỉ IP.
Trong mục “Interfaces: Virtual IPs: Settings”, người dùng có thể tạo và cấu hình các địa chỉ IP ảo. Các tùy chọn được cung cấp bao gồm loại địa chỉ IP (IPv4 hoặc IPv6), địa chỉ IP ảo, phạm vi địa chỉ IP (nếu có), và gateway ảo (nếu có). Ngoài ra, người dùng còn có thể cấu hình các tùy chọn khác như kiểm soát truy cập và thông báo đến email khi có hoạt động trên địa chỉ IP ảo.
Trong hệ thống OPNsense, các Virtual IP (VIP) có thể được tạo ra để xử lý các tình huống nhất định. Trong trường hợp có nhiều địa chỉ IP và các mạng con trên một giao diện, việc sử dụng VIP sẽ cho phép các thiết bị khác trong mạng có thể truy cập vào các dịch vụ mà chỉ định IP chạy trên thiết bị OPNsense.
Các cài đặt được cung cấp trong phần “Interfaces: Virtual IPs: Settings” cho phép người dùng cấu hình các VIP, bao gồm:
- Interface: Chọn interface mà VIP sẽ được gắn liền.
- Network/Address: Cấu hình địa chỉ IP và mạng cho VIP.
- Deny service binding: Chặn dịch vụ liên kết với VIP được cấu hình.
- VHID Group: Nếu sử dụng mode CARP, người dùng cần cấu hình VHID (Virtual Host Identifier) để định danh cho nhóm VIP của mình.
- Mode: trong cài đặt Virtual IPs (Interfaces: Virtual IPs: Settings) trong OPNsense:
- IP Alias: Tạo một địa chỉ IP alias trên cùng một interface vật lý để nhận các lưu lượng được gửi đến địa chỉ IP đó.
- CARP (Common Address Redundancy Protocol): Tạo một địa chỉ IP ảo được chia sẻ giữa các thiết bị CARP để cung cấp khả năng chịu lỗi và có tính sẵn sàng cao cho các dịch vụ.
- Proxy ARP: Cho phép một interface trả lời các yêu cầu ARP cho địa chỉ IP thuộc về một máy khác trong mạng.
- ARP Other: Tạo một liên kết ARP tùy chỉnh giữa địa chỉ MAC của một interface và một địa chỉ IP nào đó.
7. Interfaces Point-to-Point.
Trong OPNsense, phần “Interfaces: Point-to-Point: Devices” cho phép bạn cấu hình các kết nối điểm-điểm giữa các thiết bị mạng.
Khi tạo một kết nối Point-to-Point, bạn cần chỉ định thiết bị đầu cuối của kết nối này. Tại đây, bạn có thể chọn một thiết bị được cung cấp bởi hệ điều hành của bạn hoặc thủ công nhập địa chỉ MAC của thiết bị đó.
Nếu bạn chọn “Automatic”, OPNsense sẽ tự động tìm kiếm thiết bị Point-to-Point đối tác và liên kết với nó. Nếu không, bạn có thể chọn “Manual” và nhập địa chỉ MAC của thiết bị đối tác vào đây.
Khi bạn đã cấu hình các thiết bị Point-to-Point, chúng sẽ xuất hiện trong danh sách Interfaces và bạn có thể cấu hình chúng như các Interface thông thường khác.
8. Tổng kết.
Như vậy tới đây mình đã giới thiệu các bạn cách tạo vlanid và cấu hình interface vlan. Hiện tại chúng ta vẫn chưa thể kết nối từ các thiết bị ở ngoài vào các vlan này. Hãy theo dõi các bài sau để chúng ta hoàn thiện tiếp các bước config cơ bản nhé.