특정 인터페이스에 대해 IPv6을 영구적으로 비활성화하시겠습니까?

특정 인터페이스에 대해 IPv6을 영구적으로 비활성화하시겠습니까?

특정 인터페이스가 손상되어 IPv6를 영구적으로 비활성화하고 싶습니다.슈퍼유저에 대한 내 질문을 해결하려면이미 죽었으니 어떡하지? net.ipv6.conf.eth0.disable_ipv6=1추가 했지만 /etc/sysctl.conf어떤 이유로 작동하지 않습니다. 현재는 컴퓨터를 켤 때마다 sysctl 명령을 사용하여 비활성화합니다.

답변1

먼저 /etc/default/grub을 편집하고 다음 줄을 찾으세요.

GRUB_CMDLINE_LINUX=""

줄을 다음과 같이 변경합니다(이렇게 하면 ipv6가 완전히 비활성화됩니다).

GRUB_CMDLINE_LINUX="ipv6.disable=1"

또는 ipv6 스택을 계속 실행하면서 ipv6 주소 할당을 비활성화하려면 다음 옵션을 사용할 수 있습니다.

GRUB_CMDLINE_LINUX="ipv6.disable_ipv6=1"

마지막으로 다음을 실행합니다.

sudo update-grub

변경 사항을 적용하려면 다시 시작하세요.

이렇게 하면 커널 수준에서 ipv6이 비활성화되어 처음에는 활성화되지 않습니다.


또한 다음과 같이 변경한 후/etc/sysctl.conf

net.ipv6.conf.eth0.disable_ipv6 = 1

다음 명령을 실행하여 변경 사항을 적용합니다.

sudo sysctl -p

마지막으로, sysctl.conf의 옵션을 사용하여 ipv6을 비활성화하는 경우 /etc/hosts에서 ipv6이 주석 처리되어 있는지도 확인해야 합니다. 이봐https://wiki.archlinux.org/index.php/IPv6#Disable_functionity

답변2

grub이나 sysctl 솔루션이 나에게 적합하지 않습니다. 내 생각 엔 systemd가 시작 중에 ipv6을 다시 활성화하는 것 같습니다.

그래서 내 장치에 대해 en*ipv4만 구성 하도록 systemd를 변경했습니다.

sudo vim /etc/systemd/network/en-all.network
[Match]
Name=en*
[Network]
DHCP=ipv4
LinkLocalAddressing=ipv4

관련 정보