bind9을 설정하면서 대체 어떻게 동작하는지 리서치를 하고 설정도 바꿔보면서 플로우를 좀 이해하게 되었다.
bind9의 ss -nltu 결과에 Local Address:Port가 대체 왜 127.0.0.1:53인데 동작하는지 의문이었다. 예전에 0.0.0.0:53으로 본것 같은데 아닌가…?
Domain Name System
DNS(Domain Name System)는 인터넷에서 도메인 이름과 IP 주소를 매핑하는 분산 데이터베이스 시스템입니다. 간단히 말해, 사람이 이해하기 쉬운 도메인 이름(예: www.google.com)을 컴퓨터가 이해할 수 있는 IP 주소(예: 142.250.185.46)로 변환하는 역할을 합니다.
Domain Name Server
Domain Name Server (DNS Server)**는 도메인 이름을 IP 주소로 변환하거나 반대로 IP 주소를 도메인 이름으로 변환하는 역할을 수행하는 네트워크 서비스입니다. 인터넷을 비롯한 네트워크에서 필수적인 구성 요소로, 사람이 이해하기 쉬운 도메인 이름을 컴퓨터가 사용하는 숫자형 IP 주소와 연결하는 데 사용됩니다.
Ubuntu 22.04에서 DNS 쿼리를 보내면 일어나는 일
Name Service Switch(NSS)
가장 먼저 /etc/hosts의 내용을 참조하게 됩니다.
그와 관련된 설정은 /etc/nsswitch.conf에 들어 있습니다.
vim /etc/nsswitch.conf
......
......
hosts: files dns
......
......
netplan의 nameserver 설정
직접 netplan에 nameserver를 정의하였다면, /etc/hosts파일 다음으로 질의를 하게됩니다.
(단, /etc/resolv.conf에 dns설정이 127.0.0.53인 경우)
만약 /etc/systemd/resolved.conf에 dns정보가 적용되어있다면 netplan보다 먼저 적용 됩니다.
/etc/reslov.conf
가장 자주 보게 되는 설정파일입니다. 여기에 dns정보를 넣게되는데 이는 /etc/systmed/resolved.conf를 상속받습니다.
어느 곳에도 DNS설정이 안보인다면??
인터넷이 연결되어있는 공유기의 설정에 따라 ISP에서 제공하는 DNS Server를 이용하게 됩니다.
끝.