Danh mục sản phẩm
IPv6 cơ bản trên FortiGate: cấu hình Interface, Firewall Policy, Routing tĩnh
1. Liên hệ thực tế
Nhà mạng ISP thông báo sẽ cấp thêm dải IPv6 cho khách hàng của anh Nam, khuyến khích triển khai song song với IPv4 (dual-stack). Anh Nam gán địa chỉ IPv6 tĩnh cho interface WAN và LAN, bật SLAAC để client tự nhận địa chỉ — nhưng máy trạm Windows nhận được địa chỉ IPv6 đúng chuẩn, còn duyệt web vẫn báo lỗi không phân giải được tên miền qua IPv6.
Chị Lan giải thích: "SLAAC solo chỉ cấp được địa chỉ IP thôi, không cấp được DNS server đâu anh — đây là giới hạn của bản thân giao thức SLAAC theo chuẩn RFC, không phải lỗi cấu hình. Muốn client vừa tự nhận IP vừa có DNS, phải bật thêm DHCPv6 stateless đi kèm."
Bài này giới thiệu IPv6 cơ bản trên FortiGate: cấu hình interface, ba phương thức gán địa chỉ cho client, Firewall Policy cho IPv6, và routing tĩnh IPv6 — đủ để triển khai một mạng dual-stack đơn giản.
2. Kiến thức cốt lõi
2.1 Cấu hình địa chỉ IPv6 tĩnh trên interface
config system interface
edit "port1"
config ipv6
set ip6-address 2001:db8:1::1/64
set ip6-allowaccess ping https ssh
end
next
end
Firewall Policy, Address Object và routing đều có phiên bản IPv6 song song với IPv4 (thường có hậu tố 6 trong tên lệnh, ví dụ srcaddr6, router static6) — FortiOS xử lý IPv4 và IPv6 gần như hai ngăn xếp (stack) song song, không tự động áp dụng chéo cấu hình từ ngăn này sang ngăn kia.
2.2 Ba cách gán địa chỉ IPv6 cho client trong LAN
SLAAC (Stateless Address Auto-configuration) — client tự sinh địa chỉ IPv6 dựa trên prefix mà FortiGate quảng bá qua Router Advertisement (RA). Theo RFC 4862, SLAAC chỉ thiết kế để cấp địa chỉ IP, không cấp được thông tin DNS server cho client.
config system interface
edit "internal"
config ipv6
set ip6-mode static
set ip6-address 2001:db8:2::1/64
set ip6-send-adv enable
config ip6-prefix-list
edit 2001:db8:2::/64
set autonomous-flag enable
set onlink-flag enable
next
end
end
next
end
SLAAC kết hợp Stateless DHCPv6 — giải quyết đúng hạn chế trên: client vẫn tự sinh địa chỉ qua SLAAC như bình thường, nhưng đồng thời hỏi thêm một DHCPv6 server (chỉ để lấy thông tin bổ sung như DNS, không cấp địa chỉ) nhờ cờ Other Configuration flag.
config system interface
edit "internal"
config ipv6
set ip6-mode static
set ip6-address 2001:db8:2::1/64
set ip6-send-adv enable
set ip6-other-flag enable
config ip6-prefix-list
edit 2001:db8:2::/64
set autonomous-flag enable
next
end
end
next
end
config system dhcp6 server
edit 1
set interface "internal"
set dns-service specify
set dns-server1 2001:db8:2::1
next
end
DHCPv6 Stateful — server quản lý và cấp phát toàn bộ địa chỉ tương tự DHCP IPv4 truyền thống, thông qua cờ Managed Address Configuration flag (ip6-manage-flag).
config system interface
edit "internal"
config ipv6
set ip6-mode static
set ip6-address 2001:db8:2::1/64
set ip6-send-adv enable
set ip6-manage-flag enable
set ip6-other-flag enable
end
next
end
config system dhcp6 server
edit 1
set interface "internal"
set lease-time 604800
set subnet 2001:db8:2::/64
config ip-range
edit 1
set start-ip 2001:db8:2::1000
set end-ip 2001:db8:2::2000
next
end
set dns-service specify
set dns-server1 2001:db8:2::1
next
end
Điểm khác biệt so với ví dụ SLAAC kết hợp Stateless DHCPv6 ở trên: ip6-manage-flag được bật thêm (báo cho client biết phải lấy toàn bộ địa chỉ từ DHCPv6, không tự sinh qua SLAAC), và khối config system dhcp6 server khai báo hẳn một ip-rangecụ thể để server cấp phát và quản lý — tương tự cách DHCP Server IPv4 đã học ở bài trước, chỉ khác là dùng địa chỉ IPv6.
⚠️ Lưu ý: Không phải hệ điều hành nào cũng hỗ trợ đầy đủ cả ba phương thức — theo ghi nhận thực tế triển khai, một số phiên bản Windows có thể bỏ qua DNS quảng bá qua RA (RDNSS) nếu DHCP đã bật cho cả IPv4 lẫn IPv6, còn Android nhìn chung không hỗ trợ DHCPv6 thông thường (dù có thể hỗ trợ riêng DHCPv6 Prefix Delegation). Trong môi trường có nhiều loại thiết bị đầu cuối khác nhau, cân nhắc bật song song nhiều phương thức để đảm bảo tương thích rộng.
2.3 Router Advertisement — nền tảng bắt buộc cho cả 3 phương thức
Dù chọn phương thức nào, FortiGate bắt buộc phải gửi Router Advertisement (ip6-send-adv enable) để hoạt động như một IPv6 router hợp lệ trong mạng — thiếu cờ này, client sẽ không nhận được prefix và không thể tự cấu hình địa chỉ dù các thiết lập khác đã đúng.
Ba cờ quan trọng trong Router Advertisement quyết định client hiểu cách lấy địa chỉ ra sao:
| Cờ | Ý nghĩa |
|---|---|
autonomous-flag (trên prefix) |
Cho phép client tự sinh địa chỉ từ prefix này (SLAAC) |
ip6-other-flag |
Báo client hỏi thêm DHCPv6 để lấy thông tin khác (DNS...), không lấy địa chỉ |
ip6-manage-flag |
Báo client lấy toàn bộ địa chỉ từ DHCPv6 (Stateful), bỏ qua SLAAC |
2.4 Firewall Policy cho IPv6
Firewall Policy IPv6 dùng tham số riêng biệt với hậu tố 6, tách hoàn toàn khỏi Policy IPv4 dù có thể áp dụng logic tương tự:
config firewall policy
edit 30
set name "ipv6-lan-to-wan"
set srcintf "internal"
set dstintf "wan1"
set srcaddr6 "all"
set dstaddr6 "all"
set action accept
set schedule "always"
set service "ALL"
set nat64 disable
next
end
⚠️ Lưu ý: Vì địa chỉ IPv6 công cộng thường được cấp phát dồi dào (mỗi client có thể có địa chỉ định danh toàn cầu riêng), NAT thường không cần thiết với IPv6 thuần túy như IPv4 — tuy nhiên Firewall Policy IPv6 vẫn hoạt động theo nguyên tắc implicit deny giống hệt IPv4: không có Policy tường minh cho phép, traffic vẫn bị chặn dù đã có địa chỉ hợp lệ.
2.5 Routing tĩnh IPv6
config router static6
edit 1
set dst 2001:db8:100::/48
set gateway 2001:db8:2::254
set device "internal"
next
end
Cấu trúc lệnh routing tĩnh IPv6 tương tự IPv4 (config router static), chỉ khác tên lệnh (static6) và định dạng địa chỉ đích. FortiGate cũng hỗ trợ routing động IPv6 — OSPFv3 và BGP với address-family IPv6 — sẽ được trình bày ở các bài routing động sau này của khóa học.
3. Hỏi & Đáp
Tại sao SLAAC không cấp được DNS server cho client?
Đây là giới hạn thiết kế theo chuẩn RFC 4862 — SLAAC chỉ định nghĩa cơ chế client tự sinh địa chỉ IP từ prefix quảng bá, không bao gồm cơ chế truyền tải thông tin DNS. Muốn có DNS đi kèm, cần bổ sung DHCPv6 (stateless để chỉ lấy thông tin bổ sung, hoặc RDNSS quảng bá trực tiếp trong RA).
Có bắt buộc phải cấu hình cả IPv4 và IPv6 cùng lúc (dual-stack) không?
Không bắt buộc — có thể chạy IPv6-only nếu hạ tầng cho phép, nhưng thực tế phần lớn triển khai doanh nghiệp hiện nay dùng dual-stack (song song cả IPv4 và IPv6) trong giai đoạn chuyển đổi, vì không phải toàn bộ dịch vụ/thiết bị đối tác đã hỗ trợ IPv6 hoàn toàn.
Firewall Policy IPv6 có tự động áp dụng logic giống Policy IPv4 tương ứng không?
Không tự động — hai ngăn xếp IPv4 và IPv6 trên FortiOS tách biệt hoàn toàn về cấu hình, kể cả khi cùng chạy trên chung interface vật lý. Cần viết Policy IPv6 riêng biệt (srcaddr6, dstaddr6...) dù logic nghiệp vụ có thể giống hệt Policy IPv4 song song.
ip6-send-adv có ảnh hưởng gì nếu chỉ dùng địa chỉ IPv6 tĩnh, không cần client tự động nhận địa chỉ?
Nếu toàn bộ thiết bị trong mạng đều được gán IPv6 tĩnh thủ công, có thể không cần bật ip6-send-adv. Tuy nhiên Router Advertisement còn phục vụ mục đích khác ngoài cấp địa chỉ — như quảng bá route mặc định IPv6 cho các thiết bị trong mạng — nên trong nhiều trường hợp vẫn nên bật dù dùng địa chỉ tĩnh.
4. Quiz
Câu 1: SLAAC (Stateless Address Auto-configuration) có thể cấp cho client những thông tin gì?
- A. Chỉ địa chỉ IPv6, không cấp được DNS server
- B. Cả địa chỉ IPv6 lẫn DNS server
- C. Chỉ DNS server, không cấp địa chỉ IP
- D. Không cấp được gì, chỉ mang tính tham khảo
Câu 2: Cờ nào trong Router Advertisement báo cho client biết cần hỏi thêm DHCPv6 để lấy thông tin bổ sung (như DNS) dù vẫn tự sinh địa chỉ qua SLAAC?
- A.
autonomous-flag - B.
ip6-other-flag - C.
ip6-manage-flag - D.
ip6-send-adv
Câu 3: Lệnh CLI nào dùng để cấu hình routing tĩnh cho IPv6 trên FortiGate?
- A.
config router static - B.
config router static6 - C.
config router ipv6-static - D.
config system route6
Câu 4: Firewall Policy IPv6 dùng tham số nào để chỉ định địa chỉ nguồn, thay vì srcaddr như IPv4?
- A.
srcaddr-v6 - B.
srcaddr6 - C.
src-ipv6 - D.
srcaddress6
Câu 5: Vì sao FortiGate bắt buộc phải bật ip6-send-adv để các phương thức gán địa chỉ IPv6 hoạt động?
- A. Đây là tham số không có tác dụng thực tế
- B. Để FortiGate gửi Router Advertisement, hoạt động như một IPv6 router hợp lệ, cung cấp prefix cho client
- C. Chỉ cần thiết khi dùng DHCPv6 Stateful
- D. Chỉ ảnh hưởng tới hiệu năng, không liên quan tới cấp địa chỉ
👉 Đáp án
Câu 1: A SLAAC theo chuẩn RFC 4862 chỉ thiết kế để cấp địa chỉ IPv6 cho client, không có cơ chế truyền tải thông tin DNS server đi kèm.
Câu 2: B ip6-other-flag báo cho client biết cần hỏi thêm DHCPv6 (ở chế độ stateless) để lấy các thông tin bổ sung như DNS, trong khi vẫn tự sinh địa chỉ qua SLAAC như bình thường.
Câu 3: B config router static6 là lệnh cấu hình routing tĩnh dành riêng cho IPv6, tách biệt với config router static của IPv4.
Câu 4: B Firewall Policy IPv6 dùng srcaddr6 (và tương ứng dstaddr6) để chỉ định địa chỉ nguồn/đích, phân biệt với srcaddr/dstaddr của Policy IPv4.
Câu 5: B ip6-send-adv khiến FortiGate gửi Router Advertisement định kỳ, đây là điều kiện bắt buộc để FortiGate hoạt động như một IPv6 router hợp lệ và cung cấp prefix cho client tự cấu hình địa chỉ, dù dùng phương thức SLAAC, SLAAC kết hợp DHCPv6, hay DHCPv6 Stateful.
📚 Bài viết thuộc khóa học FortiGate của VNExperts
🧭 Điều hướng
| ⬅️ Bài trước | 🏠 Mục lục khóa học | Bài kế tiếp ➡️ |
|---|---|---|
| DNS trên FortiGate: DNS server, DNS filter sơ lược | Mục lục khóa học FortiGate | Routing động cơ bản: OSPF trên FortiGate |
