Debian에 이더넷에 대한 케이블이 없는 경우 DHCP를 건너뛰는 방법

Debian에 이더넷에 대한 케이블이 없는 경우 DHCP를 건너뛰는 방법

내 Bananian Linux는 연결되지 않은 eth0 인터페이스에 대한 DHCP 임대를 얻으려고 로그인할 때 시간을 낭비합니다. 음, 연장 코드가 연결되어 있지만 반대쪽 끝에는 아무것도 없습니다.

나는 가지고있다

auto eth0
iface eth0 inet dhcp 

내 설정에서는 /etc/network/interfaces연결될 때 이더넷을 선택하기를 원하지만 케이블이 이더넷에 연결되지 않은 경우 시스템 시작 속도를 늦추고 싶지 않기 때문입니다. 나는 시스템이 이를 자동으로 알고 인터페이스에 대한 DHCP 임대를 얻으려고 시도하지 않는다고 가정합니다.

로드할 때 표시되는 내용은 다음과 같습니다(마지막 세 줄 참조).

여기에 이미지 설명을 입력하세요.

임대가 오지 않을 것이라는 사실을 알게 된 후 출시를 진행합니다.

케이블이 연결되어 있지 않으면 DHCP를 사용하지 않도록 하는 방법이 있나요?

답변1

당신이 지정하는 경우

allow-hotplug eth0

바꾸다

auto eth0

에서는 시작할 때마다 연결이 아닌 특정 이벤트가 트리거될 때만 /etc/network/interfaces연결이 시작됩니다 .udev

이는 귀하의 상황을 처리하는 데 충분할 수 있지만 반드시 그런 것은 아닙니다.interfaces맨페이지말하는

("allow-hotplug"라고 표시된 인터페이스는 udev가 이를 감지하면 시작됩니다. 인터페이스가 이미 존재하는 경우 부팅 중에 시작하거나 나중에 USB 네트워크 카드를 연결할 때 시작할 수 있습니다. 참고 이는 연결된 네트워크 케이블을 감지하는 것과 아무 관련이 없습니다).

/etc/network/if-up.d/00check-network-cable당신은 사용 하고 싶을 수도 있습니다ifupdown-extra패키지케이블이 연결되어 있지 않으면 인터페이스를 건너뜁니다.

답변2

문제에 대한 해결책은 항상 두 개 이상 있습니다.

이 머신을 집 등 한 곳에서 항상 사용한다면 가장 쉬운 방법은 dhcp-client 패키지를 제거하고 고정 IP 주소, 마스크, 게이트웨이를 설정하는 것입니다. 필요하지 않다고 가정하면 다음과 같은 작업을 수행합니다.

apt-get remove isc-dhcp-client

먼저 종속성이 있는지 알려줍니다. 패키지를 제거한 후에는 더 이상 부팅 프로세스 동안 기다릴 필요가 없습니다.

다음은 설정하려는 항목의 예입니다./etc/network/interfaces

iface eth0 inet static
    address 192.168.0.2
    netmask 255.255.255.0
    gateway 192.168.0.254

원천:https://wiki.debian.org/DHCP_Client

답변3

구경하다 ifplugd:

ifplugd는 케이블이 연결되면 자동으로 이더넷 장치를 구성하고 케이블을 빼면 자동으로 구성을 해제하는 Linux 데몬입니다. 이는 케이블이 실제로 연결될 때만 인터페이스를 구성하므로 온보드 네트워크 어댑터가 있는 노트북에 유용합니다.

ifplugd ifplugd는 배포판의 기본 네트워크 구성 유틸리티와 상호 작용합니다.

일부 기능:

  • 배포판의 기본 ifup/ifdown 절차를 사용하세요.
  • 케이블이 분리되거나 연결되거나 인터페이스 구성이 성공하거나 실패할 때 경고음이 발생할 수 있습니다.
  • 링크 상태 가져오기를 위해 Linux SIOCETHTOOL(최신, 일명 ethtool API), SIOCGMIIREG(이전, 일명 mii-diag/mii-tool API) 및 SIOCDEVPRIVATE(가장 오래된, 일명 mii-tool API) ioctl()을 지원합니다. 버전 0.24에서는 IFF_RUNNING 인터페이스 플래그를 사용한 링크 감지 지원이 도입되었습니다.
  • 시스템 로그 지원
  • 애플릿 - 바이너리는 25KB(libdaemon의 경우 16KB 추가)에 불과합니다.
  • 다중 이더넷 인터페이스 지원
  • 짧은 "연결 해제" 기간(-d 옵션) 또는 짧은 "플러그인" 기간(-u 옵션)을 무시하도록 구성할 수 있습니다.
  • 무선 네트워킹을 지원합니다. AP와의 연결이 감지될 때마다 네트워크가 구성됩니다. AP 연결이 성공하기 전에 WEP 키를 구성하는 도구가 필요한 경우 waproamd를 확인하세요.
  • 케이블 감지를 지원하지 않는 네트워크 장치에 대한 호환 모드(-F 옵션)

패키지 데비안 패키지 검색 페이지:플러그인의 경우.
ifplugd 공식 홈페이지

apt-get update && apt-get-install ifplud트릭을 수행해야합니다 . 그건 그렇고, systemd의 작성자가 이 패키지를 유지 관리합니다.

답변4

더 깊이 파고들기 전까지는 처음에는 아무 효과가 없었기 때문에 위에서 제안한 답변을 완성하고 싶었습니다.

ifupdown-extra 패키지를 설치합니다.

$ sudo apt-get install ifupdown-extra

/etc/network/if-pre-up에서 00check-network-cable에 대한 심볼릭 링크를 생성합니다.

$ cd /etc/network/if-pre-up
$ sudo ln -s ../if-up.d/00check-network-cable .

/etc/default/network-test 파일을 편집하고 . ABORT_ON_LINK로 변경합니다 yes. 참고 - 내 데비안에서는 ABORT_ON_LINK=${ABORT_ON_LINK:-no}check-network-cable 스크립트에 설정된 대로 "yes"로 기본값을 설정해도 아무런 효과가 없었습니다 no. 그래서 설정을 주석 처리했습니다. . 나는 물건을 한 곳에만 보관하는 것을 선호합니다.

이더넷을 연결하지 않고도 꽤 빠르게 부팅되었습니다.

관련 정보