IPv6 giúp mở rộng không gian địa chỉ Internet và ngày càng được triển khai trên hạ tầng Cloud VPS và server. Tuy nhiên nhiều hệ thống vẫn chưa kích hoạt IPv6 đúng cách. Bài viết này LANIT sẽ hướng dẫn cấu hình IPv6 trên Linux, CentOS, Ubuntu và Windows Server kèm cách kiểm tra hoạt động.
Lưu ý trước khi cấu hình IPv6
Bỏ qua bước chuẩn bị có thể dẫn đến mất kết nối mạng hoặc cấu hình không hoạt động. Trước khi chỉnh sửa bất kỳ file mạng nào, cần xác minh ba yếu tố cơ bản: hỗ trợ IPv6 từ nhà cung cấp, thông số mạng chính xác và bản sao lưu cấu hình hiện tại.
Kiểm tra nhà cung cấp có hỗ trợ IPv6
Không phải mọi nền tảng Cloud VPS đều triển khai IPv6 theo cùng cách. Một số hệ thống:
- Tự động cấp IPv6 khi khởi tạo VPS
- Yêu cầu kích hoạt IPv6 thủ công trong Control Panel
- Chưa hỗ trợ IPv6 ở tầng network
Cách xác minh:
- Đăng nhập Control Panel của VPS
- Kiểm tra mục Network, IP Management hoặc IP Address
- Xác định VPS đã được gán địa chỉ IPv6 hay chưa
Địa chỉ IPv6 thường có dạng: 2001:db8::/32
Prefix 2001:db8:: là dải địa chỉ được quy định trong Internet Engineering Task Force RFC 3849 để minh họa trong tài liệu kỹ thuật. Nhà cung cấp thực tế sẽ cấp các prefix khác.
Nếu VPS không được cấp IPv6 ở tầng infrastructure, cấu hình phía hệ điều hành sẽ không có hiệu lực.

