
DNS는 사람이 이해하기 쉬운 도메인 이름을(www.naver.com) IP로 바꿔주는 역할
www(hostname:SubDomain).naver(SLD:SecondDomain).com(TLD:TopDomain).(dot: RootDomain: 생략)
DNS 쿼리 요청 흐름도(tree구조)
53번 포트 사용

**참조:https://www.iana.org/domains/root
DNS 레코드
ns: 네임서버 [ test.com → ns1.test.com ]
a: 호스트(도메인)이름 [ www.test.com ]
soa: zone 시작정보(관리자,시리얼)
mx 메일수신서버 [ example.com → mail.example.com ]
cname 다른도메인을 참조하는 별칭 [ www.example.com → example.com ]
DNS 캐시서버
외부인터넷만 서비스 하기 위해
빠르게 도메인을 가져오기 위해
보안(외부에 직접 질의 x)
단점) 내부망에 대한 질의x( >>> zone서버)
apt -y install bind9 bind9utils bind9-doc (캐시서버와 zone영역 사용을 위해 설치)
ufw allow 53/udp (53번 포트 허용)

/etc/bind/named.conf.options
dnssec-validation auto;(변조검증), recursion yes;(재귀 질의 허용로컬캐시 dns)

/etc/netplan/50-cloud-init.yaml
nameserver 주소 추가 10.10.8.3(master server)

netplan apply (/etc/netplan/*.yaml 파일의 변경사항 적용)
dig @localhost www.naver.com (첫번 째 요청 502 msec)

dig @localhost www.naver.com (두번 째 요청: 0 msec)

DNS BIND(DNS ZONE 이중화)
영역(zone) 정의: master, slave 동기화
primary(master): 레코드 관리, 업데이트
secondary(slave): primary와 주기적 동기화, 장애 대비
Zone Transfer : (full transfer-전체전송[-AXFR], incremental T:중복전송[-IXFR]:대역폭관리와 리소스 낭비 최소화)
DNS Notify: primary가 slave에게 변경 사실을 알림
zone 파일에 a, mx soa, cname, ns 등 레코드 지정
이중화의 목적: H/A (high Avility), L/B(Load Balancing) - 고 가용성 과 ,부하 분산을 위해
ACL 접근제어, TSIG 트랜젝션 서명(서명된 사용자만)
d변경 사항 있을 시 serial을 직접 수동으로 변경 (레코드 수정 시 반드시)
ex) 2025071002 (버전관리) :시리얼 넘버로 변경 감지함
DNS zone primary server(master)
apt -y install bind9 bind9-utils bind9-doc
/etc/bind/named.conf.options

/etc/bind/named.conf.local (zone 생성 [master])

/etc/bind/jura.com.db(resource 레코드 추가)
"@" : dns 레코드 내에서 현재 도메인을 나타냄

ufw allow 53/tcp, udp

DNS zone Secondary server(slave)
apt -y install bind9 bind9-utils bind9-doc
/etc/bind/named.conf.options

/etc/bind/named.conf.local (zone 생성[slave])

systemctl restart named (마스터와 슬레이브 둘다)
슬레이브 서버에서 tail -f /var/log/syslog상태로 대기
마스터 서버에서 jura.com.db 파일의 serial 값 변경 후 named서비스 재시작

슬레이브 서버에 notify가 응답된 것을 확인 (tail -f /var/log/syslog)
(+/var/cache/bind/jura.com.db 생성됨)

**dns zone reload, notify,flush 등 잦은 작업 시 rndc 추가 학습 필요