컴퓨터 / Computer

Linux 특히 CentOS 7 에서 DNS 서버 설정하기

CentOS나 리눅스 계열에서 DNS 서버 설정하는 방법이다. 윈도 DNS 서버에 비해서 이것저것 할 게 많다. 차분히 따라서 진행하면 쉽게 할 수 있다.


 1. DNS 서버명 부여


DNS 서버는 도메인과 ip를 연결해 주는데, 그 이전에 DNS 서버를 정의해 줘야 한다. 도메인 등록업체마다 용어가 다른데 가비아의 경우에는 "DNS 호스트 설정"이란 항목에서 등록한다. 여기서는 보통 Name Server의 약자로 ns를 붙인다. 아래처럼 붙인다고 하자.


  - 예시 : ns.hanmesoft.com  - 106.240.241.171 

 

저렇게 등록했다 하여 웹 브라우저에서 http://ns.hanmesoft.com 이라 입력해도 웹 사이트 접속이 되지 않는다. 그냥 "DNS 호스트"를 등록한 것이다. 


 2. DNS 용 포트 설정


DNS 서버는 아래 TCP/UDP 53 포트를 사용한다. 따라서 외부에서 접속할 수 있게 포트를 열어 주어야 한다.


  - 포트 : TCP 53 / UDP 53

 

iptables -A INPUT -p tcp --dport 53 -j ACCEPT

iptables -A INPUT -p udp --dport 53 -j ACCEPT

 

   CentOS 7 이상

 

firewall-cmd --permanent --zone=public --add-port=53/tcp

firewall-cmd --permanent --zone=public --add-port=53/udp

 


  포트 설정을 하였으면  firewall-cmd --reload 실행하여 포트를 개방한다.


 

 3. bind 설치

  

DNS 서버 팩키지를 설치하는데 CentOS 7에서는 아래 명령어만 설치하면 관련 팩키지가 모두 설치된다. 

 

           yum install bind

 

당연한 이야기지만 root 상태에서 설치한다.



 4. resolve.conf 수정

 

서버 자체의 네임서버 설정이다. 


  위치 : /etc

  수정 내용


 

           nameserver [ip]


이를테면 아래와 같이 입력한다.


# Generated by NetworkManager

nameserver 106.240.241.171 
nameserver 8.8.8.8


 

 5. named.conf 수정

 

DNS 서버 데몬 설정 파일인 named.conf 파일을 아래와 같이 수정한다.

 

  위치 : /etc

  수정 내용 2

 

           a.

           listen-on port 53 { 127.0.0.1; };

 

                     ->

 

           listen-on port 53 { any; };

 

           b.

           allow-query { localhost;};

 

                     ->

 

           allow-query { any;};


 

 6. named.rfc1912.zones file 설정

 

  위치 : /etc

  파일명 : named.rfc1912.zones

 

   DNS 에 등록하고자 하는 도메인들을 등록하는데, "역방향"까지는 할 필요 없고 "정방향"만 등록한다. 예를 들어 아래와 같다.

 

           zone "7-star.kr" IN {

                   type master;

                   file "7-star.kr.zone";

                   allow-update { none; };

           };

 

위 내용에서 짐작하겠지만 "Master" 설정이다.

 

 7. zone file 설정

 

  위치 : /var/named

  파일명 : 7-star.kr.zone

 

 처음부터 만들면 복잡하니 named.localhost 파일을 복사해서 만든다. cp named.localhost 7-star.kr.zone

 그리고 아래와 같이 수정한다.

 

$TTL 1D

@   IN SOA  @ 7-star.kr.  (


                    0   ; serial


                    1D  ; refresh


                    1H  ; retry


                    1W  ; expire


                    3H )    ; minimum


    IN  NS ns.7-star.net.


    IN  NS ns.hanmesoft.com.


www IN    A   1.201.165.135


 




 

 

 8. 검증

   a. named.conf 검증

 

     설정에 오류가 있는지 아래 명령어로 검증한다.


            named-checkconf /etc/named.conf

 

     이상 없으면 아무런 메시지가 없다. 


   b. zone 파일 검증

 

           named-checkzone 7-star.kr 7-star.kr.zone

 

  둘 다 오류 메시지가 없으면 이상없이 설정되었다.

 

 

 

 9. 재실행

 

  systemctl restart named.service

 

8에서 설정한 내용이 전혀 이상 없으면 DNS 서버인 named.service 를 다시 실행한다. ( 그 전에 부팅하면 자동으로 동작하게 만들때 systemctl enable named.service 를  한번만 실행한다.)


시스템 메시지가 없다면 DNS 서버는 실행되었다. 그런데 제대로 동작하는지 확인할 길이 없다. 이때 오류 메시지 확인은 아래와 같이 한다.

 

cat /var/log/messages | grep named

 

 일단 이렇게 하면  DNS Server 구성이 끝난다. 이때 DNS 서버 설정은 Master 혹은 Primary DNS 서버이다. Slave 혹은 Secondary 설정은 추후에. 

 

 

 - 참고 링크

   https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=jga0674&logNo=220997147794

   https://server-talk.tistory.com/177

 

 

Comments

활용도 좋은 전면 투포켓 포인트 크로스 보온보냉가방
스포츠 등산 여름 용 남성 트레킹 샌들 아쿠아 슈즈
해피바스 대나무숯 피지흡착 클렌징폼 200ml 2개
남성 하와이안 바캉스룩 반팔 셔츠 1P 썸머룩 휴가 비치
갤럭시탭S4 10.5 종이질감 액정보호필름
갤럭시Z폴드7 6 5 4 3 2 엘라스틱 밴드스트랩 하드 범퍼케이스 ZFold7 제트폴드5 지폴드4 Z폴드3
스파이더 핸드폰 거치대
BS 3M 발 받침대 FR530 각도조절 거치대
3M 코맨드 화이트 리필테이프 대 4개입
테니스공 의자 발커버 4P 식탁의자발커버 소음방지공 의자발커버
수납함 신발 정리대 투명 블랙 케이스 보관함 10개입
신개념 에어로졸 분사기 스프레이건
체리쉬 강아지 배변 탈취제 파우더향 500ml
키친아트 예리하고 섬세한 올스텐 감자칼 필러
이케아 MEDELVAG 메델보그 병솔 유리병 브러쉬
낫소 탁구 지주네트 세트

편지쓰는잉크펜 사각사각 실용성 6종 컬러풀 손글씨감성펜
칠성상회
(UNI) 제트스트림 3색 0.38mm (옵션) SXE3-400-38 JETSTREAM 볼펜
칠성상회

맨위로↑