정적 구성을 사용할 때 /etc/resolv.conf를 자동으로 채우는 방법

정적 구성을 사용할 때 /etc/resolv.conf를 자동으로 채우는 방법

저는 glibc를 사용하여 busybox를 실행하는 IoT 장치를 사용하고 있습니다. DHCP를 설정하면 자동으로 업데이트 /etc/network/interfaces됩니다 . 를 지우고 부팅하면 이를 볼 수 있습니다 .udhcpc/etc/resolv.conf/etc/resolv.confudhcpc

# udhcpc -i wlan0 --pidfile /tmp/udhpcp.pid
udhcpc: started, v1.26.2
udhcpc: sending discover
udhcpc: sending select for 172.20.53.151
udhcpc: lease of 172.20.53.151 obtained, lease time 46800
deleting routers
SIOCDELRT: No such process
adding dns 172.20.62.208
adding dns 172.20.108.123

그러나 정적 구성 설정이 있으면 /etc/network/interfaces아무것도 업데이트되지 않습니다 /etc/resolv.conf. /etc/resolv.conf고정 IP 구성을 사용할 때 언제 DNS 서버를 자동으로 추가할 수 있나요? 가능합니까? 현재 이 모듈이 고정 IP로 구성되면 DNS 호스트 이름이나 IP가 제공되지 않습니다. 고정 IP 구성을 사용하는 경우 이를 제공해야 합니까?

편집하다:

더 자세히 설명하자면, 장치는 XML 구성 파일에서 네트워크 설정을 가져옵니다. 파일에는 다음과 같은 4개의 필드가 있습니다.

<NetworkConfig>
  <IP>1.2.3.4</IP>
  <NETMASK>255.255.240.0</NETMASK>
  <GATEWAY>1.2.3.1</GATEWAY>
  <DHCP>0</DHCP>
</NetworkConfig>

장치의 프로그램은 이 정보를 가져와 파일을 생성하고 /etc/network/interfaces, DHCP=0인 경우 다음과 같은 항목을 생성합니다.

auto wlan0
iface wlan0 inet static
   address 1.2.3.4
   netmask 255.255.240.0
   gateway 1.2.3.1

DHCP=1인 경우 다음과 같은 항목

auto wlan0
iface wlan0 inet dhcp

따라서 고정 IP로 장치를 구성하려고 하면 업데이트가 발생하지 않으며 /etc/resolv.confXML 파일에 DNS 정보가 제공되지 않습니다. 자동으로 업데이트할 수 있는 앱이 있나요 /etc/resolv.conf? DNS 정보는 어디서/ udhcpc어떻게 얻을 수 있나요?

답변1

udhcpc 사용 스크립트: /usr/share/udhcpc/default.scriptDHCP 응답을 받은 후 인터페이스를 구성합니다. 스크립트에는 변수가 있습니다. $dns이는 이름 서버 배열입니다. $dns원하는 두 개의 이름 서버에 대한 변수 재정의를 포함하여 원하는 작업을 수행하도록 스크립트를 편집할 수 있습니다.

dns="8.8.8.8 8.8.4.4"

원천:http://forum.tinycorelinux.net/index.php?topic=8019.0

관련 정보