udhcpc는 어떻게 수행되고 어떻게 변경합니까?

udhcpc는 어떻게 수행되고 어떻게 변경합니까?

저는 udhcpc를 DHCP 클라이언트로 사용하는 임베디드 시스템을 개발 중입니다. 다음 매개변수를 사용하여 실행 중인 것으로 보입니다.

/usr/share/udhcpc # ps | grep dhcp 5366 root 2432 S udhcpc -R -b -p /var/run/udhcpc.eth0.pid -i eth0

매개변수를 변경하거나 자체 DHCP 클라이언트를 실행하고 싶습니다. 검색해보니 ifup 및 /etc/network/interfaces와 관련이 있는 것 같습니다.

iface eth0 inet dhcp

하지만 DHCP 클라이언트를 수정하는 방법을 찾지 못했습니다.

나는 알고 싶다

  1. 매개변수를 udhcpc로 변경하는 방법
  2. udhcpc를 종료하지 않고 내 DHCP 클라이언트를 실행할 수 있습니까?

감사해요!

답변1

귀하의 시스템은 busybox.

busybox일반적으로 리소스가 제한된 복구 미디어 또는 내장형 시스템에 사용됩니다.

매개변수를 수정해야 하는 경우 udhcpc자동으로 호출할 수 있습니다.

다음과 같이 변경할 수 있습니다 /etc/network/interfaces.

iface eth0 inet manual
   pre-up /sbin/udhcpc -R -b -p /var/run/udhcpc.eth0.pid -i eth0

다른 DHCP 클라이언트를 실행하려면 이를 설치해야 합니다. 그러나 udhcpc다른 인터페이스가 없으면 전환해야 합니다.

이는 udhcpc단지 일부일 뿐이며 busybox작업 환경을 제공하는 전역 바이너리에 대한 링크일 뿐이므로 DHCP 클라이언트를 전환하는 공간을 절약할 수 없습니다.

답변2

Martin Trenkmann이 제안한 솔루션이 제게는 효과가 없었습니다(udhcpc_opts 사용). 그러나 다음 줄을 추가하면 내 시스템에서 작동합니다 /etc/network/interfaces.

auto eth0
iface eth0 inet dhcp
        hostname myhostname

이로 인해 BusyBox는 다음을 수행합니다.

$ ps aux| grep dhc
 1685 root     /sbin/udhcpc -n -p /run/udhcpc.eth0.pid -i eth0 -x hostname:myhostname

(에서 발견됨https://wiki.alpinelinux.org/wiki/Udhcpc)

답변3

매개변수를 udhcpc로 변경하는 방법은 무엇입니까?

이런 목적으로 사용할 수 있습니다 udhcpc_opts.

iface eth0 inet dhcp
  udhcpc_opts -t 10
  ...

위의 예는 우리에게 말해준다.우즈베키스탄임대를 얻으려면 최대 10번의 시도가 필요합니다.

관련 정보