Tắt IPv6 trên VPS Linux là thao tác thường dùng khi VPS chỉ chạy IPv4 hoặc khi IPv6 gây lỗi DNS, kết nối mạng chập chờn hay làm một số dịch vụ hoạt động không ổn định.
Bài viết này 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.
Bạn có thể cân nhắc tắt IPv6 trong các trường hợp sau:
Lưu ý: Nếu VPS đang dùng IPv6 cho website, mail server, DNS server hoặc dịch vụ nội bộ, bạn nên kiểm tra kỹ trước khi tắt.
Trước khi tắt IPv6, bạn có thể kiểm tra VPS có đang bật IPv6 hay không bằng lệnh:
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.
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.
Có 2 cách tắt IPv6 trên VPS Linux: tắt tạm thời và tắt vĩnh viễn.
Cách này sẽ tắt IPv6 ngay lập tức, 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 loopback lo.Sau khi chạy xong, kiểm tra lại:
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.
Để tắt IPv6 vĩnh viễn, bạn cần thêm cấu hình vào file /etc/sysctl.conf.
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:
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. Bạn có thể reboot VPS để kiểm tra cấu hình có còn hiệu lực sau khi khởi động lại hay không.
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
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 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ó 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
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.