저는 Yocto를 사용하여 맞춤형 Linux 시스템을 구축했습니다. 비지박스를 사용합니다. 거의 모든 것이 작동하고 있지만 부팅할 때마다 /etc/resolv.conf가 삭제되고 /var/run/resolv.conf에 대한 링크로 바뀌기 때문에 정적 DNS 확인자 주소를 가질 수 없습니다.
나생각하다이는 /etc/휘발성.cache라는 스크립트로 인해 발생합니다. 이 스크립트를 삭제했지만 다른 스크립트 /etc/init.d/populate-휘발성.sh가 매번 다시 생성하는 것 같습니다.
물론 resolv.conf에 값을 쓰는 /etc/rc5.d/S90set-resolv와 같은 자체 스크립트를 추가할 수도 있지만 이는 매우 이상한 접근 방식처럼 보입니다.
무슨 일인지 아는 사람 있나요? 이 상황에서 네임서버 주소를 설정하는 올바른 방법은 무엇입니까?
답변1
그런데 친구도 아니고 일이 잘 안 풀리는데, 떠나기 전에 잘 살펴봐야 하니까 "chattr+i" 파일을 시스템에 적용해서 가끔은 문제에 대한 해결책을 찾아봐야 할 것 같아요 , 이러한 것들은 너무 간단하고 바로 앞에 있어서 우리가 긴장하고 시스템에 우리의 의지를 강요하기 때문에 채울 수 없습니다. 때로는 작은 스크립트가 네트워크에서 잘 실행될 때 놀라운 일을 할 수도 있지만, 분명히 당신은 원하지 않을 것입니다. 그런데 저는 시스템 관리자가 되기 위해 공부하고 있지 않거나 공부하고 있습니다. 죄송합니다! 하지만 긴장해서 시스템에 이런 무의미한 트릭을 수행하고 싶다면 결국 내 시스템에는 없으므로 화나게 해서 죄송합니다! 대신 이렇게 하세요! "chattr" 명령을 사용하여 구성하려면 "인터페이스" 파일(일반적으로 /etc/network/ 폴더에 있음)을 편집하고 원하는 네임서버 IP로 dns-nameserver 옵션을 추가/변경하세요. 이러한 옵션이 파일에 없으면 간단한 예로 추가할 수 있습니다.
-견본: "/etc/network/interfaces" 파일을 편집하세요.
auto lo
iface lo inet loopback
iface lo inet6 loopback
iface eth0 inet static
dns-nameserver 192.168.1.1 <= Your IP address here.
dns-nameserver 8.8.8.8
dns-nameserver 8.8.4.4
-파일을 저장하고 네트워크를 다시 시작하세요..
귀하의 경우 서버의 IP 주소를 설정하고 인터페이스 파일 끝에 다음을 설정하기만 하면 됩니다.
dns-nameserver 8.8.4.4
dns-nameserver 8.8.8.8
여기에 사용된 예제/샘플은 다음과 같습니다.
auto lo
iface lo inet loopback
iface lo inet6 loopback
iface eth0 inet static
address 192.168.1.4/24
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameserver 192.168.1.4
dns-nameserver 8.8.4.4
dns-nameserver 8.8.8.8
이는 시스템이 부팅할 때마다 resvol.conf 파일을 생성하는 방법을 더 잘 이해할 수 있도록 돕는 작은 예일 뿐입니다.
revsolv.conf 파일에서 DNS 서버의 주소를 설정하려면 나머지 부분에 dns-nameserver를 설정하면 됩니다. 변경이 필요하지 않고 그대로 두면 됩니다. "dns-nameserver"를 설정하고 저장하고 시작하고 나면 됩니다. 이제부터 resolv.conf 파일은 항상 이 파일에 정의한 dns-nameserver와 함께 제공됩니다.