Linux에서는 브리지 네트워크 카드가 필요한 경우 브리지 모듈이 자동으로 로드됩니다. 그러나 브리지의 종속성 중 하나는 ipv6입니다. ipv4만 필요하므로 ipv6 종속성을 무시할 수 있는 방법이 있습니까? 모듈을 블랙리스트에 등록하려고 시도했지만 전혀 작동하지 않았습니다.
편집: 문제는 ipv6을 비활성화하는 방법을 묻는 것이 아니라 ipv6 모듈 없이 브리지를 로드하는 방법을 알고 싶습니다. 질문은 반복되지 않습니다.
답변1
그것에서구성 정의:
depends on: CONFIG_IPV6 || CONFIG_IPV6 = CONFIG_n
브리지 모듈은 커널에서 컴파일된 경우(내장 또는 모듈로) ipv6 모듈에 의존하거나, 의존하지 않는 것 같습니다(커널에서 전혀 컴파일되지 않은 경우). 따라서 IPv6를 사용하지 않으려면 CONFIG_IPV6
해당 옵션을 설정하지 않고 커널을 사용하면 됩니다.
이것이 옵션이 아닌 경우 다음 중 하나를 수행할 수 있습니다.
먼저 ipv6 모듈(
modprobe ipv6
)을 로드한 다음 다음을 변경하여 해당 인터페이스나 다른 인터페이스 또는 모든 인터페이스에 대해 IPv6를 즉시 비활성화합니다.disable_ipv6
1로 전환:echo 1 > /proc/sys/net/ipv6/conf/someinterface/disable_ipv6
또는 동등한 sysctl을 사용하십시오(더 친숙
sudo
함ip netns
):sysctl -w net.ipv6.conf.someinterface.disable_ipv6=1
기능을 비활성화하려면 먼저 ipv6 모듈을 로드해야 합니다! 그렇지 않으면 위의 토글을 사용할 수 없습니다.
브리지 인터페이스 자체에서 IPv6를 비활성화하는 것이 실제로 좋은 생각일 수 있습니다.
나중에 제공될 최신 인터페이스를 포함하여 ipv6 사용을 비활성화하려면 다음을 수행하세요.
sysctl -w net.ipv6.conf.default.disable_ipv6=1 sysctl -w net.ipv6.conf.all.disable_ipv6=1
제한된 환경(예: 임베디드)에 더 적합하고 모든 ipv6 코드를 설치하지 못할 수 있는 커널 부팅 옵션도 있지만
ipv6.disable=1
브리지 "활성화"와 호환되는지 여부는 테스트하지 않았습니다.부팅 옵션에 "ipv6.disable=1"을 추가하고 grub 파일을 저장합니다.
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 quiet splash"
이 부팅 옵션에 대한 자세한 내용은 AskUbuntu의 답변에서 확인할 수 있습니다.IPv6를 영구적으로 비활성화하는 방법은 무엇입니까?
그런 다음 이 방법도 작동할 것이라고 생각했습니다(그러나 IPv6가 내장되어 있으므로 테스트할 수는 없습니다). 단순히
modprobe ipv6
첫 번째 방법을 사용하는 대신 다음을 시도해 보십시오.modprobe ipv6 disable=1
또는
modprobe ipv6 disable_ipv6=1
로드되기 전에. 이것이 작동하면 다음과 같은 옵션으로 추가할 수 있습니다.
options ipv6 disable=1 disable_ipv6=1 #pick the right option
예를 들어,
/etc/modprobe.d/disable-ipv6.conf
.