Mục đích của thí nghiệm này là khảo sát hoạt động của TCP/IPv6 trên các node IPv6, sự quảng bá thông tin về tiền tố của các router IPv6, và cách thức tự động cấu hình địa chỉ dựa trên các tiền tố nhận được.
Tương tự như thí nghiệm trên ta cũng tiến hành kích hoạt giao thức IPv6 trên các máy tính trong mạng. Tắt chức năng tự động tạo nhận dạng giao diện của máy chạy Windows. Ở đây ta chỉ kích hoạt giao thức IPv6 mà không thực hiện gán địa chỉ bằng tay cho các giao diện. Khi đó các máy tính trên mạng sẽ chỉ tự động cấu hình địa chỉ link-local. Ta cũng có thể kiểm tra các địa chỉ này trên các máy tính giống như thí nghiệm trước. Lúc này hai máy tính hồn tồn có thể liên lạc với nhau bằng các địa chỉ link-local của mình.
Bây giờ ta sẽ kiểm tra bảng lưu trữ neighbor của các máy:
Trên máy windows sử dụng lệnh netsh> interface ipv6> show neighbors
Trên máy linux ip -6 neigh show dev eth0 ta sẽ thấy hai máy lưu trữ thông tin về các node lân cận (địa chỉ IP, địa chỉ MAC...). Thông tin này được trình bày trên hình 6.10.
Hình 6.9 – Thơng tin về các host cạnh nhau
Kích hoạt IPv6 và quảng bá thông tin trên router Cisco
Kiểm tra version của HĐH: show version, với version phù hợp mới có thể hỗ
trợ giao thức IPv6. Trong bài thực hành này chúng ta sử dụng hệ điều hành:
Kiểm tra xem HĐH có hỗ trợ IPv6 khơng:. Vào chế độ cấu hình và đặt tên cho
router là ―router-ipv6‖ Enable
Hostname router-ipv6
Kiểm tra xem có tồn tại tập lệnh ipv6 hay không ipv6?. Nếu lệnh không hiển thị tập hợp các lệnh của ipv6 thì hệ điều hành khơng hỗ trợ thủ tục IPv6. Sau đó kích hoạt thủ tục IPv6 trên router bằng các lệnh:
ipv6 unicast-routing: kích hoạt một cách tồn diện giao thức ipv6 trên router
Cisco.
ip cef: kích hoạt chức năng cef trên router Cisco. ipv6 cef: kích hoạt chức năng cef cho ipv6.
Tiếp theo ta tiến hành cấu hình địa chỉ IPv6 cho giao diện của router. Khi cấu hình địa chỉ cho một giao diện, tiến trình IPv6 trên router đó sẽ tự động được kích hoạt và theo mặc định, router sẽ quảng bá thơng tin trên giao diện đó.
Vào chế độ cấu hình cho giao diện FastEthernet 0/0 bằng lệnh interface
fastethernet 0/0 đặt tiền tố cho router và hướng dẫn cho nó biết tự động cấu hình 64
bit cịn lại từ địa chỉ MAC theo cơ chế EUI-64 bằng lệnh ipv6 address 2001:dc9::/64
eui-64. Sau khi được gán tiền tố địa chỉ, router sẽ quảng bá thông tin này trên giao
diện Fastethernet 0/0 cho các máy tính trong mạng.
Kiểm tra cấu hình router bằng các lệnh: show ipv6 interface fastethernet 0/0,
show ipv6 route, show ipv6 trafics…ta có thơng tin như trên hình 6.11.
Lúc này trên cửa sổ của máy Linux sử dụng lệnh tcpdump –t –n –i eth0, ta sẽ thấy router đang quảng bá thông tin về tiền tố và những tham số khác cho các máy tính trong mạng.
Hình 6.11 – Tiền tố được quảng bá cho các host hiển thị trên máy linux
Quan sát lại các máy tính trong mạng LAN trước đây chỉ có địa chỉ link-local bây giờ đã nhận được thông tin quảng bá của router và tự động cấu hình địa chỉ IPv6 tồn cầu cho mình.
Trên máy Windows: Thực hiện các lệnh ipconfig và netsh>interface
ipv6>show routes sẽ cho ta thông tin về địa chỉ IP mới được tạo và các tuyến tương
tứng.
Hình 6.12 – Địa chỉ được tạo ra từ tiền tố do router gửi
Khi nhận được thông tin quảng bá từ router, host sẽ tự động cấu hình địa chỉ, đồng thời tuyến tương ứng với tiền tố địa chỉ quảng bá bởi router cũng được thiết lập tự động, host sẽ sử dụng router quảng bá làm gateway mặc định.
Trên máy tính Linux: sử dụng các lệnh ifcofig và ip -6 route show dev eth0 cũng sẽ quan sát được các thông tin về địa chỉ và tuyến tương ứng được tạo ra.
Hình 6.13 – Địa chỉ được tạo ra từ tiền tố do router gửi
Lúc này ta hồn tồn có thể sử dụng các địa chỉ vừa được tạo ra để liên lạc giữa hai máy tính với nhau.
Hình 6.14 – Kết quả ping từ máy windows sang router và máy linux
Kích hoạt các máy tính Linux và Windows thực hiện chức năng router Ở đây vì thiếu router chun dụng nên ta hồn tồn có thể cấu hình các máy tính chạy windows hay linux làm chức năng router để thay thế. Trong phần này sẽ hướng dẫn cách kích hoạt chức năng này trên các máy tính và quan sát thấy trên một mạng LAN IPv6, có thể có nhiều router quảng bá nhiều tiền tố khác nhau và một giao diện của một host IPv6 có thể một lúc được cấu hình nhiều địa chỉ.
Kích hoạt chức năng router của máy window: Kích hoạt chức năng chuyển tiếp gói tin và quảng bá thơng tin trên giao diện vật lý “Local Area Connection”
netsh>interfaceipv6>set interface "Local Area Connection" forwarding=enabled advertise=enabled store=active
Gắn tiền tố địa chỉ cho giao diện, tạo tuyến và xác định quảng bá thông tin qua
giao diện bằng lệnh add route 2001:dc8::/64 “Local Area Connection”
publish=yes. Khi đó trên máy windows sẽ tự động cấu hình địa chỉ theo tiền tố trên.
Kích hoạt chức năng router của máy Linux: Để máy tính cài HĐH Linux có thể thực hiện chức năng chuyển tiếp gói tin và quảng bá thông tin của router ipv6, cần cài đặt gói tin radvd và sửa đổi thơng tin cấu hình cần thiết (trong file cấu hình /etc/radvd.conf)
Cài đặt gói tin radvd-0.7.2-9.i386.rpm
Chúng ta có thể download gói tin tại website www.rpmfind.net và lưu vào một thư mục trên máy linux. Chuyển đến thư mục lưu trữ gói tin và thực hiện lệnh cài đặt:
rpm –Uvh radvd-0.7.2-9.i386.rpm
Kích hoạt chức năng ipv6 forwarding và debug
sysctl -w net.ipv6.conf.all.forwarding=1
Hoặc sửa bằng tay (sử dụng vi) file
/proc/sys/net/ipv6/conf/all/forwarding. Đặt giá trị là 1
radvd --debug 0
Sửa đổi file cấu hình của radvd để router quảng bá đúng tiền tố cần thiết. Cách thức cư xử của router, thơng tin quảng bá được cấu hình trong file cấu hình của radvd (/etc/radvd.conf)
vi /etc/radvd.conf
Cấu hình tiền tố cần thiết (2001:dc7::/64) thay thế cho tiền tố 3FFE::/64 mặc định. Kích hoạt radvd bằng lệnh /etc/init.d/radvd start
Tiến hành quan sát lại thơng tin cấu hình trên các máy tính trong mạng LAN thử nghiệm, ta sẽ thấy giao diện vật lý của các máy này đồng thời được gán nhiều địa chỉ tự động tạo ra tương ứng với các tiền tố địa chỉ được quảng bá bởi router và đồng thời cũng tự động tạo ra các tuyến tương ứng với các tiền tố này.
Hình 6.16 – Các địa chỉ được tạo ra trên giao diện của máy windows
Hình 6.17 – Các địa chỉ được tạo ra trên giao diện của máy linux
Khi trên các host đã cấu hình xong địa chỉ từ các tiền tố nhận được, lúc này ta có thể sử dụng các địa chỉ đó để liên lạc với nhau.
Hình 6.19 – Kết quả lệnh ping từ router đến hai host
6.3. Khảo sát hoạt động của NAT-PT[6],[8],[9]
NAT-PT được sử dụng với các trường hợp chuyển đổi từ IPv4 sang IPv6 và mục đích của nó là cung cấp khả năng kết nối hai chiều giữa các miền IPv4 và IPv6. Một router hai ngăn xếp với các giao diện ở trong cả mạng IPv4 và IPv6 có thể thực hiện nhiệm vụ này. Sự khác biệt so với NAT trong IPv4 cổ điển là các thông dịch sẽ được thực hiện theo cả hai cách: Các gói tin IPv6 được định tuyến tới các host IPv4 sẽ có các địa chỉ nguồn và địa chỉ đích được thay đổi thành một vài địa chỉ IPv4 tương ứng và ngược lại: Các gói tin IPv4 được gửi tới các host IPv6 sẽ có cả địa chỉ nguồn và địa chỉ đích được thay thế với các địa chỉ IPv6.
Câu hỏi đầu tiên đặt ra là làm sao để miền IPv6 học được về các host IPv4 và miền IPv4 biết về sự tồn tại của IPv6. Giải pháp ở đây là cung cấp các ánh xạ tĩnh hai chiều. Ví dụ, chúng ta có thể cấu hình bằng tay cho router để chuyển các địa chỉ đích trong các gói tin IPv6 gửi tới địa chỉ IPv6 2000::960B:0202 (một địa chỉ mẫu, ở đây giá trị 960B là 150.11) thành địa chỉ 150.11.2.2. Địa chỉ nguồn là gì? Để thơng dịch địa chỉ nguồn (ví dụ 3001:11:0:1::1) chúng ta thiết lập một ánh xạ khác, thay đổi các gói tin IPv4 (theo hướng ngược lại) gửi tới địa chỉ 150.11.1.1 thành địa chỉ 3001:11:0:1::1. Vì ánh xạ là hai chiều, các gói tin IPv6 với cặp địa chỉ nguồn/đích [3001:11:0:1::1, 2000::960B:0202] sẽ được biến đổi thành các gói tin IPv4 với cặp địa chỉ [150.11.1.1, 150.11.2.2] và ngược lại – địa chỉ nguồn/đích gói tin IPv4 [150.11.2.2, 150.11.1.1] sẽ được thông dịch thành cặp địa chỉ [2000::960B:0202, 3001:11:0:1::1].
Điều này sẽ được thực hiện trong IOS như sau: Đầu tiên, ngăn xếp giao thức IPv6 phân lớp các gói tin IPv6 cho NAT-PT bằng một tiền tố NAT IPv6 đặc biệt. Tiền
tố này đại diện cho tồn bộ khơng gian địa chỉ IPv4 (232) được nhúng trong khơng gian
siêu lớn IPv6, và ln có độ dài 96 bit (128-32). Mỗi gói tin IPv6 gửi với tiền tố này được kiểm tra bởi NAT-PT.
R1 R3 R2 Fa1/0 Fa0/0 Fa0/0 Fa0/0 2001:13::/64 :2 :3 192.168.23.0/24 .3 .2 3001:13:0:1::1/64 L0 150.13.3.3/24 L1 3001:13:0:3::3/64 L0 150.13.2.2/24 L0 Cisco 3640 Cisco 3640
Hình 6.20 – Mơ hình mạng thử nghiệm NAT-PT
Xét mơ hình thí nghiệm như trong hình 6.21 gồm 3 router 3640 kết nối với nhau, trong đó R1 chỉ chạy IPv6, R2 chỉ chạy IPv4, cịn R3 sẽ đóng vai trị NAT-PT để thơng dịch giữa hai miền mạng với nhau. Chúng ta sẽ thiết lập một ánh xạ tĩnh để cung cấp khả năng kết nối giữa địa chỉ IPv6 FastEthernet 0/0 của router R1 và địa chỉ IPv4 FastEthernet 0/0 của router R2.
Trước tiên ta sẽ gán địa chỉ IPv4 và IPv6 cho các giao diện của của các router, đồng thời khai báo định tuyến tĩnh cho chúng như sau:
Với router R1: Hostname R1 ! ipv6 unicast-routing ! interface FastEthernet0/0 ipv6 address 2001:13::2/64 ! ipv6 route ::/0 2001:13::3 Với router R3: Hostname R3 ! ipv6 unicast-routing ! interface FastEthernet0/0 ipv6 address 2001:13::3/64 ipv6 nat ! interface FastEthernet1/0 ip address 192.168.23.3 255.255.255.0 ipv6 nat Với router R2: Hostname R2 ! interface FastEthernet0/0
ip address 192.168.23.2 255.255.255.0 !
ip route 0.0.0.0 0.0.0.0 192.168.23.3
Sau khi đã khai báo địa chỉ và thông tin định tuyến xong, bước quan trọng tiếp theo là phải thiết lập một ánh xạ tĩnh (NAT-PT) để thông dịch địa chỉ IPv4 sang IPv6 và ngược lại.NAT-PT sẽ được cấu hình trên router R3. Khi NAT-PT được cấu hình xong lúc này các địa chỉ IPv4 có thể liên lạc với địa chỉ IPv6 giống như là IPv4 với IPv4, ngược lại các địa chỉ IPv6 liên lạc với địa chỉ IPv4 sẽ giống như là IPv6 với IPv6.
NAT-PT trên R3:
!
ipv6 nat v4v6 source 192.168.23.2 2001:23::2 ipv6 nat v6v4 source 2001:13::2 192.168.13.1 ipv6 nat prefix 2001:23::/96
!
Kiểm tra kết nối: Để kiểm tra hoạt động của NAT-PT, trên router R3 ta bật lệnh R3#debug ipv6 nat.
Trên router R1 thực hiện lệnh R1#ping 2001:23::2 ta sẽ thu được kết quả
thành cơng như hình 6.22.
Hình 6.21 – Kết quả lệnh ping từ R1 đến R2 thông qua NAT-PT
Tương tự trên router R2 thực hiện lệnh R2#ping 192.168.13.1 ta thu được kết quả thành cơng như hình 6.22
Hình 6.22 – Kết quả lệnh ping từ R2 đến R1 thông qua NAT-PT
Lúc này trên cửa sổ lệnh của router R3 ta sẽ thu được các thông tin về quá trình thơng dịch địa chỉ từ IPv6 sang IPv4 và từ IPv4 sang IPv6 như trên hình 6.23 và 6.24.
Hình 6.23 – Q trình thơng dịch từ IPv6 sang IPv4
Hình 6.24 – Q trình thơng dịch từ IPv4 sang IPv6
6.4. Kết nối các miền IPv6 trên mạng IPv4 sử dụng các đường hầm
[2],[8]
Phần này miêu tả kết nối giữa các miền IPv6 với nhau sử dụng các đường hầm qua cơ sở hạ tầng mạng IPv4 có sẵn.
Giả sử tại ba trường đại học là ĐHQGHN (site 1), ĐHBK Đà Nẵng (site 2), và ĐHQGTPHCM (site 3) đã xây dựng được 3 miền mạng IPv6, cả ba miền này đều có các đường kết nối tới nhà cung cấp dịch vụ Internet IPv4. Trong mỗi miền IPv6 này cung cấp các dịch vụ cũng như một số ứng dụng IPv6 khác nhau. Việc liên kết các miền này với nhau cho phép người sử dụng có thể chia sẻ thơng tin và sử dụng các dịch vụ mà trong mỗi miền khơng có.
Do khơng có các đường kết nối IPv6 chuyên dụng giữa các miền nên ta phải mượn đường truyền của nhà cung cấp dịch vụ ISP IPv4 bằng cách sử dụng các đường hầm để đóng gói các lưu lượng IPv6 trên đó. Có ba cách để thực hiện triển khai các đường hầm:
Các đường hầm IPv6 được cấu hình bằng tay
Các đường hầm 6to4 được cấu hình tự động
IPv6 trên các đường hầm GRE IPv4
Hình 6.26 là sơ đồ kết nối ba miền IPv6 với nhau thông qua mạng Internet IPv4. Trên thực tế router biên X, Y, Z của ba trường ĐH nói trên có thể kết nối tới nhà cung cấp dịch vụ Internet IPv4 tại các điểm khác nhau tại mỗi thành phố tương ứng. Tuy nhiên, ở đây để đơn giản cho việc cấu hình mơ phỏng mạng, chúng ta sẽ giả sử là cả 3 router biên này đều kết nối đến cùng một router biên của nhà cung cấp dịch vụ ISP là router ISP, như miêu tả trên hình.
Để thực hiện được yêu cầu trên, đối với mỗi miền IPv6, phải chỉ ra một router thích hợp để thực hiện chức năng như một router biên cho đường hầm. Router biên được chọn phải có các đặc tính sau:
Có thể được nâng cấp (nếu cần) một IOS mà hỗ trợ IPv6.
Có khả năng chạy hai ngăn xếp giao thức
Có một kết nối IPv4 tin cậy tới router ở xa
Trong sơ đồ trên router X, Y và Z là thích hợp nhất bởi vì chúng là các router biên đang kết nối tới mạng Internet IPv4, và phần mềm của chúng đã được nâng cấp để chạy IPv6.
Một yếu tố cũng khá quan trọng để triển khai thành công mơ hình này là việc lựa chọn các giao thức định tuyến để sử dụng cho IPv6. Tùy thuộc vào mơ hình IPv6 ban đầu được triển khai trong mỗi miền, mà các giao thức định tuyến IPv6 hiện tại được sử dụng trong miền đó có thể cần phải thay đổi. Chúng ta nên sử dụng giao thức mà đang được sử dụng cho IPv4 bởi vì khả năng kết nối IPv4 hiện tại được cho là tối ưu và đáng tin cậy.
Việc lựa chọn kiểu đường hầm không ảnh hưởng đến các dịch vụ được sử dụng bên trong và giữa các miền IPv6.
Trong bài thí nghiệm này sẽ lựa chọn phương pháp cấu hình bằng tay. Để thực hiện kết nối các miền IPv6 nói trên với nhau bằng các đường hầm được cấu hình bằng tay, ta tiến hành các bước như sau:
Hình 6.25 – Mơ hình kết nối ba miền IPv6 thơng qua mạng Internet IPv4
1. Nhận một tiền tố IPv6 được cấp phát từ tổ chức RIR. Với thí nghiệm này giả
sử rằng chúng ta được cấp phát tiền tố là 2001:xxxx::/35.
2. Cấp phát các tiền tố địa chỉ IPv6 nhận được cho ba miền mạng. Các tiền tố
địa chỉ được phân bổ như sau:
Tên mạng Tiền tố đƣợc cấp phát
ĐHQGHN 2001:xxxx:0100::/40
ĐHBK Đà Nẵng 2001:xxxx:0200::/40
ĐHQG HCM 2001:xxxx:0300::/40
3. Phân bổ các địa chỉ IPv6 cho các node trong mỗi miền.
Để cấu hình các giao diện của router X, xem hình 6.27 và thực hiện các lệnh sau:
ipv6 unicast-routing !
interface fastethernet 0/0
description Connection to DHQGHN LAN ip address 192.168.1.1 255.255.255.
ipv6 address 2001:aaaa:0100::1/40 !
interface serial 1/1
description Connection to IPv4 Internet ip address 203.113.4.1 255.255.255.0