dhclient가 IP 주소 가져 오기를 다시 시도하도록 변경


10

라즈베리 파이는 dhcp로 IP 주소를 얻기 위해 열심히 노력하지 않으며, 정전 중에 rpi가 dhcp 서버보다 빠르게 부팅되고 IP 주소를 얻지 못했습니다. 이러한 상황에서 rpi가 부팅되는 것처럼 보이지만 IP 주소를 얻지 못하므로 다시 부팅 할 때까지 dhcp 요청이 표시되지 않습니다.

dhclient는 다음과 같이 실행됩니다 :

dhclient -1 -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0

dhclient에 대한 인수를 변경하는 방법을 찾을 수 없습니다. -1 인수가 범인 일 수 있습니다. 답장을받을 때까지 raspberrypi가 dhcp 요청을 다시 시도하도록하려면 어떻게해야합니까?

편집 : 이것은 Raspbian“wheezy”배포판에 관한 것입니다.


1
와이파 이와 같은 문제. Wi-Fi 라우터가 시작시 켜져 있으면 라우터를 다시 시작해도 모든 것이 정상입니다. 그러나 라즈베리 시작시 라우터가 꺼져 있으면 IP를 얻지 못합니다. 안부

나도 같은 문제가 있습니다. 그러나 dhclient가 어떻게 실행되는지 모르겠습니다. 구성이 있습니까? 아니면 뭔가를해야합니까?
Kangkan

답변:


7

를 제거 -1하고 편집, 명령 줄 인수에서 timeoutretry값을 /etc/dhclient.conf원하는대로. man dhclient.conf자세한 내용 은 맨 페이지 ( )를 참조하십시오.


말했듯이 문제는, 나는 /이 뭔가는 / etc / 네트워크를 구문 분석으로 마술 어떻게 든 ifupdown의 뎁 패키지에 무언가에 의해 부팅시 시작 보인다, 인터페이스의 dhclient의 명령 줄을 변경할 수있는 방법을 찾을 수있다
nos

@nos 네트워크 초기화 스크립트를 찾아야합니다. 나는 그것이 어디에서 왔는지 기억할 수 없다.
Alex Chamberlain

@Alex Chamberlain dhclient를 시작하기위한 명령 행이 / sbin / ifup 바이너리에 하드 코딩되어 있음을 알 수 있습니다. 그래서 지금은 대안 솔루션을 찾고 있습니다.
nos

미안합니다. 어쨌든, 그 배포판은 무엇입니까? 이상한 것들을 바이너리로 하드 코딩했습니다. 해결책으로 rc.local에 몇 줄을 추가하여 기존 dhclient 프로세스를 종료 한 다음 사용자 정의 args 등으로 자신을 시작할 수 있습니다.
Munkeh

Editet 포스트 - 나는 rasbpian 사용하고 있습니다
번호

1

/ etc / network / interfaces의 내용은 무엇입니까?

부팅시 DHCP를 쿼리하기 때문에 자동 eth0이 있다고 가정합니다.

allow_hotplug eth0으로 변경하면 어떻게 되나요? 인터페이스를 올바르게 이해하면 인터페이스 (케이블 삽입 / 제거) 변경에 반응해야합니다.

(이 모든 것은 단지 내 교육받은 추측 일뿐입니다).


이 팁은 저에게 매우 효과적입니다. 핫 플러그가 가능하고 부팅 시간이 단축됩니다. 그러나 "allow-hotplug eth0"으로 작성해야합니다.
user27164

0

Jeroen이 제공 한 해결 방법이 있습니다 : https://bugs.launchpad.net/raspbian/+bug/1125066

해결 방법을 설정하고 재부팅했습니다. 현재는 괜찮은 것 같습니다. 잠시 테스트 후 업데이트에서 문제가 해결되었는지 확인합니다.

해결 방법은 다음과 같습니다.

해결 방법은 / sbin / dhclient의 이름을 / sbin / dhclient-bin으로 바꾸고 아래 텍스트는 / sbin / dhclient에서 나중에 mod로 chmod하여 래퍼 스크립트를 만드는 것입니다.

#!/bin/sh
/sbin/dhclient-bin -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.