Chuẩn bị địa chỉ IPv6, Gateway, Prefix
Trước khi cấu hình, cần thu thập các thông số từ nhà cung cấp. Prefix /64 là cấu hình phổ biến cho hầu hết VPS. Một số hệ thống có thể cấp /48 hoặc /128 tùy chính sách mạng.
| Thông số | Ví dụ | Ghi chú |
| IPv6 Address | 2001:db8:1234:5678::1 | địa chỉ gán cho interface |
| Gateway IPv6 | 2001:db8:1234:5678::ff | default gateway |
| Prefix Length | /64 | subnet prefix |
Sao lưu cấu hình mạng hiện tại
Trước khi chỉnh sửa cấu hình IPv6 Cloud VPS và Server, cần tạo bản sao lưu để có thể khôi phục nếu mất kết nối SSH.
Linux (chung):
cp /etc/network/interfaces /etc/network/interfaces.bak
ip addr show > ~/ip_backup.txt
ip route show >> ~/ip_backup.txtCentOS / RHEL:
cp /etc/sysconfig/network-scripts/ifcfg-eth0 ~/ifcfg-eth0.bakUbuntu (Netplan):
cp /etc/netplan/*.yaml ~/netplan_backup.yamlNếu cấu hình sai khiến SSH mất kết nối, có thể truy cập server qua Console hoặc VNC trong Control Panel để phục hồi file cấu hình.
Cách cấu hình IPv6 cho VPS và Server
Phương pháp cấu hình phụ thuộc vào hệ điều hành và hệ thống quản lý network của từng distribution.
Linux (Debian / Generic)
Một số bản Debian cũ sử dụng file cấu hình:
/etc/network/interfacesBước 1: Mở file cấu hình
nano /etc/network/interfacesBước 2: Thêm cấu hình IPv6 cho interface
iface eth0 inet6 static
address 2001:db8:1234:5678::1
netmask 64
gateway 2001:db8:1234:5678::ff
autoconf 0
dns-nameservers 2606:4700:4700::1111 2001:4860:4860::8888DNS IPv6 trong ví dụ thuộc hệ thống của:
- Cloudflare
Bước 3: Áp dụng cấu hình
systemctl restart networkingBước 4: Kích hoạt IPv6 forwarding (nếu server làm router)
echo "net.ipv6.conf.all.forwarding=1" >> /etc/sysctl.conf
sysctl -pCentOS / RHEL / AlmaLinux / Rocky Linux
Các hệ thống dựa trên RHEL thường sử dụng NetworkManager.
Bước 1: Xác định interface
ip link showInterface phổ biến:
eth0
ens3
ens160
Bước 2: Chỉnh sửa file cấu hình
nano /etc/sysconfig/network-scripts/ifcfg-eth0Bước 3: Thêm cấu hình IPv6
IPV6INIT=yes
IPV6_AUTOCONF=no
IPV6ADDR=2001:db8:1234:5678::1/64
IPV6_DEFAULTGW=2001:db8:1234:5678::ff
IPV6_DNS1=2606:4700:4700::1111
IPV6_DNS2=2001:4860:4860::8888Bước 4: Khởi động lại NetworkManager
systemctl restart NetworkManagerHoặc dùng công cụ quản lý mạng:
nmcli connection reload
nmcli connection up eth0
Bước 5: Kiểm tra kernel IPv6
grep -i ipv6 /etc/sysctl.conf
Đảm bảo không tồn tại dòng:
net.ipv6.conf.all.disable_ipv6 = 1Nếu có, đổi giá trị thành 0 và chạy:
sysctl -p
Ubuntu (18.04 trở lên — Netplan)
Ubuntu từ phiên bản 18.04 sử dụng Netplan thay cho hệ thống cấu hình mạng cũ.
Bước 1: Kiểm tra file Netplan
ls /etc/netplan/Bước 2: Chỉnh sửa file cấu hình
nano /etc/netplan/00-installer-config.yamlBước 3: Thêm cấu hình IPv6
network:
version: 2
ethernets:
eth0:
addresses:
- 192.168.1.10/24
- 2001:db8:1234:5678::1/64
gateway4: 192.168.1.1
gateway6: 2001:db8:1234:5678::ff
nameservers:
addresses:
- 8.8.8.8
- 2606:4700:4700::1111Bước 4: Kiểm tra cú pháp
netplan tryNếu cấu hình lỗi, hệ thống sẽ tự rollback sau khoảng 120 giây.

Bước 5: Áp dụng cấu hình
netplan applyWindows Server
Windows Server có thể cấu hình IPv6 bằng giao diện GUI hoặc PowerShell.
Bước 1: Xác định interface
Get-NetAdapterBước 2: Gán IPv6 tĩnh
New-NetIPAddress `
-InterfaceAlias "Ethernet0" `
-IPAddress "2001:db8:1234:5678::1" `
-PrefixLength 64 `
-DefaultGateway "2001:db8:1234:5678::ff"Bước 3: Cấu hình DNS
Set-DnsClientServerAddress `
-InterfaceAlias "Ethernet0" `
-ServerAddresses "2606:4700:4700::1111","2001:4860:4860::8888"Bước 4: Xác minh cấu hình
Get-NetIPAddress -AddressFamily IPv6
Get-NetRoute -AddressFamily IPv6Cách kiểm tra khả năng hỗ trợ và hoạt động của IPv6
Sau khi cấu hình, cần xác minh từng lớp: địa chỉ mạng, routing và khả năng truy cập từ internet.
Kiểm tra địa chỉ IPv6 trên Server
Linux:
ip -6 addr showWindows:
Get-NetIPAddress -AddressFamily IPv6Kiểm tra Routing Table
Linux:
ip -6 route showWindows:
Get-NetRoute -AddressFamily IPv6Default route IPv6 thường có dạng:
::/0 via 2001:db8:1234:5678::ff dev eth0Ping và Traceroute IPv6
Ping IPv6
| Hệ điều hành | Lệnh kiểm tra |
| Linux | ping6 2001:4860:4860::8888 |
| Windows | ping -6 2001:4860:4860::8888 |
Ping hostname qua IPv6
| Hệ điều hành | Lệnh |
| Linux | ping6 ipv6.google.com |
| Windows | ping -6 ipv6.google.com |
Traceroute IPv6
| Hệ điều hành | Lệnh |
| Linux | traceroute6 ipv6.google.com |
| Linux (alternative) | tracepath6 ipv6.google.com |
| Windows | tracert -6 ipv6.google.com |
Khi traceroute hoạt động bình thường, kết quả sẽ hiển thị các hop với địa chỉ IPv6 thay vì chuỗi * * *.
Kiểm tra truy cập IPv6 từ bên ngoài
Kiểm tra nội bộ thành công không có nghĩa là kết nối từ internet hoạt động. Cần xác minh từ một nguồn bên ngoài.
Cách 1: Sử dụng công cụ online
Truy cập các URL sau từ máy tính khác (hoặc dùng curl từ server khác có IPv6):
https://ipv6-test.com/— Kiểm tra toàn diệnhttps://test-ipv6.com/— Cho kết quả chi tiết về độ ưu tiên IPv6/IPv4https://ifconfig.co— Trả về IP hiện tại, xác định có phải IPv6 không
Cách 2: curl từ bên ngoài vào server
bash
# Từ một máy khác có IPv6, curl vào địa chỉ IPv6 của server
curl -6 http://[2001:db8:1234:5678::1]/
# Hoặc test port cụ thể
curl -6 -v http://[2001:db8:1234:5678::1]:80/Cách 3: Kiểm tra web server đang lắng nghe trên IPv6
bash
# Kiểm tra nginx/apache đã bind IPv6 chưa
ss -tlnp | grep -E ':::80|:::443'
# Output mẫu (đúng):
# LISTEN 0 128 :::80 :::* users:(("nginx",pid=1234,fd=7))Nếu web server chỉ bind 0.0.0.0:80 mà không có :::80, cần cấu hình thêm trong Nginx (listen [::]:80) hoặc Apache (Listen 80 với EnableSendfile phù hợp).
Cách 4: Kiểm tra firewall không chặn IPv6
bash
# Linux (iptables)
ip6tables -L -n
# Linux (nftables)
nft list ruleset | grep -A5 "ip6"
# Đảm bảo không có rule DROP cho traffic IPv6 inboundCấu hình IPv6 Cloud VPS và Server đúng cách gồm 3 giai đoạn không thể bỏ qua: chuẩn bị thông số từ nhà cung cấp, cấu hình đúng theo OS và xác minh end-to-end từ địa chỉ routing → ping → truy cập ngoài.
Hạ tầng IPv6 không chỉ là giải pháp cho bài toán cạn kiệt địa chỉ IPv4 — mà còn là yêu cầu kỹ thuật bắt buộc cho các hệ thống cần Scalability dài hạn, tích hợp với CDN, API gateway thế hệ mới và môi trường multi-cloud. Nếu Cloud VPS của bạn chưa hỗ trợ IPv6 đầy đủ ở tầng infrastructure, đây là thời điểm để đánh giá lại nhà cung cấp.










