부팅 시 resolv.conf는 비어 있지만 결국 채워집니다. 왜?

부팅 시 resolv.conf는 비어 있지만 결국 채워집니다. 왜?

VPC의 Amazon EC2에서 몇 개의 17.10 인스턴스가 실행되고 있습니다. 서버를 새로 재부팅하면(콜드 부팅에서 발생하는지 확실하지 않으며 테스트하지 않음) 파일 /etc/resolv.conf이 비어 있는 것으로 표시됩니다.

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.

예를 들어 내부 DNS 이름을 통해 프라이빗 서브넷의 고정 IP를 사용하는 서버에 연결할 때 이름 확인이 예상대로 실패합니다.

ssh: Could not resolve hostname example: Temporary failure in name resolution

이제 일정 시간 동안 기다리면 갑자기 다음 위치에 적절한 값이 나타납니다 /etc/resolv.conf.

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.

nameserver 127.0.0.53
search subdomain.example.com

명령 systemd-resolve --status도 동일하게 보고합니다. /etc/resolv.conf수동으로 갱신을 강제하는 경우에도 파일이 올바르게 설정되며 이러한 dhclient값이 EC2 DHCP 서버에서 오는 것임을 알고 있습니다.

따라서 질문은 다음과 같습니다. 부팅 시 즉시 이런 일이 발생하지 않도록 구성에서 누락된 부분은 무엇입니까?

이러한 값을 다음과 같은 항목에 직접 추가하면 /etc/resolvconf/resolv.conf.d/base작동하지만 DHCP를 통해 도착해야 하는 항목을 하드 코딩하고 있다고 생각합니다. 나도 살펴보았는데 /etc/netplan( ifupdown사용되지 않음) 이는 클라우드 초기화 항목에서 나온 것 같으니 혹시 뭔가 빠졌 /etc/cloud/cloud.cfg거나 비슷한 것이 있는지 궁금합니다.

관련 정보