ifconfig를 실행하면 어떤 인터페이스에도 ipv6 주소가 할당되지 않은 것을 볼 수 있습니다. AF_INET6 소켓을 생성하려고 하면 주소 계열이 지원되지 않는다는 오류 메시지가 나타납니다. 나는 아니에요/proc/sys/net/inet6폴더. 머신에서 Debian 10(buster)을 실행 중입니다. 존재하다/etc/default/grubipv6 비활성화에 대한 내용은 없습니다.
$ uname -r
4.19.52.1.amd64-smp
ipv6를 활성화하는 방법을 알려주시겠어요? 비활성화하는 방법에 대한 많은 기사를 찾았지만 활성화하는 방법은 찾을 수 없습니다.
답변1
Linux에서 IPv6를 비활성화하는 방법은 여러 가지가 있으므로 모두 확인해야 합니다.
첫째, 커널 버전은 Debian 10 표준 AMD64 커널과 별로 유사하지 않습니다. 사용자 정의 커널을 사용하는 경우 커널이 컴파일될 때 IPv6가 비활성화될 수 있으며, 이 경우 활성화하려면 커널을 다시 컴파일(또는 다른 커널로 전환)해야 합니다.
달려주세요
grep CONFIG_IPV6= /boot/config-$(uname -r)
내용을 확인하세요. 또는 /boot/config-<kernel version>
파일이 없으면 대신 다음 명령을 실행하십시오.
modprobe configs; zcat /proc/config.gz | grep CONFIG_IPV6=
응답에 아무것도 포함되지 않거나 한 줄로 구성된 경우:
# CONFIG_IPV6 is not set
그런 다음 현재 커널은 IPv6 지원이 비활성화된 상태로 컴파일됩니다. 이 경우 IPv6를 활성화하려면 새 커널 패키지를 설치하거나 사용자 정의 커널을 빌드 및 설치해야 합니다.
응답에 한 줄이 포함된 경우:
CONFIG_IPV6=m
그런 다음 IPv6 지원이 커널 모듈로 컴파일됩니다.
줄이 있는 경우:
CONFIG_IPV6=y
그런 다음 IPv6 지원이 기본 커널로 컴파일되었습니다. 이 경우 IPv6를 비활성화하는 한 가지 방법은 ipv6.disable=1
커널 명령줄( /etc/default/grub
또는 /boot/cmdline.txt
GRUB 부트로더를 사용하는 경우 Raspberry Pi 부트로더)에 부팅 옵션을 추가하는 것이지만 이미 이를 확인했다고 말씀하셨습니다.
모듈로 컴파일된 IPv6
modprobe -c |grep "options ipv6"
루트로 실행 해주세요 . 응답에 한 줄이 포함된 경우:
options ipv6 disable=1
또는
options ipv6 disable_ipv6=1
그런 다음 커널 모듈 구성에 의해 IPv6가 비활성화됩니다. 에서 이 작업을 수행해야 합니다 /etc/modprobe.d
.
이 상황에서 IPv6를 다시 활성화하려면 해당 행을 찾아서 주석 처리한 후 update-initramfs -u
루트로 실행하여 초기 부팅 시 IPv6이 비활성화되지 않았는지 확인하십시오. 이 비활성화 정책을 사용하려면 다시 활성화하려면 재부팅이 필요할 수 있습니다.
(이론적으로는 ipv6
비활성화 옵션을 주석 처리한 후 언로드하고 다시 로드하면 충분하지만, 모듈 간의 종속성으로 인해 실제로는 재부팅하지 않고는 실행하기 어려울 수 있습니다.)
IPv6 모듈화 및 컴파일 방법
sysctl 설정도 확인해야 합니다.
grep "disable_ipv6" /etc/sysctl.conf /etc/sysctl.d/*.conf
출력에 다음과 유사한 줄이 포함되어 있으면 sysctl 설정을 통해 IPv6이 비활성화된 것입니다.
net.ipv6.conf.<something>.disable_ipv6 = 1
여기서는 또는 <something>
단어일 수도 있고 특정 네트워크 인터페이스의 이름일 수도 있습니다. 다시 활성화하려면 이 줄을 주석 처리하고 root 로 실행한 다음 재부팅하세요(또는 네트워크 인터페이스를 재구성하세요).all
default
disable_ipv6
sysctl -p