Mục lục

Tắt IPv6 trên VPS Linux là thao tác thường được sử dụng khi VPS chỉ chạy IPv4 hoặc khi IPv6 gây ảnh hưởng đến kết nối mạng, DNS hay một số dịch vụ trên máy chủ. Trong nhiều trường hợp, IPv6 được bật mặc định trên hệ điều hành Linux nhưng lại chưa được cấu hình đầy đủ từ phía nhà cung cấp hoặc ứng dụng chưa cần sử dụng đến.
Nếu IPv6 hoạt động không ổn định, VPS có thể gặp tình trạng phân giải DNS chậm, kết nối ra ngoài chập chờn hoặc phần mềm ưu tiên IPv6 thay vì IPv4. Bài viết này sẽ hướng dẫn bạn cách tắt IPv6 trên VPS Linux theo 2 cách: tắt tạm thời và tắt vĩnh viễn.
Khi nào cần tắt IPv6 trên VPS Linux?
Bạn có thể cân nhắc tắt IPv6 trên VPS Linux trong các trường hợp sau:
- VPS chỉ sử dụng IPv4 và không có nhu cầu dùng IPv6.
- IPv6 chưa được nhà cung cấp VPS hỗ trợ ổn định.
- Server gặp lỗi DNS, phân giải tên miền chậm hoặc kết nối mạng không ổn định.
- Ứng dụng ưu tiên IPv6 nhưng IPv6 không hoạt động đúng.
- Cần đồng bộ hệ thống chỉ chạy IPv4 để dễ quản trị hơn.
Trước khi thực hiện, bạn nên kiểm tra kỹ các dịch vụ đang chạy trên VPS. Nếu hệ thống đang sử dụng IPv6 cho website, mail server, DNS server hoặc dịch vụ nội bộ, việc tắt IPv6 có thể ảnh hưởng đến hoạt động của các dịch vụ này.
Kiểm tra IPv6 trên VPS Linux
Trước khi tắt IPv6, bạn có thể kiểm tra VPS Linux có đang bật IPv6 hay không bằng lệnh sau:
ip a | grep inet6
Nếu kết quả trả về có dòng chứa inet6, nghĩa là IPv6 đang được bật trên VPS.
Ví dụ:
inet6 ::1/128 scope host inet6 fe80::xxxx/64 scope link
Trong đó, ::1/128 là địa chỉ IPv6 loopback, còn fe80::/64 là địa chỉ IPv6 link-local của card mạng. Nếu lệnh trên không trả về kết quả nào, có thể IPv6 đã được tắt hoặc chưa được cấu hình trên VPS.
Hướng dẫn thực hiện
Có 2 cách tắt IPv6 trên VPS Linux: tắt tạm thời và tắt vĩnh viễn. Nếu chỉ cần kiểm tra nhanh hoặc xử lý sự cố tạm thời, bạn có thể dùng cách tắt tạm thời. Nếu muốn cấu hình được giữ nguyên sau khi reboot VPS, bạn nên thực hiện cách tắt vĩnh viễn.
Cách 1: Tắt IPv6 tạm thời trên VPS Linux
Cách này sẽ tắt IPv6 ngay lập tức trên hệ thống, nhưng cấu hình có thể mất sau khi VPS khởi động lại.
Chạy các lệnh sau với quyền root hoặc tài khoản có quyền sudo:
sysctl -w net.ipv6.conf.all.disable_ipv6=1 sysctl -w net.ipv6.conf.default.disable_ipv6=1 sysctl -w net.ipv6.conf.lo.disable_ipv6=1
Trong đó:
net.ipv6.conf.all.disable_ipv6=1: tắt IPv6 trên toàn bộ interface hiện tại.net.ipv6.conf.default.disable_ipv6=1: tắt IPv6 mặc định cho interface được tạo sau này.net.ipv6.conf.lo.disable_ipv6=1: tắt IPv6 trên loopbacklo.
Sau khi chạy xong, kiểm tra lại bằng lệnh:
ip a | grep inet6
Nếu không còn dòng inet6, IPv6 đã được tắt tạm thời thành công.
Cách 2: Tắt IPv6 vĩnh viễn trên VPS Linux
Để tắt IPv6 vĩnh viễn, bạn cần thêm cấu hình vào file /etc/sysctl.conf. Cách này giúp hệ thống tự động áp dụng cấu hình sau mỗi lần khởi động lại VPS.
Mở file cấu hình:
nano /etc/sysctl.conf
Thêm các dòng sau vào cuối file:
net.ipv6.conf.all.disable_ipv6=1 net.ipv6.conf.default.disable_ipv6=1 net.ipv6.conf.lo.disable_ipv6=1
Sau đó lưu file bằng tổ hợp phím Ctrl + O, nhấn Enter, rồi nhấn Ctrl + X để thoát.
Áp dụng cấu hình vừa thêm:
sysctl -p
Kiểm tra lại trạng thái IPv6:
ip a | grep inet6
Nếu không còn kết quả trả về, IPv6 đã được tắt thành công. Để chắc chắn cấu hình vẫn hoạt động sau khi reboot, bạn có thể khởi động lại VPS và kiểm tra lại lần nữa.
Cách bật lại IPv6 khi cần
Nếu cần bật lại IPv6, mở file /etc/sysctl.conf:
nano /etc/sysctl.conf
Đổi các giá trị từ 1 về 0:
net.ipv6.conf.all.disable_ipv6=0 net.ipv6.conf.default.disable_ipv6=0 net.ipv6.conf.lo.disable_ipv6=0
Sau đó áp dụng lại cấu hình:
sysctl -p
Lưu ý khi tắt IPv6 trên VPS Linux
Không nên tắt IPv6 nếu VPS đang sử dụng IPv6 cho dịch vụ quan trọng như website, mail server, DNS server hoặc hệ thống nội bộ. Nếu VPS đang chạy Docker, Kubernetes hoặc các hệ thống mạng ảo, bạn cũng nên kiểm tra kỹ cấu hình network trước khi thay đổi.
Nếu sau khi tắt IPv6 mà VPS gặp lỗi DNS hoặc không thể kết nối ra ngoài, hãy kiểm tra lại file /etc/resolv.conf, dịch vụ network và cấu hình DNS resolver. Bạn cũng có thể tham khảo thêm bài viết hướng dẫn kiểm tra DNS trên VPS Linux để xử lý các lỗi liên quan đến phân giải tên miền.
Liên kết tham khảo
Bạn có thể tham khảo thêm tài liệu chính thức về sysctl tại trang hướng dẫn của Linux manual:
https://man7.org/linux/man-pages/man8/sysctl.8.html
Kết luận
Tắt IPv6 trên VPS Linux có thể thực hiện nhanh bằng lệnh sysctl. Nếu chỉ cần tắt tạm thời, bạn có thể chạy trực tiếp các lệnh sysctl -w. Nếu muốn tắt vĩnh viễn, hãy thêm cấu hình vào file /etc/sysctl.conf và áp dụng bằng lệnh sysctl -p.
Sau khi thực hiện, bạn nên kiểm tra lại bằng lệnh ip a | grep inet6 để đảm bảo IPv6 đã được tắt đúng cách.
