반응형

이번에는 리눅스 Ubuntu18.04 환경에서 DNS 서버를 구축하는 방법을 알아보도록 하겠습니다.

 

아래 링크들을 보시고 오시면 이해가 더 잘 됩니다!

 

https://jung-story.tistory.com/52

 

Linux (Ubuntu18.04 웹서버 or XE 개념 및 사용방법)

이번에는 리눅스의 XE를 활용하여 웹서버를 구축하고 사용해 보도록 하겠습니다. . . . APM 개요 리눅스를 가장 많이 활용하는 분야 중에 하나가 바로 웹(Web) 서버입니다. 가장 안정적이고 유명한 Apache 웹 서버..

jung-story.tistory.com

 

 

DNS 서버 란?

네임 서버 = DNS(Domain Name System) 서버입니다.

 
도메인 이름을 IP 주소로 변환시켜 주는 역할 = 이름 해석(Name Resolution) 
 

 

 

.

.

.

 

 

1. 가장 초기의 네트워크 접속 방법!

(컴퓨터가 몇 대 없음)

(사용자가 모두 외워서 직접 IP주소로 접근했음.

 예) www.nate.com → 120.50.131.112 

 

 

2. hosts 파일을 이용하여 네트워크 접속

(인터넷에 연결된 컴퓨터가 늘어남에 따라 hosts 파일에 URL과 IP주소를 기록해 놓는 방식 사용)

예) 예) 102.54.94.97 rhino.acme.com
    38.25.63.10 x.acme.com
    127.0.0.1 localhost
    ::1 localhost

 

Windows hosts 파일 경로 

C:\Windows\system32\drivers\etc\hosts

 

리눅스 hosts 파일 경로

/etc/hosts

 

리눅스 /etc/hosts 파일의 작동을 이해하기 위해 /etc/hosts 파일을 수정해 보겠습니다.

 

www.nate.com 을 연세대학교 아이피에 맞춰놓았습니다.

 그리고 firefox에서 www.nate.com을 을 입력하시면 165.132.13.38의 주소로 찾아갑니다!

만약 제대로 된 DNS주소를 입력했는데 자꾸 다른 곳으로 이동된다면 /etc/hosts 파일을 확인해 봐야 합니다. (지역 DNS)

 

 

 

 

3. 네임 서버를 이용하여 네트워크 접속

가하 급수적으로 늘어나는 네트워크 상의 컴퓨터에 대한 모든 IP 정보를 파일 하나에 기록하는 것은 현실적으로 어렵게 되었습니다.

그래서 이름 해석을 전문적으로 해 주는 서버 컴퓨터가 필요해졌습니다=(DNS 서버 = 네임 서버)

전화 안내 서비스인 114와 같은 역할입니다.

군대에서 교환대 같은 거와도 비슷한 역할을 합니다.

 

네임 서버는 인터넷에서 변화하는 모든 컴퓨터의 URL과 IP 정보를 거의 실시간으로 제공하므로, 사용자는 더 이상 URL에 해당하는 IP주소를 신경 쓸 필요가 없어졌습니다.

 

URL만 알고 있으면 어디서든지 해당하는 컴퓨터에 접속할 수 있게 된 것입니다.

 

그렇다면 네임서버의 IP가 들어있는 곳은?

/etc/resolv.conf 파일에 네임서버의 IP가 들어있습니다.

주석 처리하면 네임서버가 작동하지 않습니다

 

.

.

.

 

 

 

IP 주소를 얻는 내부 Stream

 

 

 

도메인 이름 체계

초창기 인터넷에서는 1대의 네임 서버만으로도 충분히 IP주소와 이름의 관리가 가능했습니다.

하지만 인터넷이 폭발적으로 확장되면서, 몇 대의 네임 서버로는 실시간으로 인터넷 상의 수많은 컴퓨터들을 관리할 수가 없게 되었습니다. 그래서 트리 구조와 같은 도메인 이름 체계를 고안했습니다.

 

 

로컬 네임 서버가 작동하는 순서

PC가 사용하는 네임 서버가 /etc/resolv.conf 파일에 "nameserverIP 주소"로 설정되어 있는데, 이 네임 서버를 로컬 네임 서버라고 부릅니다. 그래서 www.nate.com의 의 IP주소를 요구하면 이 로컬 네임 서버에 질문을 합니다.

/etc/resolv.conf 파일

 

로컬 네임 서버는 모든 컴퓨터의 도메인 이름을 관리할 수는 없기 때문에 그림과 같이 작동하게 됩니다.

로컬 서버가 작동하는 순서

 

.

.

.

 

 

캐싱 전용 네임 서버

PC에서 URL로 IP주소를 얻고자 할 때, 해당하는 URL의 IP주소를 알려주는 네임 서버를 말합니다.

 

캐싱 서버 흐름도

캐싱 전용 네임 서버 구축

 

1. 패키지 설치

 

 

 

 

 

 

 

 

 

 

 

2. /etc/bind/named.conf.options 파일 수정

 

 

 

 

 

 

 

 

 

 

 

 

3. 방화벽 허용 (53번 포트 tcp/udp 둘 다)

 

 

 

 

 

 

 

 

 

 

 

 

4. 서버 실행

 

 

 

 

 

 

 

 

 

 

 

 

5. nslookup으로 테스트

각 DNS에 대한 IP를 잘 가져옵니다.

 

 

.

.

.

 

 

 

 

마스터 네임 서버

(도메인에 속해 있는 컴퓨터들의 이름을 관리하고, 외부에 해당 컴퓨터의 IP주소를 알려주는 역할)

 

마스터 네임 서버 흐름도

 

마스터 네임 서버 구축

 

1. 파일 설정 (/etc/bind/named.conf)

제일 마지막에 내용 추가

 

 

 

 

 

 

2. named-checkconf를 입력해 이상이 없는지 체크한다.

 

 

 

 

 

 

 

 

 

3. /etc/bind/aaa.com.db 파일을 생성한다.

/etc/bind/aaa.com.db

여기서 위에 있는 10.0.2.15는 현재 Linux PC IP이며

아래에 있는 10.0.2.15는 웹서버 구축 PC IP인데 우리는 하나의 네트워크에서 둘 다 구성하므로

이렇게 설정해 주었습니다.

 

 

 

 

 

 

 

 

 

4. named-checkzone aaa.com aaa.com.db로 체크를 합니다

/etc/bind/named.conf 파일과  /etc/bind/aaa.com.db파일의 설정을 확인합니다.

이렇게 나오면 이상이 없다는 것! 

 

 

 

 

 

 

 

 

 

5. 아파치 서버의 기본 html 파일을 수정합니다.

/var/www/html/index.html

index.html

 

 

6. 네임 서버 재시작과 웹서버 시작

 

7. DNS 서버 변경

 

 

8. 기본 서버를 10.0.2.15로 변경

 

9. Firefox에서 aaa.com을 입력하면 aaa.com 이미 실제로 사용하는 도메인 이므로;;

/etc/bind/named.conf 파일에서 aaa.com 을 jsh.com으로 바꾸어주고 

Firefox에서 jsh.com을 입력합니다.

이렇게 나오면 성공입니다!

 

 

 

.

.

.

 

 

 

 

이렇게 DNS 서버의 종류와 각각의 다 구축해 보고 테스트해보았습니다.

 

 

 

참고 : http://cafe.naver.com/thisisLinux

반응형

+ Recent posts