Tài liệu hướng dẫn hiểu và thực hành IPv6 cho người mới; sẽ tạo cho bạn 1 khung nền kiến thức tốt về IPv6.Tài liệu hướng dẫn hiểu và thực hành IPv6 cho người mới; sẽ tạo cho bạn 1 khung nền kiến thức tốt về IPv6.Tài liệu hướng dẫn hiểu và thực hành IPv6 cho người mới; sẽ tạo cho bạn 1 khung nền kiến thức tốt về IPv6.Tài liệu hướng dẫn hiểu và thực hành IPv6 cho người mới; sẽ tạo cho bạn 1 khung nền kiến thức tốt về IPv6.Tài liệu hướng dẫn hiểu và thực hành IPv6 cho người mới; sẽ tạo cho bạn 1 khung nền kiến thức tốt về IPv6.
Trang 1LÝ THUYẾT VÀ CẤU HÌNH IPv6 TỪ ĐẦU
Trang 2Mục Lục:
1 Các loại địa chỉ IPv6 đặt cho host/PC
2 Cơ chế tự sinh ra IPv6 của PC
3 Cấu hình SLAAC, DHCP stateless, DHCP stateful
4 IPv6 Delegation Prefix là gì, demo cấu hình
5 Cấu hình HSRP IPv6
6 Cấu hình RIP IPv6
7 Cấu hình OSPF IPv6
8 Cấu hình BGP IPv6
9 Kết nối IPv6 qua hạ tầng MPLS IPv4
10 Kết nối IPv6 qua IPv4 bằng tunnel GRE
1.Tổng quan các loại địa chỉ IPv6 sử dụng cho host/PC
Trang 3- Có 2 loại địa chỉ IPv6 sử dụng cho PC, router, đó là IPv6 Link-Local và IPv6 Global Unicast Trong đó IPv6 link-local bắt đầu bằng FE80, prefix-length 10 , còn IPv6 Global Unicast bắt đầu bằng 2000-
>3FFF, prefix-length 3
- Nếu là router, địa chỉ Link-local được sinh ra dựa vào MAC address của port, từ 48 bit MAC đầu tiên sẽ chẻ đôi; chèn FF:FE vào giữa, sau đó đảo bít thứ 7 của nửa đầu tiên, và chèn FE80 vào đầu
để tạo thành link-local Tham khảo link convert MAC ra IPv6 https://nettools.club/mac2ipv6
- Đối với PC, nó sẽ không dựa vào MAC của port, mà nó sẽ sinh ngẫu nhiên các bit theo sau của FE80
và tạo ra Link-Local Để xem IPv6 Link Local của PC, ta gõ ipconfig trong cmd
- IPv6 không có địa chỉ subnet và không có địa chỉ broadcast
2.Cơ chế tự sinh ra địa chỉ IPv6 của PC
- Khi cắm 1 PC vào router như thế này
- Ta chưa cấu hình gì cả, thì trên PC cũng sinh ra 1 địa chỉ Link-local rồi
- Hoặc khi đặt IPv6 trên cổng e0/1 của router, thì trên PC cũng tự sinh ra 1 IPv6 ăn theo prefix đó, và nhận router làm default gateway => vì sao?
- Đây là kết quả của quá trình Neighbor Discovery giữa PC và Router, như dưới:
>> Step 1: Khi bật PC lên, PC sẽ sinh ra 1 dãy chữ số ngẫu nhiên để dự định làm IPv6,
>> Step 2: PC hỏi xung quanh có ai dùng IPv6 này chưa, nếu ko ai trả lời thì tôi sẽ dùng nó (cơ chế DUPLICATE ADDRESS DETECTION)
Trang 4>> Step 3: Thấy không ai trả lời, PC bắt đầu sử dụng IP trên để giao tiếp, nó gửi tiếp các gói ICMP
discovery vào các nhóm FF02::2 (gói 133,tìm tất cả các router chạy IPv6 trong đoạn mạng),…chốt ở bước này là nó có 1 IPv6 link-local để nói chuyện trong đoạn mạng
>> Step 4: PC nhận thấy có gói tin ICMP (mã 134) từ router nào đó đi đến, nội dung là : “tôi là router, tôi
có IP thuộc prefix 2001::/64 (trong ví dụ trên), có ai muốn đặt IP theo prefix này ko?
>> Step 5: PC hỏi lại Router , gói ICMP-135, để hỏi địa chỉ MAC của Router
>> Step 6: Router trả lời lại , gói ICMP-136, chứa MAC của router
>> Step 7: PC quyết định dùng prefix bên trên và ghép với 1 dãy chữ số ngẫu nhiên để sinh ra IPv6 Global unicast, đồng thời nhận luôn router làm default gateway
3.Cấu hình SLAAC, DHCP Stateless, DHCP Stateful
>> SLAAC: Stateless Address Auto Configuration, là khi ta cắm 1 PC hoặc 1 router vào 1 router đã cấu hình sẵn IPv6 thì router của ta sẽ tự động có IPv6 mà không cần đặt thủ công (Lưu ý IPv6 trên router phải subnet 64 thì mới cấp IPv6 cho client)
- Đối với PC: không cần làm gì; chỉ cần cắm link vào router IPv6
- Đối với Router1 khi cắm vào router2:
Trang 5ipv6 address FE80:A::100 link-local
! Nhận IPv6 global address theo kiểu dùng link-local ghép với prefix tự chọn
int e0/0
ipv6 address 2001:a:b:c::/64 eui-64 => dùng 64 bít cuối của link-local ghép với prefix 2001:a:b:c
!Nhận IPv6 global ăn theo prefix 2001::/64 của R2 và tự sinh Link-local address
int e0/0
ipv6 address autoconfig
Xem Kết quả: show ipv6 int e0/0 brief
>> DHCP stateful: là gì? Là PC sẽ nhận IPv6 từ DHCP server, và trên DHCP server lưu lại thông tin IPv6 nào cấp cho host nào
Khai trên DHCP server (giả lập bởi router Cisco):
Trang 6!Tạo pool gồm prefix, DNS, domain-name sẽ cấp cho PC
ipv6 dhcp pool HAINM-POOL
address prefix 2001:A:B:C::/64
dns-server 2001:A:B:C::50
domain-name hainm.com
!gán pool vào interface e0/1
interface Ethernet0/1
ipv6 address 2001:A:B:C::1/64
ipv6 nd prefix default infinite infinite no-autoconfig => để báo PC ko tự sinh ra IPv6 ngoài DHCP nữa ipv6 nd managed-config-flag => để báo PC hãy nhận IPv6 từ DHCP
ipv6 dhcp server HAINM-POOL
Để kiểm tra cấp DHCP chưa, trên DHCP server: show ipv6 dhcp binding
Trên PC gõ lệnh ipconfig trong cmd
>> DHCP stateless: là DHCP server vẫn cấp các thông tin như DNS, domain-name, nhưng không cấp IPv6 (show ipv6 dhcp binding ra không có gì)
Trên DHCP server:
!Tạo pool gồm prefix, DNS, domain-name sẽ cấp cho PC
ipv6 dhcp pool HAINM-POOL
address prefix 2001:A:B:C::/64
dns-server 2001:A:B:C::50
domain-name hainm.com
!gán pool vào interface e0/1
interface Ethernet0/1
ipv6 address 2001:A:B:C::1/64
ipv6 nd other-config-flag => để báo với PC là hãy tự sinh IPv6 chứ router không cấp DHCP đâu, lưu ý nếu vừa có lệnh này vừa có
lệnh ipv6 nd managed-config-flag bên trên thì lệnh này sẽ không có tác dụng, khi đó PC vẫn nhận IPv6 qua DHCP bình thường)
ipv6 dhcp server HAINM-POOL
Trang 7Xem kết qả trên PC và DHCP server tương tự bên trên, (khi show ipv6 dhcp binding ra sẽ không thấy gì)
4.IPv6 Delegation Prefix là gì, demo cấu hình
Ta sẽ demo cấu hình trên router Cisco (giả lập modem và Bras)
>> Trên BRAS cần khai báo 1 pool gồm prefix để cấp
!enable tính năng ipv6 routing
ipv6 unicast-routing
Trang 8!Tạo pool để cấp: cấp prefix /48 cho modem, sau đó modem sẽ cắt ra dải nhỏ hơn để cấp cho PC
ipv6 local pool BIG_POOL 2001:A:B::/48 64 => Pool này prefix 48 nhưng chỉ cấp /64 thôi, prefix cấp sẽ là 2001:A:B:0::/64
!Gán cho khách hàng A qua DHCP
ipv6 dhcp pool KHACH-HANG-A
prefix-delegation pool BIG_POOL
domain-name HAINM.NET
!Lưu ý: Trên Bras của nhà mạng sẽ có tính năng cấp từng pool khác nhau cho các khách hàng khác nhau (dựa trên PPPoE account) còn trong bài lab này router chỉ có tính năng cấp 1 pool cố định qua interface e0/0
interface Ethernet0/0
ipv6 address 2001::1/64
ipv6 dhcp server KHACH-HANG-A
>> Trên Modem khai báo nhận
!enable tính năng ipv6 routing
ipv6 unicast-routing
!Nhận IP dhcp từ ISP
interface Ethernet0/0
ipv6 address autoconfig default #=> tự config WAN theo prefix wan
ipv6 dhcp client pd KHACH-HANG-A #=> nhận IP LAN và lưu vào pool KHACH-HANG-A
!Đặt IP LAN theo dải được cấp, prefix 64
interface Ethernet0/1
ipv6 address KHACH-HANG-A ::1:1:1:1/64
!Trên PC khi thấy Router quảng bá dải prefix /64 này thì nó sẽ tự tạo ra IPv6 dựa theo prefix nhận được
>> Trên PC, xem đã nhận chưa
Trang 9Nếu bạn thấy có 2 địa chỉ IPv6 , đó là do ngoài IP theo prefix nó đã nhận được , còn có 1 địa chỉ nữa do
nó tự tạo dựa trên privacy extension của windows (Search Google để biết chi tiết về privacy extension)
Để disable privacy extension thì dùng lệnh sau trong cmd: netsh interface ipv6 set privacy state=disabled
Sau khi disable , ta tắt card mạng đi rồi bật lại thì chỉ còn 1 IPv6 global như trên thôi
Vậy PC đã nhận IPv6 theo đúng prefix quy hoạch của nhà mạng cho khách hàng A
Để PC nhận được thông tin về DNS thì ta cần khai thêm trên Modem, tùy loại modem sẽ có chỗ khai, ở đây với router cisco , ta sẽ khai như dưới:
ipv6 dhcp pool DNS-ASSIGN
dns-server 2001:A:B:C::50 => gán DNS cho PC qua cơ chế DHCP
domain-name hainm.net => gán domain-name qua DHCP
interface Ethernet0/1
ipv6 address KHACH-HANG-A ::1:1:1:1/64
ipv6 nd other-config-flag => để gán các thông tin như DNS, Domain-name
ipv6 dhcp server DNS-ASSIGN
Khi đó trên PC đã nhận đầy đủ
Trang 10Để verify trên Bras thì ta show ipv6 dhcp binding sẽ thấy nó đã cấp prefix cho Modem:
BRAS-VNPT#show ipv6 dhcp binding
preferred lifetime 604800, valid lifetime 2592000
expires at Oct 08 2021 10:26 AM (2591491 seconds)
5.Cấu hình HSRP trong IPv6
Yêu cầu: Cấu hình HSRP sao cho R1 active và R2 standby, đặt theo dõi sao cho khi R1 đến đích
2001:56:56::56 bị down thì tự động HSRP chuyển ưu tiên sang R2 => ta cần cấu hình HSRP cho IPv6 và tracking trên con active (là R1) để khi nó ko reach đến đích được thì giảm ưu tiên HSRP xuống để cho R2 cao hơn và chuyển thành active
Mẫu cấu hình trên R1:
interface Ethernet0/0
standby version 2
standby 1 ipv6 FE80::12 => IPv6 HSRP đại diện
Trang 11standby 1 priority 101
standby 1 preempt
standby 1 track 1 decrement 10
ipv6 address 2001:A:B:C::1/64
ipv6 address 2001:A:B:C::2/64
Cấu hình tracking trên R1:
ip sla 1
icmp-echo 2001:A:15::5 source-interface Ethernet0/1
threshold 10 => round trip time: quá 10ms thì sla fail và track bị down
timeout 200 => quá 200ms ko thấy trả lời thì cũng coi như sla fail và track bị down
frequency 10 => 10s ping 1 lần
ip sla schedule 1 life forever start-time now
Kiểm tra lại:
Trang 12Mô hình
Ta sẽ cấu hình RIP IPv6 hay còn gọi là RIPng (RIP next-generate) trên các router , sau đó redistribute connected route trên R1-Nâu và R4 đỏ vào RIP, để 2 PC thông nhau
Trên các router khai RIP:
!Chỉ cần enable RIP trong các interface của router
interface Ethernet0/0
ipv6 address 2001:1:2::2/64
ipv6 rip HAINM enable=> chỉ ra tên của process chạy rip là HAINM, tương tự dạng process id trong ospf
Redistribute connected tại R1 và R4:
ipv6 router rip HAINM
redistribute connected metric 10
Kết quả:
show ipv6 rip: để xem thông tin chung về RIP như AD=120, max-path number=6, update time=30s…
Trang 13show ipv6 rip database: để xem các đích ta có thể đến, metric bao nhiêu, hướng đi ra sao
show ipv6 route rip: cũng tương tự lệnh bên trên
Từ PC-01 ping PC-02
Từ PC-02 ping PC-01:
Trang 14>> Để quảng bá default route trong RIPng, ta dùng lệnh:
“ipv6 rip HAINM default-information originate” trên các interface chạy RIPng
>> Metric của route khi router nhận được, sẽ được cộng 1 so với router quảng bá
https://learningnetwork.cisco.com/s/question/0D53i00000KswKH/ripng-metric
Ví dụ khi R1 nhận prefix 2001:2:3:: từ R2 , R2 quảng bá sang metric là 1; nhưng ta show trên R1 sẽ thấy metric là 2
show ipv6 route trên R1
7.Cấu hình OSPFv3 và redistribute static-connected vào OSPF
Trang 15!Để cấu hình OSPFv3 cho IPv6
ipv6 router ospf 1
router-id 2.2.2.2=> router-id tự đặt nếu không interface nào có IPv4
!Để cho interface vào OSPF
interface Ethernet0/1
ipv6 address 2001:2:3::2/64
ipv6 ospf 1 area 0 => cho interface vào vùng 0, nếu là vùng 1 thì ta thay 1 vào
!Để redistribute static và connected vào OSPF thì ta dùng lệnh trên các router tiếp giáp Trên R1:
ipv6 router ospf 1
redistribute static => không cần keywork subnet như bên IPv4
!Để truyền default route sang các router OSPF khác trong vùng
Trên R3:
ipv6 router ospf 1
router-id 3.3.3.3
default-information originate always
Khi đó trên các router khác sẽ nhận được default route như dưới
!Để verify dùng các lệnh tương tự IPv4
show ipv6 ospf neighbor
show ipv6 route ospf
show ipv6 ospf database
8.Cấu hình BGP cho IPv6
Trang 16Yêu cầu: Đây là mô phỏng dải mạng công ty có 2 router cam đấu 2 đường leaseline ra ngoài nhà mạng VNPT và FPT để public dịch vụ (dải 2001:123::/64), ví dụ chứng khoán.
Task 1: Đặt IP v6 cho các interface dạng 2001:X:Y::X/64 với X là router nhỏ, Y là router lớn
Task 2: Cấu hình HSRP và BGP IPv6 theo mô hình bên trên
Task 3: Kiểm tra xem PC1 và PC2 thông nhau chưa
Task 4: Dùng weight chỉnh đường đi BGP từ PC2 đến PC1
Task 5: Tìm hiểu các tiêu chí chỉnh đường đi trong BGP
Trang 17!Cấu hình HSRP với lệnh (tham khảo Mục cấu hình HSRP bên trên)
address-family ipv6 => để lan truyền route ipv6 thì cần cho vào address-family
network 2001:123::/64 (lệnh này đánh trên R2-Cam để lan truyền dải mạng ra ngoài internet) neighbor 2001:2:5::5 activate => chỉ ra neighbor lần 2, thêm lệnh activate
Trang 18Để kiểm tra xem router đã nhận route chưa
show bgp ipv6 unicast
Task 3:
!Kiểm tra PC1 và PC2 thông nhau chưa
Nếu chưa thông thì ta xem có lệnh ipv6 unicast-routing chưa
Hoặc xem đã quảng bá network trên R2 chưa
Hoặc đã quảng bá subnet connected trên Router Nâu Viettel chưa
Task 4:
!Dùng weight để điều chỉnh đường đi từ PC2 sang PC1
Để xem PC2 đang đi đường nào
>> Trên PC2 tracert –d 2001:123::100
>> Trên R6-Nâu traceroute 2001:123::100 hoặc show bgp ipv6 unicast
Để chỉnh đường theo hướng router X nào đó (là neighbor của R6) thì trên R6 ta dùng lệnh weight tăng lên, ví dụ 100, (vì weight mặc định là 0, neighbor nào được ta chỉnh lên to hơn thi đi qua neighbor đó)address-family ipv6
!Các tiêu chí dùng để chỉnh đường đi BGP
>> có 11 tiêu chí trong đó weight đứng đầu (chỉ hãng cisco mới có), sau đó đến Local-Preference, Originate, AS length,… để tìm hiểu thêm tham khảo tài liệu CCNP zero to CCNP:
https://bitly.com.vn/y0cp7y
9.Kết nối các site IPv6 qua hạ tầng MPLS IPv4
Trang 19Yêu cầu: Cấu hình IPv6 thông nhau giữa 2 site; đoạn giữa chỉ chạy IPv4
Nếu ae chưa biết MPLS thì cần tìm hiểu sơ qua 1 chút về MPLS chuyển mạch nhãn, tham khảo trên GG.Nội dung là nó sẽ chuyển mạch nhanh hơn khi không dùng =))
Khi bật MPLS thì nó sẽ tạo ra 1 bảng tương tự như routing table , dạng như khi tôi muốn đến đích là X.X.X.X thì tôi cần dán nhãn số mấy để đến và chuyển ra cổng nào để forward tiếp (show mpls ldp bindings local và show mpls forwarding-table để xem)
!Cấu hình mpls trên các router nhà mạng-interface hướng trong core
mpls ip => enable mpls global (có thể đã mặc định enable rồi; gõ lại cho chắc)
int e0/0
mpls ip
<đặt IP theo quy hoạch, không ghi ở đây>
Trang 20!Cấu hình routing, ở đây dùng OSPF, trong nhà mạng thì dùng IS-IS vì nó chạy ổn định hơn OSPF khi mạng có quy mô khủng lồ
router ospf 1
network 0.0.0.0 255.255.255.255 area 0
Để verify xem MPLS đã chạy chưa
show mpls ldp neighbor
show ip ospf neighbor (vì phải thông ospf thì MPLS LDP mới chạy được)
!Cấu hình VPN L2 trên router PE, interface hướng xuống khách hàng
interface Ethernet0/1
no ip address => không được đặt IP
xconnect 4.4.4.4 444 encapsulation mpls => gọi tới đầu xa là 4.4.4.4 và thiết lập ID kênh L2 là 444-cần match số này cả 2 đầu PE
Để verify xem kênh UP chưa thì show như sau: show mpls l2transport vc detail, thấy VC status UP là ok
!Trên router khách hàng, ta đặt IPv6 2 đầu và ping thử để kiểm tra
interface Ethernet0/0
no ip address
ipv6 address 2001:15::1/64 => đây là trên R1, R5 đặt tương tự
Ping thử từ R1 sang R5 ok, bạn tự kiểm tra từ R5 đến R1 xem Ok chưa
Show neighbor thấy 2 đầu xa đã nhận nhau
Trang 2110 Kết nối IPv6 qua IPv4 bằng tunnel GRE
Yêu cầu: công ty muốn thử nghiệm chạy IPv6 giữa 2 site qua hạ tầng IPv4 hiện hữu
>> Trên router R2, R3, R4 cấu hình IPv4 routing , ví dụ như OSPF sao cho R2 thông đến R4
>> Trên R2, interface e0/1, ta đặt IPv6 và sẽ làm gateway cho R1-chạy full ipv6
Ta sẽ giải quyết bằng cách: trên R2 và R4 tạo ra 2 interface ảo chạy IPv6 (gọi là tunnel) Tunnel này
sẽ lấy source là 1 IP nào đó trên router của mình, (ở đây dùng loopback 2.2.2.2 và 4.4.4.4)
Trang 22!Tạo ra interface tunnel IPv6 trên R2
interface Tunnel24
ipv6 address 2002:202:202::2/128 => vì sao lấy IP này, vì theo quy tắc 2002:<ipv4 viết dạng hexa>::,
ở đây source là 2.2.2.2 nên quy ra IPv6 sẽ là 0202:0202, viết rút gọn là 202:202 và chèn vào
tunnel source Loopback0 => IP của loopback là 2.2.2.2
tunnel mode ipv6ip 6to4 => để sử dụng tunnel IPv6
Tham khảo link convert từ IPv4 ra IPv6: https://www.vultr.com/resources/ipv4-converter/
!Tạo ra interface tunnel IPv6 trên R4 tương tự R2
interface Tunnel42
ipv6 address 2002:404:404::4/128 => quy đổi 4.4.4.4 thành 404:404
tunnel source Loopback0
tunnel mode ipv6ip 6to4
>> Sau đó ta định tuyến tĩnh cho R2 có thể đến được IPv6 của R4 qua interface mới này
Trên R2
ipv6 route 2002::/16 Tunnel24
Trên R4:
ipv6 route 2002::/16 Tunnel42
>> Như vậy ta đã có interface để forward gói tin IPv6 đi sang đầu xa (R2 và R4 qua lại nhau) Ta sẽ ping thử 2 IP tunnel cho nhau:
Kết quả OK Câu hỏi tiếp theo là vì sao thằng R2 lại biết khi muốn đến đích 2002:404:404::4, nó sẽ cần bọc trong gói có đích là 4.4.4.4 (R4)
, đó là do tác dụng của lệnh tunnel mode ipv6ip 6to4 bên trên, nó sẽ tính ra IPv4 từ IPv6(đích) để biết đích IPv4 cần đến