내가 사용하고 있는 컴퓨터에는 4개의 네트워크 인터페이스가 있는데, 그 중 하나만 현재 사용되고 있습니다(나머지 3개는 전혀 연결되어 있지 않습니다). 현재 머신이 재부팅되면 인터페이스 2~4를 불러오려고 할 때 몇 분 정도 지연이 발생합니다. 머신이 자주 재부팅되기 때문에 이것은 상당히 성가신 일입니다.
dmesg를 실행하면 다음과 같습니다.
[15] IPv6 ADDRCONF(NETDEV_UP): eth1: link is not ready
[57] IPv6 ADDRCONF(NETDEV_UP): eth2: link is not ready
[98] IPv6 ADDRCONF(NETDEV_UP): eth3: link is not ready
[140] ...
이러한 인터페이스가 사용되지 않고 시간이 많이 걸린다는 점을 고려하면 부팅하는 동안 간단히 비활성화하고 싶지만 이러한 인터페이스에서 낭비되는 시간을 줄이기 위한 다른 옵션도 열려 있습니다.
확인해보니 /etc/sysctrl.conf
IPv6가 비활성화되어 있어서 IPv6를 시도할 수 없는 것 같습니다.
네트워크 스크립트 디렉토리에서 인터페이스 이름과 ONBOOT=no
.
또한 모든 인터페이스를 살펴보았는데 /sys/class/net/ethX/device/power/control
모두 "on"이 포함되어 있었습니다. 그래서 다음을 시도해 보았습니다.
echo off > /sys/class/net/ethX/device/power/control
그러나 나는 그것을 이해 write error: Invalid argument
하고 에코가 on
훌륭하게 작동합니다. 이 파일을 변경하는 방법에 대한 언급은 찾을 수 없지만, 인터페이스를 완전히 끄는 것은 좀 극단적인 것 같습니다.
네트워크 관리자가 설치되어 있지 않으며 가능하면 그렇게 유지하는 것을 선호합니다(문제에 대해 더 많은 패키지를 던지는 것보다 구성을 선호합니다).
더 이상 이에 대해 다루지는 않겠지만, 이 문제에 직면할 수 있는 다른 사람들을 위해 dmesg
이러한 긴 대기 시간이 보고된다는 사실은 커널이 이러한 인터페이스를 활성화하려고 시도하고 있음을 나타냄을 언급하겠습니다. 따라서 커널 매개변수는 추구할 수 있는 수단일 수도 있고 단지 커널 버그일 수도 있습니다. Linux 자체를 구성해도 문제가 해결되지 않을 수 있으며 grub
커널 자체를 구성하거나 변경할 수도 있습니다.
고쳐 쓰다
제가 게시한 자체 답변은 실제로 테스트할 기회가 있었지만 성공하지 못했습니다. 그러나 내가 시도한 것을 게시합니다.
dmesg
커널이 뭔가를 하고 있다는 메시지를 보고 커널 매개변수 문서를 살펴보았습니다.https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt
인터페이스에 IPv6을 구성하는 옵션이 있음을 발견했습니다.https://www.kernel.org/doc/Documentation/networking/ipv6.txt.
이 페이지에서는 다음 커널 옵션에 대해 간략하게 설명합니다.
disable=[01]
0은 IPv6 모듈을 로드하고(기본값), 1은 IPv6 모듈을 로드하지 않습니다.
autoconf=[01]
0은 모든 인터페이스에서 IPv6 자동 구성을 비활성화하고, 1은 모든 인터페이스에서 자동 구성을 활성화합니다(기본값)
disable_ipv6=[01]
0은 모든 인터페이스에서 IPv6을 활성화하고(기본값), 1은 모든 인터페이스에서 IPv6을 비활성화합니다.
그러나 이러한 옵션 중 어느 것도 문제를 해결하지 못합니다.
답변1
/etc/rc.local에 다음 줄을 추가할 수 있습니다.
ip link set dev "eth1" down
ip link set dev "eth2" down
ip link set dev "eth3" down
너무 기본적이거나 정적인 솔루션이 아니라면...
답변2
나는 똑같은 성가신 문제를 겪었고 전문가는 아니지만 구성 파일을 검색하면서 실제 최신 버전의 Devuan에서 해결책을 찾았습니다.
- 파일 편집
/etc/init.d/networking
- 다음 줄이 있습니다.
으로 설정하다CONFIGURE_INTERFACES=
no
답변3
NetworkManager 없이 RHEL 또는 관련 배포에서 부팅 시 특정 네트워크 인터페이스가 시작되지 않도록 선택적으로 비활성화하려면 /etc/sysconfig/network-scripts/ifcfg-<interface>
비활성화하려는 인터페이스에 해당하는 파일을 편집하고 행 ONBOOT="yes"
을 ONBOOT="no"
.