Cloud/Kubernetes

DNS 서버 설치

Happy@Cloud 2024. 10. 6. 02:20

이 가이드는 Ubuntu 기준으로 작성되어 있습니다. 

CentOS 기반의 가이드는 여기를 참조하세요. 

 

1. DNS설치

apt-get install -y bind9-utils bind9

2. DNS설정
설정파일 예시를 참고하여 작성하십시오. 

1) /etc/bind/named.conf.options 
options {
	directory "/var/cache/bind";
	
	recursion yes;               // 내부 네트워크에만 재귀 쿼리 허용
	allow-recursion { any; };    // 모든 사용자를 허용하려면 { any; }로 설정
	listen-on { any; };          // 모든 인터페이스에서 DNS 쿼리를 수신
	allow-transfer { none; };    // 기본적으로 존 전송을 허용하지 않음

	dnssec-validation auto;

	listen-on-v6 { any; };
};

2) /etc/bind/named.conf.local

zone "msa.edutdc.com" {
    type master;
    file "/etc/bind/zones/db.msa.edutdc.com";  // 영역 파일의 경로
};

zone "110.10.in-addr.arpa" {
    type master;
    file "/etc/bind/zones/db.10.110";  // 역방향 영역 파일의 경로
};

3) /etc/bind/zones/db.msa.edutdc.com
$TTL    604800
@       IN      SOA     ns1.msa.edutdc.com. admin.msa.edutdc.com. (
                        3         ; Serial
                        604800    ; Refresh
                        86400     ; Retry
                        2419200   ; Expire
                        604800 )  ; Negative Cache TTL

@       IN      NS      ns1.msa.edutdc.com.
ns1     IN      A       10.110.50.111   ; Primary DNS 서버를 실제 DNS 서버가 설치된 VM의 IP로 설정

bastion       IN      A       10.110.10.124
controlplane  IN      A       10.110.20.65
worker1       IN      A       10.110.30.77
worker2       IN      A       10.110.40.91
infra         IN      A       10.110.50.111
apigw         IN      A       10.110.60.106
cicd          IN      A       10.110.70.239
telemetry     IN      A       10.110.80.10

; Public IP 매핑 (선택 사항)
infra-public     IN      A       18.141.104.160
bastion-public   IN      A       13.215.90.232

4) /etc/bind/zones/db.10.110
$TTL    604800
@       IN      SOA     ns1.msa.edutdc.com. admin.msa.edutdc.com. (
                            3         ; Serial
                            604800    ; Refresh
                            86400     ; Retry
                            2419200   ; Expire
                            604800 )  ; Negative Cache TTL

@       IN      NS      ns1.msa.edutdc.com.
ns1     IN      A       10.110.50.111

; 세 번째와 네 번째 옥텟을 사용하여 PTR 레코드 작성
124.10     IN      PTR     bastion.msa.edutdc.com.
65.20      IN      PTR     controlplane.msa.edutdc.com.
77.30      IN      PTR     worker1.msa.edutdc.com.
91.40      IN      PTR     worker2.msa.edutdc.com.
111.50     IN      PTR     infra.msa.edutdc.com.
106.60     IN      PTR     apigw.msa.edutdc.com.
239.70     IN      PTR     cicd.msa.edutdc.com.
10.80      IN      PTR     telemetry.msa.edutdc.com.



3. DNS서버 재시작
systemctl restart bind9

4. DNS설정 수정
1) /etc/systemd/resolved.conf
[Resolve]
DNS=10.110.50.111
Domains=msa.edutdc.com

2) 적용
systemctl restart systemd-resolved


5. 테스트
1) 정방향 탐색
nslookup {host}
ex) nslookup bastion.msa.edutdc.com

2) 역뱡향 탐색
dig -x 10.110.10.124
또는
nslookup 10.110.10.124