관리 메뉴

IT창고

리눅스 DNS 고급설정 본문

서버운영/Linux

리눅스 DNS 고급설정

방구석여포 2017. 9. 19. 22:31

리눅스의 마스터슬레이브 네임 서버구축과 ACL에 대해 알아보겠습니다.


마스터 슬레이브 네임 서버 구축은 A리눅스와 B리눅스 2개의 리눅스가 필요합니다.

일반적인 DNS 구축은 저번 포스팅에 DNS설정에 대한 글을 참고하면 됩니다.  2017/09/18 - [서버운영] - 리눅스 DNS 설정

먼저 A리눅스에 DNS 서버를 구축합니다. 저는 gsk.com 도메인으로 만들었는데 /etc/named.rfc1912.zones파일을 vi으로 열어서 

gsk.com을 만든 필드아래에 allow-transfer { 100.100.100.120; }; 을 추가합니다 allow-transfer의 {}안에는 슬레이브가 될 리눅스의 IP를 입력합니다.

/var/named/gsk.zone 파일에서 vi로 열어 수정합니다.

위와 같이 수정해줍니다. ns2가 슬레이브가 될 ip입니다. service named restart를 입력하여 변경사항을 적용해주고 cat /var/log/messages | tail -2 을 입력하여 마스터 네임 서버가 gsk.com에 대한 정보를 제공할 준비가 되었는지 확인합니다.


B리눅스로 넘어갑니다. B리눅스에도 yum install bind* 입력해 패키지를 설치해줍니다. vim /etc/named.conf로 파일을 열어 아래와 같이 설정해줍니다. A리눅스와 같은 설정해줍니다. 

ex)

listen-on port 53 { any; };

listen-on-v6 port 53 { none; };

allow-query     { any; };

recursion yes;

vim /etc/named.rfc1912.zones 파일도 같이 수정해줍니다. 여기서 마스터 네임서버와 달라지는데 type과 file을 slaves로 바꿔야합니다.

ex)

zone "gsk.com" IN {

        type slave;

        file "slaves/gsk.zone";

        masters { 100.100.100.110; };

        allow-update { none; };

}

여기까지 설정이 끝났다면 B리눅스에서 테스트를 해봅니다.

cd /var/named -> service named restart -> ls -l -> cd slaves 순서대로 진행합니다. 확인해보면 slaves디렉토리에 gsk.zone파일이 옮겨와있으면 정상적으로 실행이 됩니다. 혹은 A리눅스에서 Server-A에서 tail -2 /var/log/messages 를 입력해봐도 확인할수있습니다. A리눅스의 named 데몬을 정지하고 B리눅스에서 nslookup으로 도메인을 입력해서 정상적으로 출력이되면 올바르게 설정이됬음을 알수있습니다. 


ACL(Access Control List)에 대해 알아보겠습니다. ACL은 네임 서버로의 접근을 제어하기 위해 사용하는 Bind의 기능으로 ACL을 사용해서 클라이언트의 네임 서버로 접근 허용을 할지 거부할지 결정할수있습니다.

ACL을 사용하기 위해 vim /etc/named.conf파일을 아래와 같이 수정합니다. 

acl을 하고 변수명을 자유롭게 지정한후 {}안에 IP정보를 입력합니다. acl을 사용하면 /etc/named.rfc1912.zones파일에 IP를 입력하지않고 acl 변수를 입력하면 됩니다. acl을 이용하여 접근을 차단할수도 있는데 차단할 변수를 만들고 옵션안에 blackhole 에 {}안에 차단할 변수를 입력하면 실제로 해당 IP를 가진 컴퓨터는 DNS에 접근이 제한 됩니다. 가상 머신을 사용하여 원도우7에 IP를 접근차단했습니다. 적용한 결과는 아래와 같습니다. 단 조건은 클라이언트 원도우7ㅇ[서 네트워크 설정으로 고정IP를 부여해야하고 DNS를 A리눅스 IP로 설정해야합니다.

웹 브라우저를 열어보면 도메인으로의 접근이 차단된 모습을 볼수있습니다. 단 차단전에 들어갔었던 사이트의 캐시가 남아있을 경우는 접속이 가능합니다.

'서버운영 > Linux' 카테고리의 다른 글

리눅스 NFS 설정  (0) 2017.09.21
리눅스 FTP 설정  (0) 2017.09.21
리눅스 DNS 설정  (0) 2017.09.18
리눅스 본딩(Bonding)  (0) 2017.09.16
리눅스 DHCP  (0) 2017.09.15
Comments