Wildcard mask (mặt nạ đại diện) hay gặp khi viết ACL trên Cisco hoặc câu lệnh network của OSPF. Nhiều người nhầm nó với subnet mask và cấu hình sai dải. Bài này làm rõ cách tính và cách dùng.
1. Wildcard mask khác subnet mask ở đâu?
Cả hai đều là 4 octet, nhưng ý nghĩa bit ngược nhau:
- Subnet mask: bit
1= phần mạng, bit0= phần host. - Wildcard mask: bit
0= phải khớp, bit1= bỏ qua (don't care).
Vì thế wildcard chính là subnet mask đảo bit. Cách tính nhanh: lấy 255.255.255.255 trừ từng octet của subnet mask.
| CIDR | Subnet mask | Wildcard mask |
|---|---|---|
| /24 | 255.255.255.0 | 0.0.0.255 |
| /25 | 255.255.255.128 | 0.0.0.127 |
| /26 | 255.255.255.192 | 0.0.0.63 |
| /27 | 255.255.255.224 | 0.0.0.31 |
| /28 | 255.255.255.240 | 0.0.0.15 |
| /30 | 255.255.255.252 | 0.0.0.3 |
| /32 (một host) | 255.255.255.255 | 0.0.0.0 |
Ví dụ: /26 có subnet mask 255.255.255.192; wildcard = 255−255 . 255−255 . 255−255 . 255−192 = 0.0.0.63.
2. Dùng trong ACL (Cisco)
ACL dùng wildcard để khớp một dải địa chỉ. Khớp cả 192.168.10.0/24:
access-list 10 permit 192.168.10.0 0.0.0.255
Chỉ một host dùng wildcard toàn 0 (hoặc từ khóa host); mọi địa chỉ dùng any:
permit host 192.168.10.5≡permit 192.168.10.5 0.0.0.0permit any≡permit 0.0.0.0 255.255.255.255
3. Dùng trong OSPF
Câu lệnh network của OSPF cũng dùng wildcard để chọn cổng tham gia vùng:
router ospf 1 → network 10.0.8.0 0.0.3.255 area 0
Wildcard 0.0.3.255 gom 4 dải /24 liền nhau (10.0.8.0 đến 10.0.11.255) trong một dòng.
4. Lưu ý
- Wildcard không nhất thiết liền bit như subnet mask:
0.0.0.254khớp các địa chỉ chẵn/lẻ — mạnh nhưng dễ gây nhầm, nên hạn chế. - Khi chuyển từ prefix sang wildcard, cứ nhớ wildcard =
2^(32−n) − 1cho các bit cuối. Ví dụ/26→2^6 − 1 = 63.
Công cụ IP Toolbox: tính subnet, VLSM, gộp route (miễn phí) hiện sẵn cả subnet mask lẫn wildcard cho mọi prefix, khỏi tính tay. Soát câu lệnh định tuyến nhiều thiết bị thì dùng Soát định tuyến (BGP/OSPF/VRF), và quy hoạch dải địa chỉ thì xem Quy hoạch IP / VLAN.
Câu hỏi thường gặp
Cách tính wildcard mask nhanh nhất?
Lấy 255.255.255.255 trừ từng octet của subnet mask. Ví dụ subnet mask 255.255.255.192 (/26) cho wildcard 0.0.0.63. Hoặc nhớ các bit cuối bằng 2^(32−n) − 1.
Wildcard mask 0.0.0.0 nghĩa là gì?
Mọi bit đều phải khớp, tức chỉ đúng một địa chỉ host duy nhất. Trong ACL Cisco nó tương đương từ khóa host, ví dụ permit host 192.168.10.5.
Tại sao OSPF dùng wildcard mà không dùng subnet mask?
Câu lệnh network của OSPF chọn cổng theo bit cần khớp, nên dùng wildcard (bit 0 phải khớp, bit 1 bỏ qua). Nhờ đó một dòng network có thể gom nhiều dải /24 liền nhau.