Trỏ tên miền về địa chỉ IPv6

0
355
(Last Updated On: Th3 10, 2019)

Chào tất cả các bạn. Trước đây mỗi khi trỏ tên miền về máy chủ nào đó. Chẳng khó khăn gì khi mà chúng ta chỉ cần tìm địa chỉ IP của máy chủ rồi trỏ tên miền về với Record A.

Cấu hình trỏ tên miền về máy chủ trên IPv4.

Và một giao diện cực kỳ quen thuộc khi mà rất nhiều bạn đã được tiếp xúc trên cPanel:

Có địa chỉ của máy chủ rồi, việc đơn giản còn lại đó là trỏ tên miền về thôi.

Nhưng đó là khi chúng ta còn thiết lập cấu hình đối với IPv4. Và đối với những người quản trị mạng, quản lý một mạng nội bộ phức tạp hơn thì cần phải cấu hình Port Forwarding.

Tại sao phải Port Forwarding? Tại vì đối với IPv4. Mình giả sử như công ty của bạn thuê một đường truyền 50 Mbps của nhà mạng và được cấp một IP tĩnh chẳng hạn như 12.34.56.78. Đây là Public IP chính vì thế, những người ở bên ngoài mạng nội bộ sẽ chỉ kết nối với Public IP này, cả thế giới sẽ giao tiếp với công ty bạn thông qua mỗi IP này mà thôi. Họ chẳng thể kết nối đến dịch vụ FTP trên một máy nội bộ thông qua IP 192.168.1.33 của hệ thống mạng LAN công ty bạn.

Và chính vì lẽ này cho nên mới sinh ra Port Forwarding. Bạn cần phải mở một Port 21 đến IP nội bộ 192.168.1.33 để mọi người khi kết nối dịch vụ FTP qua Public IP là
12.34.56.78 họ sẽ được dẫn đến máy chủ nội bộ có IP là 192.168.1.33 mà bạn đã cấu hình trước đó.

Tương tự như vậy đối với dịch vụ WEB, bạn cần mở Port 80 (http) và 443 (https) đến một máy chủ nào đó trong mạng nội bộ chẳng hạn như 192.168.1.68. Và cứ thế, cứ thế, mặc dù công ty bạn chỉ được cấp mỗi IP Public là 12.34.56.78 nhưng mọi người từ khắp nơi trên thế giới đều có thể kết nối đến các dịch vụ cần thiết tại công ty bạn. Tránh việc bắt buộc phải sử dụng nhiều IP Public vì sẽ lãng phí tài nguyên mạng, chưa kể việc quản lý sẽ phức tạp và lằng nhằng hơn.

Và cái IP Public 12.34.56.78 này là một IPv4.

Còn IPv6, sinh ra để giải quyết vấn đề cạn kiệt địa chỉ cấp phát như ở IPv4. Bởi số lượng IPv4 là có hạn (232 – tức là gần 4.3 tỷ địa chỉ), nghe thì có vẻ nhiều đấy nhưng bạn sẽ thấy rằng các thiết bị kết nối vào Internet sẽ ngày càng nhiều hơn, từ các công ty công nghệ, các tổ chức, và tất cả mọi người trên thế giới này sử dụng thì rõ ràng sẽ đến lúc nào đó nó sẽ cạn kiệt và dĩ nhiên nếu các thiết bị kết nối sau không được cấp phát IP nữa thì chúng sẽ không thể kết nối đến Internet, đó đúng là một thảm họa.

IPv6 cũng bỏ qua việc cần phải cấu hình Port Forwarding. Giờ đây mỗi địa chỉ IPv6 mà thiết bị được cấp phát sẽ được định danh là chính nó, không phân biệt Local IP hay Public IP nữa.

Địa chỉ IPv6 có chiều dài 128 bít, biểu diễn dưới dạng các cụm số hexa phân cách bởi dấu::, ví dụ 2001:0DC8:1005:2F43:0BCD:FFFF. Với 128 bít chiều dài, không gian địa chỉ IPv6 gồm 2128 địa chỉ, cung cấp một lượng địa chỉ khổng lồ cho hoạt động Internet (Wikipedia).

Bạn có thể thấy trong câu chuyện giữa vị quan trẻ tuổi và nhà vua về thưởng số hạt thóc trên bàn cờ vua. Vị vua muốn thưởng cho vị quan trẻ tuổi một số thóc nào đó, và vị quan nói chỉ cần thưởng cho người này lượng thóc tương ứng:

  • ô thứ 1: 1 hạt thóc
  • ô thứ 2: 2 hạt thóc
  • ô thứ 3: 4 hạt thóc
  • ô thứ 4: 8 hạt thóc

Và cứ thế cho đến ô thứ 64 trên bàn cờ vua. Tức là theo công thức toán học thì là:

264 = 18.446.744.073.709.551.616 (hạt thóc).

Nếu một hạt thóc dài chừng 4mm. Nếu xếp thành hàng với nhau thì 18.446.744.073.709.551.616 hạt thóc sẽ dài 73786976294838206464mm hay là 73786976294838 kilômet tức là gấp 491913175299 lần khoảng cách từ Trái Đất chúng ta đến Mặt Trời.

Đây là một con số khổng lồ.

Tuy nhiên nếu là địa chỉ IPv6 tức là:

2128 = 340.282.366.920.938.463.463.374.607.431.768.211.456 (địa chỉ).

Để đọc con số trên thì sẽ hơi mỏi miệng một chút: “Ba trăm bốn mươi triệu, hai trăm tám mươi hai tỷ, ba trăm sáu mươi sáu tỷ, chín trăm hai mươi tám triệu, chín trăm ba mươi tám triệu – bốn trăm sáu mươi ba – bốn trăm sáu mươi ba triệu, ba trăm bảy mươi tư triệu, sáu trăm lẻ bảy nghìn tỷ, bốn trăm ba mươi mốt tỷ, bảy trăm sáu mươi tám triệu, hai trăm mười một nghìn, bốn trăm năm mươi sáu”.

