Bài 12b: Thực hành IPv6 — Địa chỉ global, link-local, EUI-64 và SLAAC trên Packet Tracer
Sơ đồ lab Bài 12b · ⬇️ Tải sơ đồ (SVG) · 🔍 Mở cỡ lớn
💡 Liên hệ thực tế
Nhà mạng vừa cấp cho công ty ABC dải IPv6 2001:db8:acad::/48. Anh Nam muốn thử trước trên Packet Tracer: router có địa chỉ IPv6, và PC tự lấy địa chỉ mà không cần ai gõ tay — đúng như lý thuyết SLAAC ở Bài 11.
Bài lab này cho bạn thấy tận mắt: mỗi cổng IPv6 có ít nhất hai địa chỉ (link-local và global), router quảng bá prefix cho PC tự cấu hình, và gateway của PC là một địa chỉ link-local.
Quy tắc ghi nhớ: router Cisco chỉ định tuyến IPv6 và gửi Router Advertisement (RA) khi đã bật ipv6 unicast-routing. Không có RA, PC chọn tự động cấu hình chỉ có địa chỉ link-local.
🎯 Mục tiêu bài lab
- Đặt địa chỉ IPv6 global và link-local thủ công trên interface router.
- Tạo địa chỉ bằng EUI-64 và đối chiếu với địa chỉ MAC.
- Cho PC tự cấu hình địa chỉ bằng SLAAC; đặt IPv6 tĩnh cho một PC.
- Kiểm tra bằng
show ipv6 interface brief,show ipv6 route,show ipv6 neighbors,ipconfig,ping.
📋 Bảng địa chỉ và đấu nối
| Thiết bị | Interface | Địa chỉ global | Link-local |
|---|---|---|---|
| R1 | G0/0 (LAN A) | 2001:db8:acad:1::1/64 | FE80::1 |
| G0/1 (LAN B) | 2001:db8:acad:2::1/64 | FE80::1 | |
| G0/2 (LAN C) | 2001:db8:acad:3::/64 theo EUI-64 | Tự tạo (EUI-64) | |
| PC-A1 | NIC | SLAAC (tự động) | Tự tạo |
| PC-A2 | NIC | 2001:db8:acad:1::10/64, GW FE80::1 | Tự tạo |
| PC-B1 | NIC | SLAAC (tự động) | Tự tạo |
| PC-C1 | NIC | SLAAC (tự động) | Tự tạo |
| Từ | Cổng | Đến | Cổng | Cáp |
|---|---|---|---|---|
| R1 | G0/0 | SW1 | Gi0/1 | Copper Straight-Through |
| SW1 | Fa0/1, Fa0/2 | PC-A1, PC-A2 | FastEthernet0 | Copper Straight-Through |
| R1 | G0/1 | PC-B1 | FastEthernet0 | Copper Cross-Over |
| R1 | G0/2 | PC-C1 | FastEthernet0 | Copper Cross-Over |
⚙️ Các bước thực hiện
⚙️ Bước 1 — Dựng sơ đồ
Kéo ra 1 router 2911, 1 switch 2960-24TT (để mặc định) và 4 PC. Nối cáp theo bảng. Trên router đặt hostname R1.
⚙️ Bước 2 — Đặt địa chỉ IPv6 trên R1
R1(config)# interface gigabitEthernet 0/0
R1(config-if)# ipv6 address 2001:db8:acad:1::1/64
R1(config-if)# ipv6 address fe80::1 link-local
R1(config-if)# no shutdown
R1(config-if)# interface gigabitEthernet 0/1
R1(config-if)# ipv6 address 2001:db8:acad:2::1/64
R1(config-if)# ipv6 address fe80::1 link-local
R1(config-if)# no shutdown
R1(config-if)# interface gigabitEthernet 0/2
R1(config-if)# ipv6 address 2001:db8:acad:3::/64 eui-64
R1(config-if)# no shutdown
R1(config-if)# end
📎 Giải thích:
• Ngay khi có địa chỉ IPv6, interface tự tạo một địa chỉ link-local (FE80::/10) — chỉ dùng trong chính đoạn mạng đó, không đi qua router.
• Đặt link-local thủ công làFE80::1giúp dễ nhớ: PC sẽ dùng nó làm gateway. Hai cổng G0/0 và G0/1 dùng chung FE80::1 vẫn hợp lệ, vì mỗi link-local chỉ cần duy nhất trên đoạn mạng của nó.
• Trên G0/2, từ khoáeui-64bảo router tự sinh 64 bit sau từ địa chỉ MAC của cổng.
Chạy show ipv6 interface brief: mỗi cổng có hai dòng địa chỉ, một FE80:: và một 2001:DB8:….
⚙️ Bước 3 — Cho PC tự cấu hình… và thấy chưa được
Trên PC-A1, PC-B1, PC-C1: Desktop → IP Configuration → phần IPv6 chọn Automatic (một số phiên bản ghi là Auto Config). Quan sát: PC chỉ có địa chỉ link-local, ô địa chỉ IPv6 global vẫn trống.
⚠️ Lý do: router chưa bật định tuyến IPv6 nên chưa gửi Router Advertisement — PC không biết prefix và gateway.
⚙️ Bước 4 — Bật định tuyến IPv6
R1(config)# ipv6 unicast-routing
Trên từng PC, bấm chọn Static rồi chọn lại Automatic để PC xin cấu hình lại. Giờ PC-A1 có địa chỉ dạng 2001:DB8:ACAD:1:…, gateway là FE80::1. PC-B1 nhận prefix 2001:DB8:ACAD:2::/64, PC-C1 nhận 2001:DB8:ACAD:3::/64.
📎 Với SLAAC, PC lấy prefix từ RA và tự tạo phần Interface ID. Nếu trong Interface ID cóFFFEở giữa thì PC đã tạo nó bằng EUI-64 từ địa chỉ MAC — hãy so với Physical Address trongipconfig /allđể kiểm chứng.
⚙️ Bước 5 — Đặt IPv6 tĩnh cho PC-A2
PC-A2: IPv6 chọn Static, IPv6 Address 2001:db8:acad:1::10, prefix 64, IPv6 Gateway FE80::1.
Từ PC-A2: ping 2001:db8:acad:1::1 (gateway), rồi ping địa chỉ global của PC-B1 và PC-C1 (xem bằng ipconfig trên từng máy) — đều phải thành công.
⚙️ Bước 6 — Giải mã địa chỉ EUI-64 trên G0/2
Trên R1 chạy show interfaces gigabitEthernet 0/2, ghi lại dòng address is … (địa chỉ MAC). So với địa chỉ global của G0/2 trong show ipv6 interface brief, rồi tự làm 3 bước EUI-64:
- Chia MAC 48 bit làm hai nửa 24 bit.
- Chèn
FFFEvào giữa. - Đảo bit thứ 7 của byte đầu tiên (vd 00 → 02, 0C → 0E).
Ví dụ MAC 00E0.F71A.2B03 → 00E0:F7 | FFFE | 1A:2B03 → đảo bit: 02E0:F7FF:FE1A:2B03 → địa chỉ 2001:DB8:ACAD:3:2E0:F7FF:FE1A:2B03.
💾 Bước 7 — Lưu cấu hình
R1# copy running-config startup-config
🔍 Kiểm tra kết quả
| # | Kiểm tra | Lệnh / thao tác | Kết quả mong đợi |
|---|---|---|---|
| 1 | Địa chỉ trên router | show ipv6 interface brief |
Mỗi cổng có FE80:: và 2001:DB8:…; G0/2 có FFFE ở giữa |
| 2 | Bảng định tuyến IPv6 | show ipv6 route |
3 dòng C /64 và các dòng L /128 |
| 3 | PC tự cấu hình | PC-A1 ipconfig |
Có IPv6 global 2001:DB8:ACAD:1:…, gateway FE80::1 |
| 4 | Liên mạng IPv6 | PC-A2 ping PC-B1, PC-C1 | ✅ Thành công |
| 5 | Bảng láng giềng | show ipv6 neighbors |
Thấy địa chỉ IPv6 của các PC kèm MAC — tương đương bảng ARP của IPv4 |
🔍 Output mẫu trên R1 (địa chỉ EUI-64 của bạn sẽ khác vì MAC khác)
R1# show ipv6 interface brief
GigabitEthernet0/0 [up/up]
FE80::1
2001:DB8:ACAD:1::1
GigabitEthernet0/1 [up/up]
FE80::1
2001:DB8:ACAD:2::1
GigabitEthernet0/2 [up/up]
FE80::2E0:F7FF:FE1A:2B03
2001:DB8:ACAD:3:2E0:F7FF:FE1A:2B03
R1# show ipv6 route
(… rút gọn phần chú thích mã route …)
C 2001:DB8:ACAD:1::/64 [0/0]
via GigabitEthernet0/0, directly connected
L 2001:DB8:ACAD:1::1/128 [0/0]
via GigabitEthernet0/0, receive
C 2001:DB8:ACAD:2::/64 [0/0]
via GigabitEthernet0/1, directly connected
L 2001:DB8:ACAD:2::1/128 [0/0]
via GigabitEthernet0/1, receive
C 2001:DB8:ACAD:3::/64 [0/0]
via GigabitEthernet0/2, directly connected
L 2001:DB8:ACAD:3:2E0:F7FF:FE1A:2B03/128 [0/0]
via GigabitEthernet0/2, receive
L FF00::/8 [0/0]
via Null0, receive
📎 Dòng L FF00::/8 là dải multicast; router tự thêm, không cần quan tâm ở mức CCNA.
🛠️ Lỗi thường gặp & cách xử lý
| Triệu chứng | Nguyên nhân thường gặp | Cách kiểm tra & sửa |
|---|---|---|
| PC chọn tự động nhưng chỉ có địa chỉ FE80:: | Router chưa có ipv6 unicast-routing nên không gửi RA |
Bật lệnh, rồi cho PC xin cấu hình lại (Static → Automatic) |
| Router báo lỗi khi gõ địa chỉ link-local | Gõ thiếu từ khoá link-local, hoặc địa chỉ không thuộc FE80::/10 |
ipv6 address fe80::1 link-local |
| PC-A2 ping gateway thất bại | Sai prefix hoặc gateway (gõ FE80::1 thành FE80::10…) | ipconfig trên PC-A2 |
| Ping được trong cùng mạng nhưng không qua mạng khác | Thiếu ipv6 unicast-routing, hoặc PC sai gateway |
show running-config | include ipv6 unicast |
| SLAAC không chạy trên một mạng | Prefix trên router không phải /64 | SLAAC cần prefix /64; sửa lại độ dài prefix |
🏆 Thử thách mở rộng
- Từ PC-A2 ping địa chỉ link-local FE80::1. Sau đó từ PC-B1 ping địa chỉ link-local của PC-A1. Lệnh nào thành công, vì sao?
- Viết gọn nhất có thể địa chỉ
2001:0db8:0000:0000:0a00:0000:0000:0001. - Thêm cho G0/1 một địa chỉ global thứ hai
2001:db8:acad:22::1/64. PC-B1 nhận được mấy địa chỉ global?
👉 Gợi ý đáp án
Thử thách 1: PC-A2 ping FE80::1 thành công vì cùng đoạn mạng với G0/0. PC-B1 ping link-local của PC-A1 thất bại: địa chỉ link-local không được router chuyển sang đoạn mạng khác.
Thử thách 2: 2001:db8::a00:0:0:1 — bỏ số 0 đứng đầu mỗi nhóm, và chỉ được thay một chuỗi nhóm 0 liên tiếp bằng :: (chọn chuỗi dài nhất).
Thử thách 3: Router quảng bá cả hai prefix trong RA, nên PC-B1 có thể tạo hai địa chỉ global — một với mỗi prefix. Kiểm tra bằng ipconfig sau khi cho PC xin cấu hình lại.
💬 Hỏi & Đáp nhanh
❓ Vì sao gateway của PC là FE80::1 chứ không phải 2001:DB8:ACAD:1::1?
✅ RA được router gửi đi từ địa chỉ link-local của nó, nên PC lấy địa chỉ đó làm default gateway. Đây là cách IPv6 làm việc bình thường; vì vậy nên đặt link-local dễ nhớ cho cổng router.
❓ IPv6 có ARP không?
✅ Không. IPv6 dùng giao thức Neighbor Discovery (gói Neighbor Solicitation/Advertisement) để tìm MAC; kết quả xem bằng show ipv6 neighbors.
❓ Ngoài SLAAC còn cách nào cấp địa chỉ tự động?
✅ DHCPv6: stateless (địa chỉ vẫn tự tạo bằng SLAAC, DHCPv6 chỉ cấp thêm DNS…) và stateful (DHCPv6 cấp luôn địa chỉ, giống DHCP của IPv4).
📝 Bài tập đánh giá
Câu 1: PC chọn tự cấu hình IPv6 nhưng chỉ có địa chỉ FE80::. Router đã có địa chỉ global trên cổng nối PC. Nguyên nhân khả dĩ nhất?
- A. PC thiếu DNS server
- B. Router chưa bật
ipv6 unicast-routing - C. Router chưa đặt link-local thủ công
- D. Switch chưa hỗ trợ IPv6
Câu 2: Địa chỉ nào là link-local?
- A. 2001:db8::1
- B. FF02::1
- C. FE80::2E0:F7FF:FE1A:2B03
- D. ::1
👉 Đáp án
- Câu 1: B — Không có
ipv6 unicast-routing, router không gửi RA nên PC không biết prefix để tự tạo địa chỉ global. - Câu 2: C — Link-local thuộc FE80::/10. FF02::1 là multicast tới mọi node, ::1 là loopback.
💡 Output trong bài là output mẫu trên Packet Tracer, trên máy bạn có thể khác một chút (ví dụ địa chỉ MAC).
📚 Bài viết thuộc khóa học CCNA của VNExperts
🧭 Điều hướng
| ⬅️ Bài trước | 🏠 Mục lục khóa học | Bài kế tiếp ➡️ |
|---|---|---|
| Bài 12: IPv6 subnetting cơ bản | Mục lục khóa học CCNA | Bài 13: Kiến trúc mạng: 2-tier, 3-tier, Spine-Leaf |