반응형

DNS 서비스 설치

#yum list bind

 

#yum -y install bind         //DNS 서비스 설치

 

#systemctl start named     //DNS 서비스 실행

 

#systemctl status named   //DNS 서비스 동작 확인

 

#netstat -lntup |grep :53   //53번포트 열려 있는지 확인

 

 

DNS 서비스 설정

#netstat -lntu 을 해줬을 때 state 부분에 LISTEN 이라고 되어 있다.이 LISTEN 뜻은 프로그램이 실행을 해서 다른 사용자가 나한테 들어올 수 있도록 문을 열고 기다리는 상태를 뜻한다.

 

#netstat -lntup 을 해줬을 때 Local Adress 부분에 127.0.0.1 이거나 0.0.0.0 이다. 

 

0.0.0.0 는 모든 ip를 의미한다. 즉 모든 컴퓨터가 포트를 통해 들어올 수 있다는 뜻이다.

 

하지만 127.0.0.1 은 루프백 ip로 나 자신만 접속할 수 있는 상태이다.

 

DNS 서비스는 컴퓨터가 인터넷을 할 때 www.khsec.edu 로 통신을 할 수 없으니 이거에 해당하는 ip를 알려주는 역할이다. 그러므로 다른사람도 접속해야 하기 때문에 바꿔줘야한다.

 

#vi /etc/named.conf

 

:set nu 로 vi 편집기 행 번호를 보이게 한다.

 

11행에 listen-on prot 53 { 127.0.0.1; };  로 되어있는 것을 { any; }; 로 바꿔준다.

 

 

19행에 allow-query    { localhost; };      //누군가가 www.khsec.edu 를 물어보는데 localhost 에게만 허가해줬다는 뜻

 

{ localhost; }; 부분을 { any; }; 로 바꿔준다.

 

 

31행 recursion yes;  //보안상 중요한 옵션이다.

 

재귀쿼리라고 해서 "다른 dns 서버랑 통신을 맘대로 막 할거냐" 라고 물어보는 뜻이다.

 

보안상 recursion no; 로 바꿔준다.

 

 

도메인 주소 설정

 

52행에 zone "." IN { 이 있다. 

여기서 . 은 루트 디렉토리 dns 서버를 의미한다.

dns 는 항상 . 부터 시작해서 내려온다.

만약 www.google.com. 이면 . com google www 순으로 내려온다. 

원래 도메인 뒤에 . 이 있는데 생략해서 쓸 뿐이다.

실제로 접속이 된다.

예)   www.google.com. 

       www.naver.com.

 

사진출처 : 한국인터넷정보센터

 

57행부터 내용을 추가해준다.

 

57 zone "khsec.edu" IN {

58         type master;

59         file "khsec.edu.zone";

60         allow-update {none;};

61 };

 

wq 로 저장하고 종료한다.

#named-checkconf /etc/named.conf       //틀린 오류 찾아줌

아무것도 안뜬다면 오류가 없다는 뜻이다.

 

 

#cd /var/named/

#ls

 

khsec.edu.zone 이름의 파일을 여기서 만들어줘야 한다.

여기에는 named.empty 라는 샘플 파일이 있다.

이 파일을 복사해서 적어주면 된다.

 

#cp named.empty khsec.edu.zone

#vi khsec.edu.zone

 

:set nu 로 vi 행번호를 출력해준다.

 

2행에서 SOA 는 관리 권한의 시작을 의미한다. 보통 이 DNS를 누가 관리하는지 관리자, 도메인 이름 형태로 쓴다.

rname.invalid. 을 지우고 root. 으로 써준다.

 

8행의 NS 는 네임 서버이다.

9행의 루프백 ip를 자기 서버 주소를 적어준다.

9행 밑에 MX        10      mail.khsec.edu. 를 추가시켜준다.

MX는 메일교환기라는 뜻이다. 만약 MX가 없다면 이메일을 보낼 수 없다.

 

13행부터 내용을 추가해준다.

 

13 www     A       192.168.XXX.XXX

14 mail    A       192.168.XXX.XXX

15 ftp     A       192.168.XXX.XXX

16 webmail A       192.168.XXX.XXX

 

:wq 로 저장하고 나와준다.

 

#ls -al

만들어준 khsec.edu.zone 권한이 root root 이다.

dns는 프로그램 권한으로 동작을 해야하기 때문에 그룹 권환을 바꿔준다.

 

#chown :named khsec.edu.zone

 

#ls -al

root named로 바뀐것을 확인 해준다.

 

#named-checkzone khsec.edu khsec.edu.zone

오류를 확인해준다. OK 가 뜨면 정상이라는 뜻이다.

 

설정 파일을 바꿨기 때문에 서비스 재시작을 해줘야 한다.

#systemctl restart named

 

 

방화벽 정책 설정

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

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

#firewall-cmd --reload

 

 

동작 테스트

Windows 에서 cmd 실행해준다.

nslookup 을 쳐준다.

server 본인dns서버ip

 

www.khsec.edu

ftp.khsec.edu

mail.khsec.edu

 

위에 내용을 입력하면 Adress에 zone 파일에 설정된 내용이 나온다.

반응형

+ Recent posts