-
DNS ( Domain Name Server / Service )
port 53 ( 데몬 : named )
네트워크 IP로 통신하는 번거로움을 Domain Name으로 바꿔서 사용할 수 있는 서비스를 하는 서버를 뜻한다.
Domain name Server는 트리형태로 되어있어서 최상위 (.)서버부터 맨 뒷 DNS로 이루어져 있다.
또한 DNS서버는 최초접속시 도메인이름과 IP를 매칭시킨 값을 파일에 저장시키고 다음부터 파일을 먼저 참조하게 되며
파일에 작성된 도메인은 DNS를 접속하지않고 바로 IP로 매칭해서 서버에 접속할 수 있다.
이 파일을 악용한게 [ 파밍 ] 이다. ( 파밍 : 도메인을 속여 상대방의 회원정보를 탈취 )
#naver 찾아갈때 경로
내 DNS(통신사) >> (.) DNS야 모르겠어
<< (.) com 찾아가바
내 DNS >> com.아 모르겠어
<< naver DNS가바
내 DNS >> naverDNS야 모르겠어
<< 아그거 내 main도메인이야 연결해줄께
#실습
Server( bind.x86_64 )
#>yum -y install bind.x86_64
#설정파일
DNS는 설정사항을 필수적으로 만들어야한다.
/etc/named.conf : DNS데몬
/etc/named.rfc1912.zone : 클라이언트 연결파일 ( 어떤 도메인을 연결할지 정한다. )
/var/named/*#>vi /etc/named.conf
13 listen-on port 53 { any; };
14 listen-on-v6 port 53 { any; };
19 allow-query { any; };
:wq
: 초기값은 localhost 나 자신으로 되어있으므로 클라이언트가 아무리 요청해도 서버가 요청한게 아니기에 동작하지 않는다.
따라서 any로 모두 변경한다 ( 라인넘버는 파일마다 다를 수 있다. )
#>vi /etc/named.rfc1912.zones
#>named-checkconf /etc/named.rfc1912.zones : 파일체크 아무것도 안뜨면 오타가 없다는 것이다.
맨아레에 zone ~ in 부분을 변경한다. : 등록할 도메인
type master : 모든것을 가지고 있다.
slave : 종속되어 있다.
file은 zone이름 .zone이라고 만들어준다.
allow-update : 실시간 update
#>cd /var/named
#>cp named.empty korea.com.zone #empty는 연습용파일 ( 비어있는 ) 아까 설정했는 파일이름으로 복사한다.
#>vi korea.com.zone
:wq
#>named-checkzone korea.com korea.com.zone
loaded serial 0 : (정상이라고 뜬것이다.)
#serial : zone 정보가 업데이트 되었는지를 슬레이브 네임서버에 전달하기 위해 사용 하는 숫자
#refresh : 슬레이브 네임서버가 얼마를 주기로 마스터서버에 접속해서 정보를 점검할지 결정하는 시간
#
#>chown .named korea.com.zone
#>systemctl restart named
SOA ( start of authority ) : 도메인정보를 담고있다 라고 선언
참고 : http://blog.missflash.com/534
$TTL(Time to live) : 도메인 서버 매칭시간 설정 ( 설정된 시간동안 다시물어보지않고 찾았던 결과를 던져준다. )
@ : 해당 도메인이름을 말한다.
ns.korea.com : 네임서버이름
root.korea.com. : root@korea.com (골뱅이는 맨앞과 충돌나므로 메일주소를 이렇게 입력! )
(
; 콜론은 주석으로 사용된다.
0 ; serial
zone 정보가 업데이트 되었는지를
슬레이브 네임서버에 전달하기 위해 사용 하는 숫자
1D ; refresh
슬레이브 네임서버가 얼마를 주기로 마스터 서버에
접속해서 정보를 점검할지 결정하는 시간
1H ; retry
슬레이브 네임서버에서 마스터 서버 접근 실패시
얼마나 후에 접근할지 결정하는 시간
1W ; expire
슬레이브 네임서버가 retry 를 얼마동안 허용할지
결정하는 시간
3H ) ; minimum
잘못된 호스트 정보를 저장할 시간)
korea.com DNS의 네임서버이름은 : ns.korea.com 하위도메인서버없음 자기자신이 서버, 네임서버, 웹서버로 동작한다.
NS <도메인 > : 네임서버의 도메인 설정 (공백은 자동으로 @로 자동으로 들어간다
A <도메인> : 해당 도메인의 IP주소를 지정한다. ( 서버로 동작할 ip )
@ NS <도메인>
@ A <도메인> 은 세트다
ns IN A : 네임서버 ( 도메인서버만 가지고 있음 )
www IN A : 웹서버 ( 웹서버만 가지고 있음 (host) )
: 설정끝 실행!
DNS 서비스 확인
DNS자동할당을 하면 위와같은 방법으로 DNS를 찾는다.
하지만 고정 DNS IP를 설정하면 바로 DNS를 찾아가는 번거로움을 줄일수 있다.
#windows
DNS 동작 확인 (window - cmd - nslookup)
(ns.korea.com은 현재 누가사용중이므로 ip로 서버를 변경하고 테스트한다.)
다 잘동작하는것을 알수있었다.
#window
바로 server로 접속할 수 있다.
( 실습후 다시 자동으로 DNS서버주소를 받아주시면 됩니다. )
DNS 위임
상위도메인은 하위도멘들의 대한 정보를 제공할 수 있다.예를들어 naver.com에는 카페, 메일, 블로그 들이 있다. 이 각각의 도메인들을 참조할때 naver.com 도메인을 참조하면
blog.naver.com cafe.naver.com mail.naver.com 들의 도멘인을 제공받을 수 있지만.
blog.naver.com를 직접참조하면 cafe.naver.com와 mail.naver.com 도메인을 제공받지 못한다.
#실습
1차 DNS : korea.com
#>vi /var/named/korea.com.zone
#맨아래에 입력
edu IN NS ns.edu.korea.com
ns.edu.korea.com IN A 100.100.100.129
:wq
#>cd /var/named
#>named-checkzone korea.com korea.com.zone
edu 네임서버의 도메인은 ns.edu.korea.com (edu네임서버는 www.edu.korea.com이 본 서버네임이다)
ns.edu.korea.com. 의 IP를 불러준다. ( 클라이언트로 사용하던 리눅스를 서버로 쓰자. )
파일체크
#100.100.100.129 ( 클라이언트였던 서버 )
#>yum install -y bind.x86_64
3가지 설정파일을 똑같이 변경한다
/etc/named.conf > 14 15 19 라인 { any; } 로 변경
/etc/named.rfc1912.zones > korea.com에서 도메인 위치를 말해줄것이기에 맨아래에 아래와 같이 추가 작성한다.
#맨아랫줄
zone "edu.korea.com" IN {
type master;
file "edu.korea.com.zone";
allow-update { none; };
};
:wq
#>named-checkconf /etc/named.rfc1912.zones
#>chown .named /var/named/edu.korea.com.zone
3번째 작성파일은 네임서버를 구분하기 위해 서버이름과 같은 파일로 만든다.
#>cd /var/named
#>cp named.empty edu.korea.com.zone
#>vi edu.korea.com.zone
$TTL 3H
@ IN SOA ns.edu.korea.com. root.edu.korea.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns.edu.korea.com.
IN A 100.100.100.129
ns IN A 100.100.100.129
www IN A 100.100.100.129
:wq
위와같이 변경후 최상위 도메인부터 데몬을 재시작합니다.
100.100.100.128#>systemctl restart named
100.100.100.129#>systemctl restart named
window > ctrl R(실행) > cmd > nslookup > 확인해본다.
Web(port 80 | httpd.x86_64 )
리눅스 - Apache
Windows - IIS
꼭 이것만 사용하라는 것이 아니라 OS마다 적합한 웹서비스가 있다.
>> 다음포스터에서 계속
'서버 > 리눅스' 카테고리의 다른 글
[리눅스] 방화벽 ( Firewalld ) (0) 2017.05.04 [리눅스] DNS설정 후 웹서버 (0) 2017.05.02 [리눅스] SSH(Secure Shell) (0) 2017.04.27 [리눅스] Telnet (0) 2017.04.26 [리눅스] xinetd ( 서비스관리 데몬 ) (0) 2017.04.26