최근 포토로그


리눅스공부-뇌자극[네임서버] 리눅스-Fedora

네임서버 개요


네임서버는 DNS서버라고도 하며 (Domain Name Server)우리가 웹브라우저나 FTP클라이언트를 사용할때 http://www.nate.com또는ftp://mirrors.kernel.org/등과 같은 URL 사용한다.

실제원하는 서버에 접근하려면 URL 해당 컴퓨터의 IP주소로 변환시켜야 하는데, 비로 일을 네임서버 또는 DNS서버라고 하는 컴퓨터가 담당한다.

 

전에는펜으로 적어 놓던 아이피 주소를 각자의 컴퓨터에 저장해놓는 방식을 생각해냈다. 이파일이 ‘Hosts’파일이다. 리눅스에서는 /etc/hosts 존재한다.

그런데어느정도의 규모에서는 hosts파일이 해결책이 될수있었는데 네트워크상의 컴퓨터가 기하급수적으로 늘어나면서 IP 모든정보를 하나하나 기록하는것은 무리가생겼었다.또한 아이피 주소가 바뀌면 사용자는 직접 자신의 hosts파일을 열어서 수정해야만 했었다. 


그래서 이름해석(name resolution)을 전문으로 해주는 서버 컴퓨터가 필요해졌고 이를 네임서버 또는 DNS서버라고 부르게 되었다.


네임서버의 확인

#nslookup

>server //현재 설정된 네임 서버의 IP주소 확인

>www.nate.com //네이트 웹서버의 IP주소확인


리눅스에서 네임서버를 수정할때는


#cat /etc/resolv.conf //를 입력해 네임서버가 설정된 파일을 확인하자.

여기서 nameserver [IP주소]  가 설정된 부분을 주석처리하면 도메인이름으로 접속은 안되지만 IP주소로 접속하면 접속은 될것이다.



이번에는 hosts파일을 활용해서 접속을해보자.

#vi /etc/hosts 


마지막에 211.234.241.204 www.nate.com 을 입력해서 웹사이트의 IP주소를 추가하자.

그럼 브라우저로 www.nate.com의 사이트를 열면 잘 작동될것이다.

주소창에 URL을 입력했을때, 웹브라우저는 /etc/resolv.conf 파일에 적혀있는 nameserver를 통해 IP주소를 얻기전에 /etc/hosts파일을 조사하고 해당하는 URL주소와 IP정보가 있는지 확인한다는 것을 알수있다.

hosts파일을 수정할때 IP주소와 도메인이름을 mismatch시키면 다른 주소로 접속된다.



캐싱전용네임서버(Caching-only Nameserver)


캐싱전용 네임서버는 컴퓨터에서URL로 IP주소를 얻고자 할때, 해당하는 URL의 IP주소를 알려주는 네임서버를 말한다.


실습

Server에서 네임서버 구축한후에, Client에서 Server를 네임서버로 사용하자.


Server]#yum -y install bind bind-chroot //네임서버와 관련된 패키지 설치.

Server]#vi /etc/named.conf


11행 : listen-on port 53 { 127.0.0.1; }  -> listen-on port 53 { any; } ; //네임서버에 접속이 허용된 컴퓨터 IP의 주소

12행 : listen-on-v6 port 53 { ::1 ; }; -> listen-on-v6 port 53 { none; };

17행 : allow-query {localhost}; -> allow-query { any; };


vmware가 사용하는 가상머신의 네트워크주소에 있는 모든 컴퓨터가 네임서버를 사용할수 있게 수정함.


그후,

systemctl restart named //재시작

systemctl status named //서버상태 확인

systemctl enable named //네임서버 상시 가동

명령어입력.


Server]#firewall-config //입력후에  DNS서버를 열어줌.

Server]#nslookup

>server 테스트할IP //여기서는 우리가 구축한 192.168.111.100 (서버의 IP주소)

>조회할URL //여기에서는 www.nate.com입력




그다음에 Client로 넘어와서 Server에서 구축한 네임서버를 사용해보자.

Client]#nslookup

>server ServerIP //네임서버를 우리가 구축한 192.168.111.100

>www.nate.com //네임서버가 잘작동하는것을 확인


네임서버가 잘 작동하는 것을 확인했으니 vi 에디터로 네임서버를 고정해서 사용.

Client]#gedit /etc/resolv.conf

nameserver 192.168.111.100 으로 수정한다.

그후에 브라우저로 아무 웹사이트나 접속해서 잘 동작하는지 확인한다.