Vậy thì sẽ chẳng bao giờ phải cạn kiệt đâu nhỉ, khi mà IPv4 còn chưa đến mức cạn kiệt mà con người chúng ta đã biết lo xa chuẩn bị IPv6.

Số lượng IPv6 sẽ gấp 79228162514264337593543950336 lần IPv4. Khi mà IPv4 còn chưa thực sự cạn kiệt. Vậy thì bạn sẽ không phải lo thiếu địa chỉ IP về sau nữa đâu.

Để kiểm tra IPv6, bạn có thể truy cập địa chỉ http://ipv6-test.com/

Kiểm tra tương thích với IPv6.

Bây giờ đi vào trọng tâm của bài viết. Bây giờ muốn trỏ tên miền về IPv6. Tất nhiên là bạn cần phải có IPv6 của máy chủ.

Để kiểm tra thì bạn dùng lệnh:

ifconfig

Địa chỉ IPv6 của máy chủ sẽ là dải ký tự trong khung đỏ:

Giờ chúng ta thử Ping đến địa chỉ IPv6 của máy chủ xem nào:

ping 2400:6180:0:d1::61d:5001

Và kết quả:

Việc cuối cùng thì bạn chỉ việc trỏ tên miền về địa chỉ vừa có được:

Chú ý trong phần Type hay Record (tùy trường hợp), bạn chọn AAAA thay vì A như trên IPv4 nhé.

Các bạn chú ý, địa chỉ IPv6 không còn phân biệt Local hay Public như trên IPv4.

Chẳng hạn như máy tính của mình kết nối vào mạng có địa chỉ:

Như trên hình thì IPv4 là 171.243.211.149. Như vậy chủ cũng có thể nhận chung địa chỉ IPv4 này cũng như đối với các Client khác trong mạng nội bộ.

Tuy nhiên IPv6 thì khác. Trên PC là: 2402:800:6232:178:2844:7618:c3c9:b4ca

Tuy nhiên trên một máy khác (cùng trong mạng nội bộ) thì có địa chỉ IPv6 là:

IPv6 trên một Client khác là: 2402:800:6232:178:461e:a1ff:fe4d:5b40.

Tức là giờ đây mỗi Client khi kết nối mạng, mặc dù là trong một mạng nội bộ nhưng sẽ được cấp một IPv6 riêng biệt. Và dĩ nhiên là Public IP. Không cần thông qua Port Forwarding nữa.

Bạn đã thấy IPv6 thần kỳ chưa? Chỉ cần tìm hiểu một chút bạn sẽ thấy nó có khá nhiều điểm mạnh, xứng đáng để thay thế IPv4 trong tương lai.

Bây giờ mình thử trỏ tên miền về địa chỉ IPv6 mới nhận được:

Bây giờ test xem nào:

PASS có nghĩa là đã thành công rồi nhé các bạn.

Chú ý: Vì IPv6 không cần thiết lập NAT như trên IPv4. Tuy nhiên nếu không thể kết nối đến được thì chắc chắn là do cấu hình Firewall mà thôi (tường lửa trên Router/Modem). Nếu bạn không quá rành rọt về vụ Firewall này thì tốt nhất là tắt luôn tường lửa đi.

Trên Router sử dụng OpenWRT:

Các bạn vào Network –> Firewall –> chuyển sang Tab Traffic Rules

Kéo xuống mục New forward rule và thêm cấu hình mới:

Bạn cấu hình như hình bên dưới nhé:

Đừng quên lưu lại các cấu hình.

Quay lại trang cấu hình trước đó xem kết quả:

Trông như vậy là ổn rồi.

Vâng, thế là được rồi đấy các bạn ạ.

Tuy nhiên trên thực tế thì mỗi khi Router/Modem của bạn khởi động lại, thì nhà mạng cũng sẽ thường cấp mới IPv6 cho bạn. Chính vì thế cấu hình như trên đối với trường hợp bạn có dải IPv6 đã được “đặt trước”. Và để cấu hình cho phù hợp với thật tế (có thực mới vực được đạo) thì chúng ta sẽ tiến hành cấu hình trên OpenWRT thế này:

Trong ô Destination addres, bây giờ chúng ta sẽ chọn là any. Tức là mọi Client đều cho phép bên ngoài kết nối đến dịch vụ.

Sau đó thì chúng ta tiếp tục quay lại trang trước đó kiểm tra lại:

Ta có kết quả: IPv6-traffic From any host in wan –> To any host in lan.

Trường hợp các bạn sử dụng VPS/Dedicated server thì dễ dàng hơn vì họ đã cấu hình sẵn Firewall để các dịch vụ hoạt động với IPv6 rồi.

Kết quả kiểm tra từ http://ipv6-test.com/validate.php:

Thế là OK rồi các bạn ạ.

Ví dụ: Trên VPS của Digital Ocean:

Vậy địa chỉ IPv6 của VPS là: 2400:6180:0:d1::61d:5001

Có rồi thì trỏ tên miền về:

Đừng quên Save! lại nhé các bạn.

Giờ thì kiểm tra xem:

Như vậy là truy cập thành công khi mình tiến hành trỏ tên miền về IPv6.

Giờ thì thử Ping cái xem nào:

Như vậy là Ping cũng OK.

Thử kiểm tra bằng một trang web bên thứ 3:

Vậy là xong rồi các bạn ạ.

Chúc các bạn thành công nhé!

Bình luận