저는 glibc를 사용하여 busybox를 실행하는 IoT 장치를 사용하고 있습니다. DHCP를 설정하면 자동으로 업데이트 /etc/network/interfaces
됩니다 . 를 지우고 부팅하면 이를 볼 수 있습니다 .udhcpc
/etc/resolv.conf
/etc/resolv.conf
udhcpc
# 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.conf
XML 파일에 DNS 정보가 제공되지 않습니다. 자동으로 업데이트할 수 있는 앱이 있나요 /etc/resolv.conf
? DNS 정보는 어디서/ udhcpc
어떻게 얻을 수 있나요?
답변1
udhcpc 사용 스크립트: /usr/share/udhcpc/default.script
DHCP 응답을 받은 후 인터페이스를 구성합니다. 스크립트에는 변수가 있습니다. $dns
이는 이름 서버 배열입니다. $dns
원하는 두 개의 이름 서버에 대한 변수 재정의를 포함하여 원하는 작업을 수행하도록 스크립트를 편집할 수 있습니다.
dns="8.8.8.8 8.8.4.4"