brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Dec 02. 2024

2. Cache DNS 만들기

네이버 클라우드 네트워크 안에 Cache DNS를 만들어보자.



dns-pub1 subnet 안에 Cache DNS 1개를 만들자.

일반 서버 1대를  만들고, dns 설정을 새로 만든 cache dns로 변경해 사용해보자.




<1> Cache DNS 1대를 만들자.

<2> Cache DNS에 질의할 일반 서버 1대를  만들자.




<1> Cache DNS 1대를 만들자.



1

https://www.ncloud.com/



2

# Cache DNS용 리눅스 서버 1대를 만들어보자.



Rocky Linux 8.10

pub1에 생성 - KR1 생성

cache-ga-dns1

추가


공인IP = 새로운 공인 IP 할당.

서버 접속


dns udp 53 허용

tcp 53도 허용  


tcp 53은 dns 패킷사이즈가 512바이트를 넘으면 재 전송이 일어날때 사용된다.

질의하는 레코드 수가 많거나 하면  512바이트를 넘는 경우가 있다.

이런 경우도 응답을 주기 위해 tcp 53도 허용한다.


새로운 인증키 생성

cache-ga-dns1




3

passwd

g1!!



resolv.conf 확인


[root@cache-ga-dns1 ~]# more /etc/resolv.conf

; generated by /usr/sbin/dhclient-script

nameserver 169.254.169.53

nameserver 169.254.169.54


[root@cache-ga-dns1 ~]# ping 1.1.1.1

PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.

64 bytes from 1.1.1.1: icmp_seq=1 ttl=58 time=2.18 ms

64 bytes from 1.1.1.1: icmp_seq=2 ttl=58 time=1.64 ms



[root@cache-ga-dns1 ~]# dig www.nate.com


[root@cache-ga-dns1 ~]# dig www.nate.com

; <<>> DiG 9.11.36-RedHat-9.11.36-14.el8_10 <<>> www.nate.com

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52890

;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:

; EDNS: version: 0, flags:; udp: 1232

;; QUESTION SECTION:

;www.nate.com.                  IN      A

;; ANSWER SECTION:

www.nate.com.           600     IN      A       120.50.131.112

;; Query time: 502 msec

;; SERVER: 169.254.169.53#53(169.254.169.53)

;; WHEN: Mon Dec 02 18:31:03 KST 2024

;; MSG SIZE  rcvd: 57



4

ssh로 로그온해서 dns올리기




5

# bind 패키지 기존 버전 확인과 bind 최신 버전 설치

rpm -qa bind*

yum -y install bind bind-chroot





6

cd /etc

vi named.conf


[root@cache-ga-dns1 etc]# vi named.conf

options {

        listen-on port 53 { any; };

        listen-on-v6 port 53 { ::1; };

        directory       "/var/named";

        dump-file       "/var/named/data/cache_dump.db";

        statistics-file "/var/named/data/named_stats.txt";

        memstatistics-file "/var/named/data/named_mem_stats.txt";

        secroots-file   "/var/named/data/named.secroots";

        recursing-file  "/var/named/data/named.recursing";

        allow-query     { any; };




# named 데몬 시작 

systemctl restart named


# 데몬 확인

ps -ef |grep named

named      43645       1  0 19:06 ?        00:00:00 /usr/sbin/named -u named -c /etc/named.conf




7

일반 서버에서 dns 질의 확인






<2> Cache DNS에 질의할 일반 서버 1대를  만들자.



1

Rocky Linux 8.10

pub1에 생성 - KR1 생성


test-ga-web01-dev

가산에 있는 test 서비스의 웹서버 01 , 개발서버.

추가


공인IP = 새로운 공인 IP 할당.


보유하고 있는 인증키 이용

cache-ga-dns1



2

passwd

g1!!



3

dig로 cache 서버의 dns를 1.1.1.1 로 해서 질의해보자


[root@test-ga-web01-dev ~]# dig @1.1.1.1 www.nate.com +short

120.50.131.112



4

서버의 dns를 cache-ga-dns1  로 변경해서 질의해보자


[root@test-ga-web01-dev ~]# dig @10.0.2.6 www.nate.com +short

120.50.131.112


[root@test-ga-web01-dev ~]# dig @223.130.151.130 www.nate.com +short

120.50.131.112



캐쉬 DNS로 잘 동작한다.



다음 자료

https://brunch.co.kr/@topasvga/4176


감사합니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari