Cấu hình VPS IPv6 để kết nối tới IPv4

Khá nhiều dịch vụ hosting hiện nay có tùy chọn không dùng IPv4 để tiết kiệm (thường cũng được $0.5-$1/month), một vài dịch vụ thậm chỉ bán các VPS only IPv6 để giảm giá thành xuống 😀 thi thoảng giá rẻ quá, kiểu $25/1 năm mà 2 vCore, 8Gb RAM, 160 Gb SSD thì cũng khó mà từ chối được, mua xong mới thấy khoản cấu hình lú hết cả người, lúc này ưu điểm của giá rẻ nó không còn xứng đáng nữa

Góc độ cá nhân thì mình vẫn thấy IPv6 là một cái gì đó quá xa rời thế giới thực, khó cấu hình, tương thích kém, cái quan trọng nhất, là các dịch vụ siêu to khổng lồ với vô vàn công nghệ tiến bộ như Cloudflare, Google …. cũng vẫn rất rén với IPv6, rất nhiều thứ họ đang làm chỉ chạy tốt trên IPv4

Các câu lệnh bên dưới mình dùng cho Ubuntu 22.04, các OS khác thì không chắc có chạy không hé

Login SSH

Việc login bằng IPv6 cũng tương tự như IPv4, vấn đề là máy mình thiết lập mạng đều trên IPv4, đâm ra kết nối vào …. không được 😀 đành phải bật WARP lên thì mới kết nối được

Cập nhập OS

sudo apt update && sudo apt upgrade -y && sudo reboot

Cài đặt clatd để kết nối tới IPv4

Đoạn code bên dưới mình sửa lại từ bài gốc tại đây, chạy 1 dòng là đủ

sudo wget --no-check-certificate https://raw.githubusercontent.com/bibicadotnet/vps-ipv6-only/main/setup.sh -O ipv6.sh && sudo chmod +x ipv6.sh && sudo ./ipv6.sh

Lúc này thì đã có thể chạy các tool ping, speedtest, benchmark bình thường như khi dùng IPv4

curl -4 google.com
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>

Giải thích 1 chút ở công đoạn cài đặt clatd

sudo rm /etc/resolv.conf
echo -e "nameserver 2001:67c:2b0::4\nnameserver 2001:67c:2b0::6" > /etc/resolv.conf
sudo chattr +i /etc/resolv.conf

Nameserver mình đã khóa cứng, dùng dịch vụ DNS64 của TREX, mục đích của 3 dòng code này là để tránh tình huống khi reboot lại VPS, nó tự xóa nameserver, mất tác dụng của DNS64

Các dịch vụ DNS64 của Google, Cloudflare thì không có tác dụng, nên phải dùng từ TREX, 1 công ty của Phần Lan

2023-09-09_9-41-16

Ở Việt Nam ping tới 2 IP này khá là chua, trung bình > 250ms lận, còn cao hơn cả ping tới US

Cài đặt Webserver

Khá hiếm các tool, script dạng Control Panel hỗ trợ IPv6, may mà các script chạy trực tiếp lệnh trên SSH vẫn dùng ổn, cụ thể là Webinoly

2023-09-09_10-31-37

Add record AAAA, trỏ về IP của VPS như thông thường là được, Cloudflare DNS hỗ trợ tốt các kết nối IPv4 và IPv6

Cài đặt Cloudflare Tunnels cho IPv6

Trong trường hợp bạn thích dùng Tunnels thay vì add các record AAAA thì có thể cấu hình như bên dưới

2023-09-09_9-46-14

Cài đặt Tunnel như bình thường

2023-09-09T02:47:40Z INF Using Systemd

Lúc này mặc định Cloudflare chạy trên IPv4 nên nó sẽ treo cứng ở dòng INF Using Systemd, Ctrl + C để thoát ra, sau đó chạy dòng code bên dưới:

nano /etc/systemd/system/cloudflared.service

Ở dòng ExecStart=/usr/bin/cloudflared thêm vào --edge-ip-version 6

2023-09-09_9-52-08

Ctrl+O -> Enter -> Ctrl+X để save và exit.

Khởi động lại cloudflared

service cloudflared restart

Quay lại Cloudflare Tunnels, sẽ thấy Connected thành công

2023-09-09_10-47-04

Add thêm domain:port, tùy chỉnh như bình thường

Thử nghiệm

Cài đặt 1 trang WordPress cơ bản thì các thứ khá bình thường

2023-09-09_11-15-59

Kết nối qua IPv4 các trang như Google, Youtube, Github …. ổn, không gặp vấn đề gì, khách vào trang chỉ dùng IPv4 cũng kết nối bình thường

Vấn đề tốc độ, lý thuyết dùng DNS64 của TREX, sẽ tạo thêm độ trễ lúc phân giải tên miền, mỗi cái con số nó loạn quá, nên mình cũng không chắc do TREX hay do VPS đang thử nghiệm

2023-09-09_11-37-07

Cụ thể bạn có thể thấy trong ảnh là 1 con VPS tại Sing, ping về Sing hay Japan rất đúng, nhưng ping về Việt Nam, cụm thì 60ms, cụm thì hú lên 400ms 😀

Về tốc độ thì có lúc mình thử thấy Upload, Download lên rất cao ~ 2000Mbps, lúc thì thấp tè ~ 100Mbps 😀 thử trực tiếp bằng mạng VNPT đang sử dụng thì cũng download max speed, khoảng 15Mb/s

2023-09-09_11-42-17

Tạm sau khi thử 1 con VPS only IPv6 thì mình nghĩ là mọi người nên né ra, tiết kiệm được 1 xíu mà thời gian bỏ ra để xử lý vấn đề quá sức là ngu người, chạy webserver còn đỡ, chứ chạy VPN, Socks, Proxy, Docker hay tạo Cache …. thì phát ốm với chuyện cấu hình luôn

Mỗi dòng lệnh bạn thấy trong bài này, gần như lệnh nào mình cũng phải google lú hết cả người để tìm giải pháp 😀

Mất công làm nên tiện viết thành 1 bài, bạn nào dùng VPS mà chỉ có IPv6 thì có thể làm theo 😀


Related Posts

  1. Cài đặt Uptime Kuma trên Oracle VM.Standard.E2.1.Micro cho bibica.net
  2. Amazon Lightsail
  3. Google Cloud Platform - Compute Engine Always Free
  4. Cloudflare CDN, DNS và Cache - UPDATE 2022
  5. MailGun – The Email Service For Developers

Leave a Comment