제한된 임베디드 환경에서 DHCP에 의해 생성되면 resolv.conf를 동적으로 업데이트합니다.

제한된 임베디드 환경에서 DHCP에 의해 생성되면 resolv.conf를 동적으로 업데이트합니다.

저는 yocto로 구축된 임베디드 장치에 사용자 정의 Linux 이미지를 사용하고 있습니다. ifup/ifdown 인터페이스 구성을 제외한 네트워크 관리 기능은 없습니다. /etc/resolv.conf는 dhcp(dhcpcd)에 의해 생성되며 시스템에는 이러한 파일을 관리할 다른 소프트웨어(예: resolvconf 또는 dnsmasq)가 없습니다.

# Generated by dhcpcd from eth0.dhcp
# /etc/resolv.conf.head can replace this line
domain routername.home
nameserver 192.168.0.1

이 설정을 사용하면 어떻게 /etc/resolv.conf를 동적으로 업데이트하고 계속 업데이트할 수 있습니까?

답변1

update resolv.conf를 검색하면 이 커뮤니티에서 많은 결과를 얻을 수 있습니다. 예를 들어:

resolv.conf를 덮어쓸 때 DNS를 어떻게 설정합니까?

배포판을 알면 올바른 배포판을 찾는 데 도움이 됩니다. 예를 들어, 이는 Debian 10 기반 Bunsenlabs Lithium 3에서는 작동하지 않지만 순수 Debian 10에서는 도움이 될 수 있습니다.

답변2

~에 따르면맨페이지, dhcpcd분명히 사용dhcpcd-run-hooks각 DHCP 이벤트(예: IP 주소의 초기 획득, 업데이트 및 재구성)에서 원하는 만큼의 셸 스크립트를 실행합니다.

이러한 후크 스크립트의 위치는 /libexec/dhcpcd-hooks시스템 기본 후크 및 사용자 정의 후크에 대한 디렉토리 로 /etc/dhcpcd.enter-hook제공되지만 /etc/dhcpcd.exit-hook이 부분은 물론 시스템 빌더가 사용자 정의할 수 있습니다.

사용자 지정 빌드에서 이러한 스크립트가 어디에 있는지 확인하고 검사하여 목적을 이해한 다음 DNS 설정을 수정하는 스크립트를 보강, 수정 또는 완전히 대체하여 정확히 원하는 결과를 얻을 수 있습니다.

매뉴얼 페이지dhcpcd.confnohook하나 이상의 후크 스크립트를 비활성화하는 데 사용할 수 있는 구성 키워드 도 있다는 의미입니다 .

귀하의 질문과 매우 관련성이 높은 사용 예:

nohook script

이 후크 스크립트를 실행하지 마십시오. 전체 이름과 일치하거나 끝에 2자리의 선택적 접두사가 일치합니다 .sh. 그래서dhcpcd가 DNS 설정에 액세스하지 못하도록 방지또는 시작하려면 wpa_supplicant다음을 수행하십시오.

nohook resolv.conf, wpa_supplicant

관련 정보