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.
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:
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.
Để kiểm tra IPv6, bạn có thể truy cập địa chỉ http://ipv6-test.com/
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:
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à:
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:
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é:
Quay lại trang cấu hình trước đó xem kết quả:
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:
Sau đó thì chúng ta tiếp tục quay lại trang trước đó kiểm tra lại:
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:
Ví dụ: Trên VPS của Digital Ocean:
Có rồi thì trỏ tên miền về:
Giờ thì kiểm tra xem:
Giờ thì thử Ping cái xem nào:
Thử kiểm tra bằng một trang web bên thứ 3:
Chúc các bạn thành công nhé!