DNS (Master, Slave)

mjtwinsbbc·2024년 10월 22일
post-thumbnail

DNS (Master, Slave)

시스템 구성도

Rocky9-1을 주DNS로, Rocky9-2, 3을 보조DNS로 사용할 예정이다. 구성도에는 없지만 Windows10도 세팅하여 확인할 것이다.

W10-1 세팅

VMware에 Windows10을 새롭게 생성한다.

BIOS 방식으로 생성한다.

IP 설정을 수동으로 해준다. 주DNS가 될 Rocky9-1의 IP 주소(10.0.0.11)를 기본 DNS 서버에 넣어준다.

VMware Tools를 무조건 추가해주어야 한다. 추가한 뒤에 내 PC의 DVD 드라이브에서 설치도 진행해주어야 한다.

주DNS - Rocky9-1

[root@rocky9-1 ~]# dnf install -y bind bind-utils bind-libs

[root@rocky9-1 ~]# vi /etc/named.conf
[root@rocky9-1 ~]# vi /etc/named.rfc1912.zones


[root@rocky9-1 ~]# cp /var/named/{named.localhost,1}
[root@rocky9-1 ~]# vi /var/named/1

[root@rocky9-1 ~]# chmod o+r /var/named/1

[root@rocky9-1 ~]# systemctl enable --now named
Created symlink /etc/systemd/system/multi-user.target.wants/named.service → /usr/lib/systemd/system/named.service.

[root@rocky9-1 ~]# firewall-cmd --add-port=53/udp
success
[root@rocky9-1 ~]# firewall-cmd --add-port=53/tcp
success

우선 bind를 install 해주어야 한다.

/etc/named.conf의 노란색으로 표시한 두 부분을 any; 로 바꿔주어 DNS 서버가 모든 네트워크 인터페이스에서 요청을 수신할 수 있도록한다.

/etc/named.rfc1912.zones에서 :23,27co$ 을 작성하여 23번~27번 줄에 해당하는 부분을 copy하여 파일의 마지막 부분에 붙여넣을 수 있도록 한다. 그리고 사용할 도메인 'minjeong.local'을 입력하고 type은 master, 도메인에 대한 DNS 레코드가 저장될 파일의 이름은 간단하게 1로 설정하였다. 마지막으로 10.0.0.12(Rocky9-2), 10.0.0.13(Rocky9-3)이 DNS 레코드를 자동으로 추가, 수정 또는 삭제할 수 있도록 하는 동적 업데이트가 가능하도록 allow-update에 IP 주소를 추가해 주었다.

/var/named/1을 수정해 준다. 문자가 끝나면 꼭 .을 찍어 주어야 한다.

네임서버의 도메인 이름을 ns1.minjeong.local로 설정해주고, minjeong.local 도메인에 대한 서브 도메인들을 설정해 주었다. 문자로 인식되는 www, wwww 등의 도메인을 10.0.0.11로 매핑되도록 설정해 주었다. 도메인을 @로 설정하면 minjeong.local로 접속하더라도 www.minjeong.local로 접속한 것과 같은 결과 페이지를 볼 수 있다.

vi 편집이 끝났다면 다른 사용자(o)들에게 읽기 권한을 주어야 한다.

변경 사항을 저장하기 위해 bind 서비스를 재시작해주고, DNS 서비스를 운영하기 위해 53번 포트를 열어준다. tcp, udp 모두 열어 주어야 한다.

add-port를 사용해 포트를 열어주면 reload를 해주지 않아도 되지만 재부팅시 설정 내용이 초기화된다. ( permanent 옵션을 사용하면 reload를 해주어야 하지만 재부팅시 설정 내용이 초기화되지 않는다. )

위에서 만들어준 W10-1의 cmd에서 nslookup을 통해 해당 도메인이 가리키고 있는 IP 주소를 확인할 수 있다. 위에서 vi 편집기를 사용해 넣어준 내용들이 잘 적용된 것을 확인할 수 있다.

이제 www.minjeong.local 접속이 가능하다. 이제 주DNS 설정을 완료했고 보조DNS 설정을 해줄 것이다.

오류

설정을 마쳤는데 도메인과 IP 주소 모두 W10-1에서 접속이 되지 않았다. ping은 잘 주고 받아지고, nslookup에서 DNS 설정이 잘 되어있는 걸 확인할 수 있었는데 원활한 실습이 진행되지 않았다.

[root@rocky9-1 ~]# firewall-cmd --add-port=80/tcp
success

80번 포트를 열어주니 해결되었다. 이것 때문에 웹페이지를 정상적으로 로드하지 못한 것이다.

보조DNS - Rocky9-2

보조DNS는 기본 DNS 서버에서 데이터를 복제하여 사용하는 서버다.

[root@rocky9-2 ~]# dnf install -y bind bind-utils bind-libs

[root@rocky9-2 ~]# vi /etc/named.conf
[root@rocky9-2 ~]# vi /etc/named.rfc1912.zones

[root@rocky9-2 ~]# firewall-cmd --add-port=53/tcp
success
[root@rocky9-2 ~]# firewall-cmd --add-port=53/udp
success

[root@rocky9-2 ~]# systemctl enable --now named
Created symlink /etc/systemd/system/multi-user.target.wants/named.service → /usr/lib/systemd/system/named.service.

/etc/named.conf에서 마찬가지로 :23,27co$ 을 입력하여 마지막 부분에 해당 내용을 추가해 주었다. 주DNS 설정 때와 다른 점은 slave이고, masters에 주DNS IP 주소인 10.0.0.11을 작성해 주었다는 것이다.

"1" 파일이 생성되었다.


W10-1의 기본 DNS 서버에 보조DNS IP 주소를 넣어 주었다.

nslookup을 통해 보조DNS 서버가 주DNS 서버에서 받아온 minjeong.local의 설정 내용을 확인할 수 있다.

9-3도 똑같이 설정해 준다.

리버스 DNS

리버스 DNS 기능을 추가해줄 수 있다. 10.0.0.x 대역의 IP 주소에 리버스 DNS 레코드를 설정한 것이다. 이때 주DNS 서버가 10.0.0.12여서 10.0.0.12로 설정해 주었다.

0개의 댓글