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
거나 비슷한 것이 있는지 궁금합니다.