마스터 네임서버(Master Nameserver)

마스터 네임서버는 john.com과 같은 도메인에 속해 있는 컴퓨터들의 이름을 관리하고, 외부에서 www.john.com이나 ftp.john.com등의 컴퓨터 IP주소를 알기 원할때 해당컴퓨터의 IP주소를 알려주는 네임서버를 말한다.


실습

Server에서 john.com의 마스터 네임서버를 설치하고 운영해보자.


Server]#rpm -qa httpd //웹서버가 설치되었는지 확인. 안되있을시에는 yum -y install httpd를 입력해 설치하고,

Server]#systemctl start httpd //웹서비스 시작.

Server]#firewall-config  //http 체크해서 허용시킨다.

Server]#vi /var/www/html/index.html

<h1>페도라 19 웹서버입니다 </h1>

:wq

초기 화면을 설정한다. 아주 간단한 웹서버가 구축되었다.


Server(B)에서 ftp를 설치하고 설정한다.

Server(B)]#yum -y install vsftpd

Server(B)]#firewall-cmd --add-service=ftp //텍스트 모드에서 firewall의 ftp 서비스허용명령어.

Server(B)]#cd /var/ftp/

Server(B)]#vi welcom.msg

####################

welcome!!Fedora 19 ftp server

####################

입력후에 저장후 닫기.


Server(B)]#vi /etc/vsftpd/vsftpd.conf 

제일위에

banner_file=/var/ftp/welcome.msg //를 추가후 저장후 닫는다.

Server(B)]#systemctl restart vsftpd


그후에 다시 Server로 넘어와서 john.com도메인에 대한 설정을 해준다.


Server]#vi /etc/named.conf

zone "john.com" IN {

type master; //마스터 네임서버는 master

file "john.com.db"; //options 의 directory에 생성될 "도메인 이름"의 상세설정파일.

allow-update { none; } ; //2차 네임서버의 주소. 생략하면 none으로 됨.

};


입력후에 저장.

Server]#named-checkconf //named.conf의 문법이 틀리지안았는지 확인.

Server]#vi /var/named/john.com.db

$TTL 3H

@ SOA @ root. (2 1D 1H 1W 1H )

IN NS @

IN A 192.168.111.100


www IN A 192.168.111.100

ftp IN A 192.168.111.200


TTL 3H://www.john.com의 호스트 이름을 질의했을때 네임서버가 해당IP주소를 캐시에 저장해놓는시간 3H는 3시간을의미한다.

@: /etc/named.conf에 정의된 john.com을 의미한다.

IN:클래스 이름으로 internet을 의미한다.

SOA:Start Of Authority 약자로 권한의 시작을 뜻함.

NS:Name Server의 약자로 설정된 도메인의 네임서버 역할을 하는 컴퓨터를 지정한다.

A:호스트 이름에 상응하는 IP주소를 지정한다.


Server]#systemtl restart named //네임서버 재시작.


그다음 클라이언트에 접속해보자.

Client]#cat /etc/resolv.conf 를 입력해서 네임서버가 192.168.111.100으로 되어있는 확인.

웹브라우저에서 www.john.com으로 접속해보자. 서버에서 만든 index.html홈페이지가 열림.


Client]#ftp ftp.john.com /ftp서버에 접속. (Server(B)에서 구축한 FTP서버에접속.)



라운드 로빈 방식의 네임서버

웹서버를 1대가 아니라 여러대의 웹섭를 운영해서, 웹클라이언트가 서비스 요청할때 교대로 서비스를 실행하는것.그러면 웹서버의 부하를 공평학 여러대가 나눌수 있어서 좀더 효울적으로 관리가능 이러한것을 라운드로빈(round robin)방식이라고 한다.


Server]#vi /var/named/john.com.db

www IN A 192.168.111.100 행은 삭제.

www IN CNAME webserver.john.com

webserver 100 IN A 61.111.13.51 (임의로 정한 yes24.com의 주소)

200 IN A 119.205.194.11 (임의로 정한 danawa의 주소)

300 IN A 211.234.241.228 (임의로 정한 nate의 주소)

Server]#systemctl restart named를 입력해 재시작.


그다음 Client의 브라우저에서 www.john.com을 입력하면

yes24와 danawa,nate의 주소가번갈아가면서 뜬다. (라운드 로빈방식)



덧글

댓글 입력 영역


통계 위젯 (화이트)

02
17
6067

구글애널리틱스