IPv6를 비활성화하려면 부트 로더 의 커널 라인 에 추가하십시오 :
ipv6.disable=1
Grub을 사용하는 경우 (자신의 부트 로더를 설치하지 않은 경우 Grub을 사용하는 경우) 커널 행은 다음과 같아야합니다.
linux /boot/vmlinuz-linux root=UUID=978e3e81-8048-4ae1-8a06-aa727458e8ff ipv6.disable=1
커널 행에 무언가를 추가하기 위해 권장되는 접근 방식 GRUB_CMDLINE_LINUX_DEFAULT
은 /etc/default/grub
파일 의 변수에 원하는 커널 매개 변수를 추가하는 것입니다 .
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1"
에 추가 한 /etc/default/grub
후 다음 명령을 실행하여 다음을 재생성하십시오 grub.cfg
.
sudo grub-mkconfig -o /boot/grub/grub.cfg
또는 ipv6.disable_ipv6=1
대신 추가 하면 IPv6 스택이 작동하지만 네트워크 장치에 IPv6 주소가 할당되지는 않습니다.
또는
sysctl을 통해 IPv6을 비활성화하려면 /etc/sysctl.conf
파일에 다음을 배치 하십시오.
net.ipv6.conf.all.disable_ipv6 = 1
/etc/hosts
파일 에서 IPv6 호스트를 주석 처리하는 것을 잊지 마십시오 .
#::1 localhost.localdomain localhost
노트
sysctl 메소드에는 재부팅이 필요할 수 있으며 커널 라인 접근 에는 재부팅이 반드시 필요합니다.
또는
ipv6 을 일시적으로 비활성화 하려면 :
sysctl -w net.ipv6.conf.all.disable_ipv6 = 1
일시적으로 활성화 하려면 :
sysctl -w net.ipv6.conf.all.disable_ipv6 = 0
따라서 주어진 조건 에서 ipv6를 비활성화 해야하는 경우 다음 줄을 따라 bash 스크립트를 작성하십시오.
#!/bin/bash
ipv6_disabled="$(sysctl net.ipv6.conf.all.disable_ipv6 | awk '{print $NF}')"
if (connected_to_vpn &> /dev/null); then
(($ipv6_disabled)) || sysctl -w net.ipv6.conf.all.disable_ipv6=1
else
(($ipv6_disabled)) && sysctl -w net.ipv6.conf.all.disable_ipv6=0
fi
노트
/etc/hosts
이전 방법에서 권장 한 것처럼이 방법으로 파일 에서 ipv6 호스트를 비활성화해야 할 수도 있습니다 .