저는 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.conf
nohook
하나 이상의 후크 스크립트를 비활성화하는 데 사용할 수 있는 구성 키워드 도 있다는 의미입니다 .
귀하의 질문과 매우 관련성이 높은 사용 예:
nohook script
이 후크 스크립트를 실행하지 마십시오. 전체 이름과 일치하거나 끝에 2자리의 선택적 접두사가 일치합니다
.sh
. 그래서dhcpcd가 DNS 설정에 액세스하지 못하도록 방지또는 시작하려면wpa_supplicant
다음을 수행하십시오.nohook resolv.conf, wpa_supplicant