Hướng dẫn tắt IPv6 trên Linux – Disable IPv6

IPv6 đã khởi chạy trên hệ thống Internet thế giới một thời gian rồi. Nhưng đôi khi có những dịch vụ không thể chạy tốt trên hệ thống Linux đang kích hoạt hỗ trợ VPS. Vì vậy ta sẽ tìm hiểu cách tắt IPv6 trên Linux nhé.

tắt ipv6 trên linux

IP v6 là gì ?

IPv6 – viết tắt của cụm “Internet Protocol version 6” (Giao thức mạng Internet thế hệ 6) – là một phiên bản của giao thức liên mạng (IP) nhằm mục đích nâng cấp giao thức mạng Internet phiên bản 4 (IPv4) hiện đang truyền dẫn cho hầu hết lưu lượng truy cập Internet nhưng đã hết địa chỉ.

Địa chỉ IPv6 có chiều dài 128 bit, 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 bit chiều dài, không gian địa chỉ IPv6 gồm 2.128 địa chỉ, cung cấp một lượng địa chỉ khổng lồ cho hoạt động Internet, và đây là một sự gia tăng khổng lồ so với 232 địa chỉ của IPv4 có 32 bit chiều dài.

Làm sao để biết IPv6 có được hỗ trợ trên Linux ?

Để biết được hệ thống Linux của bạn có đang hỗ trợ tính năng IPv6 không ? Cách đơn giản nhất là bạn chỉ cần hiển thị thông tin card mạng, sẽ đi kèm thông tin IPv6 tự phát dành cho card mạng của Linux. Như output lệnh ‘ifconfig’ hoặc ‘ip‘ dưới là có nè. (Xem thêm: Hướng dẫn dùng lệnh IP trên Linux )

# ifconfig -a | grep inet6
inet6 fe80::211:aff:fe6a:9de4 prefixlen 64 scopeid 0x20
inet6 ::1 prefixlen 128 scopeid 0x10[host]
# ip addr show | grep inet6
inet6 ::1/128 scope host
inet6 fe80::6033:62ff:fe64:3233/64 scope link
inet6 fe80::993c:5f9f:872d:767f/64 scope link

Chú thích:

  • Giá trị IPv6 khi được hiển thị ở trên là giá trị IPv6 tự tạo bởi hệ thống Linux. Không dùng cho public, mà chỉ dùng cho các kết nối giao tiếp local mạng.

Còn cách kiểm tra kĩ thuật chính xác thì bạn phải xem thông tin file cấu hình của hệ thống ‘disable_ipv6‘ như dưới có đang ở giá trị số “1” hay không ?! Giá trị “0” tức đang kích hoạt, giá trị “1” tức đang bị tắt tính năng.

# cat /proc/sys/net/ipv6/conf/all/disable_ipv6
0

Làm sao để tắt IPv6 trên Linux?

Có 2 cách để tắt tính năng (disable) IPv6 trên Linux:
Cấu hình tắt IPv6 trong kernel grub (yêu cầu reboot OS)
Cấu hình tắt IPv6 trong tinh chỉnh sysctl (không cần reboot)

Và chúng ta sẽ cùng đi chi tiết 2 cách trên để áp dụng cho việc disable IPv6 trên Linux nhé.

1. Cấu hình tắt IPv6 trong kernel/GRUB

Với cách này chúng ta sẽ cấu hình cho kernel hoặc GRUB của OS nhận được chỉ thị rằng không được kích hoạt sử dụng tính năng IPv6 khi khởi động Linux. Cách này có yêu cầu reboot lại OS Linux mới có hiệu lực.

1.1 CentOS 6 – Cấu hình tắt IPv6 trong module kernel

– Trên CentOS/RHEL 6 thì bạn cần tạo 1 file cấu hình module kernel để tắt tính năng IPv6 đi.

# vi /etc/modprobe.d/ipv6.conf 
options ipv6 disable=1

– Sau đó hãy khởi động lại Linux.

# reboot

– Khi bạn kiểm tra lại bằng lệnh lúc ban đầu sẽ không thấy dòng thông tin IPv6 nữa.

1.2 CentOS 7/Ubuntu 16.04 – Cấu hình tắt IPv6 trong GRUB

Bạn chỉ cần edit file cấu hình GRUBv1 hoặc GRUBv2 tuỳ hệ thống version của bạn và thêm nội dung cấu hình tắt chức năng hỗ trợ IPv6 là ‘ipv6.disable=1‘ vào giá trị biến ‘GRUB_CMDLINE_LINUX‘. Như ví dụ dưới đây:

# vi /etc/default/grub

GRUB_TIMEOUT=5
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="ipv6.disable=1 crashkernel=auto rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

– Tái tạo lại cấu hình GRUB file và ghi đè file cấu hình grub hiện tại.

# grub2-mkconfig -o /boot/grub2/grub.cfg

– Sau đó hãy khởi động lại Linux.

# reboot

– Khi bạn kiểm tra lại bằng lệnh lúc ban đầu sẽ không thấy dòng thông tin IP v6 nữa.

2. Tắt IPv6 thông qua tinh chỉnh sysctl

Với cách này, bạn không cần phải reboot Linux mà sẽ có tác dụng ngay trực tiếp và hiệu quả với các OS Linux Distro như CentOS/RHEL và Ubuntu/Debian. Hãy thêm 3 dòng cấu hình sau vào cuối file /etc/sysctl.conf .

# vi /etc/sysctl.conf
..
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Chú thích : giá trị value = 1, đồng nghĩa với việc kích hoạt cấu hình tắt tính năng IPv6 trên Linux.

Bên cạnh đó bạn cũng có thể tắt tính năng IPv6 theo cổng interface. Với cú pháp như sau :

net.ipv6.conf.[interface].disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Chú thích:

  • [interface] : chính là tên cổng interface mà bạn muốn tắt tính năng IPv6. Ví dụ eth1, eth0, em1,.. Ví dụ dưới.
net.ipv6.conf.eth0.disable_ipv6 = 1

Kích hoạt 2 giá trị cấu hình trên ngay lập tức mà không cần reboot.

# sysctl -p

Khi bạn áp cấu hình trên thì các giá trị nội dung của 3 file dưới sẽ đồng loạt được chuyển giá trị từ “0” -> “1” .

/proc/sys/net/ipv6/conf/lo/disable_ipv6 
/proc/sys/net/ipv6/conf/all/disable_ipv6 
/proc/sys/net/ipv6/conf/default/disable_ipv6

Lưu ý:

– Nếu bạn có sử dụng hoạt động X Fordwarding của dịch vụ SSH được cấu hình trong file /etc/ssh/sshd_config . Thì nên thay đổi giá trị ‘AddressFamily‘ trong cấu hình dịch vụ SSH.

#AddressFamily any

thành

AddressFamily inet

Chú thích:

  • inet : dành cho hoạt động với IPv4 thôi
  • inet6 : dành cho hoạt động với IPv6 thôi
  • any : dành cho hoạt động với cả 2 IPv4 và IPv6

Vậy là xong, hệ thống sẽ tự tắt toàn bộ tính năng hỗ trợ IPv6 trên Linux. Bạn đã biết cách tắt IPv6 trên Linux qua bài viết này phải không nào. Nếu bạn có bất kì thắc mắc nào thì đừng ngại comment cùng ‘Cuongquach.com‘ nhé.

Quách Chí Cường

Previous articleHướng dẫn thay đổi port SSH trên Linux
Next articleModule quang SFP là gì ? Ứng dụng của module quang SFP
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !