카테고리 없음2013. 6. 20. 10:38

 

09-5. 네임 서버 설치 및 운영

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

 

 

대형 웹사이트에서 웹 서버를 운영할 때, 동시에 수백, 수천이나 그 이상의 접속이 있을 것이다.

그래서 대형 웹 사이트에서는 1대의 웹 서버만을 운영하지 않을 것이다.

아마도 여러 대의 웹 서버를 운영해서, 웹 클라이언트가 서비스를 요청할 경우에 교대로 서비스를 실시하게 될 것이다.

그렇게 되면 웹 서버의 부하를 공평하게 여러 대가 나눌 수 있다.

이러한 방식을 라운드 로빈(Round Robin) 방식이라고 부른다.

 

 

예를 들어, www.john.com에 해당하는 웹 서버를 3대 운영한다고 가정하자.

각각의 IP가 1.1.1.1, 1.1.1.2, 1.1.1.3이라면 외부의 사용자는 결국 john.com 네임 서버에 www.john.com의 IP주소를 질의하게 될 것이다.

이때, john.com 네임 서버는 물어오는 순서대로 1.1.1.1, 1.1.1.2, 1.1.1.3을 차례로 알려주면 된다.

그렇게 되면 3대의 웹 서버에 부하가 공평하게  나눠지는 것이다.

 

 

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

 

 

호스트OS의 명령 프롬프트에서 다음과 같이 입력을 하면, 다음(DAUM)과 같은 웹 사이트도

여러 대의 웹 서버를 운영하는 것을 확인해 볼 수 있다.

 

 

 

[Daum에서 운영하는 웹 서버들]

 

 

이번 실습을 위해서는 여러 대의 웹 서버를 설치해서 운영해야 한다.

그러기에는 우리의 환경이 여의치 않을 것이므로, 이미 인터넷에 구현된 다른 웹 사이트를

우리가 구현한 웹 서버라고 간주하고 실습을 진행하도록 하자.

그렇게 하면 라운드 로빈 방식이 더욱 확실히 눈에 보일 것이다.

 

즉, A, B, C 세 개의 웹 사이트를 www.john.com으로 접속할 때 차례로 보여주는 방식으로 하자.

잘 이해가 가지 않아도 걱정하지 말자. 실습을 따라 하면 쉽게 이해가 갈 것이다.

 

 

 

[실습]

라운드 로빈 방식의 네임 서버를 구현하자.

 

 

0.

 

앞 <실습 3>을 이어서 한다.

 

 

 

 

1. [ Fedora Server ]

 

Fedora Server를 라운드 로빈 방식의 네임 서버로 설정하자.

 

 

1-1 기존에 구축된 웹 서버의 IP를 몇 개 확인해 보도록 하자.

이번 예에서는 www.yes24.com, www.danawa.com, www.nate.com 세 개의 IP를 확인하겠다.

(접속이 되는 거라면 아무 웹 사이트의 IP주소를 지정해도 관계없다)

 

[기존 웹 서버의 IP주소 확인]

 

 

이렇게 확인한 3개의 IP주소(61.111.13.51, 119.205.194.11, 211.234.241.164)를 

[라운드 로빈 방식의 네임 서버]의 그림에 나온 www.john.com의 3대 웹 서버로 가정하자.

 

 

1-2 에디터로 /var/named/chroot/var/named/john.com.db를 다음과 같이 수정하고,

저장한 후 닫는다.

(기존에 있던 'www IN A 192.168.100.111' 행은 삭제하였고,

'werserver.john.com'의 제일 뒤에 "."이 있는 것에 주의하자)

 



[라운드 로빈 설정]

 

 

1-3 변경 사항을 적용하기 위해서 "service named restart" 명령으로 네임 서버를 재가동한다.

 

 

 

 [service named restart]

 

 

1-4 "nslookup" 명령으로 확인해 본다.

 

[라운드 로빈 설정 확인]

 

 

 

 

2. [ Fedora Client ]

 

외부에서 라운드 로빈의 작동을 테스트한다.

 

 

2-0 Fedora Client를 선택하고, VMware 메뉴의

[VM] -> [Snapshot] -> [클라이언트 설정완료]를 선택해서 초기화한다.

(초기화하지 않으면 기존의 정보가 캐시에 남아서 잘 작동하지 않을 수도 있다)

 

부팅하고, root 사용자 말고 본인이 만든 일반 사용자로 접속한 후 터미널을 연다.

(나는 master 사용자를 만들었다)

 

 

2-1 "su -c 'vi /etc/resolv.conf' "명령으로 네임 서버를

Fedora Server인 '192.168.xxx.111'으로 변경한 후 저장하고 닫는다.

 



 [/etc/resolv.conf 파일의 네임 서버 변경]

 

 

2-2 웹 브라우저를 열어서, www.john.com에 접속해 본다.

또, 웹 브라우저를 닫고 다시 실행해서 www.john.com에 접속해 본다.

이렇게 반복하면 3개의 사이트가 계속 돌아가면서 나타날 것이다.

  





[라운드 로빈의 작동 확인]

 

 

지금은 확인을 위해서 www.john.com에 접속했을 때

3가지 다른 사이트로 접속되는 것을 해 보았지만,

실제는 웹 서버의 IP가 다를 뿐 www.john.com에 접속하면

당연히 모두 같은 웹 페이지가 나와야만 한다.

 

Posted by 아이맥스

댓글을 달아 주세요

카테고리 없음2013. 6. 20. 10:35

09-6. 네임 서버 설치 및 운영

     - GUI 툴을 이용한 네임 서버 설정



 

페도라는 X 윈도우 환경에서 네임 서버를 좀 더 쉽게 설정하기 위해서 'system-config-bind'

유틸리티를 제공한다.

실습을 하면서 이해해 보도록 하자.

 

 

 

[실습]

GUI 툴을 이용해서 dangtang.com 마스터 네임 서버를 구현하자.

 

 

 

 

 

0.

Fedora Server를 사용한다.

앞 실습에 이어서 한다.

(스냅샷을 '네임 서버 설치'로 돌려 놓아도 관계없다)

 

 

 

 

 

1. [ Fedora Server ]

 

 "system-config-bind" 명령을 사용하기 위해 패키지 'system-config-bind'를 설치하자.

 


[system-config-bind 패키지 설치]

 

 

 

 

 

2. [ Fedora Server ]

 

터미널에서 "system-config-bind" 명령을 실행해서 dangtang.com 네임 서버를 설정한다.

 

 

2-1 [BIND 설정 GUI] 창에서 'DNS 서버' 를 선택한 후 마우스 오른쪽 버튼을 클릭하고

[추가] -> [Zone]을 선택한다.

 

 

[Zone 생성 1]

 

 

2-2 [새로운 영역]창에서, 'Class' 아래의 <확인>을 클릭한다.

그리고 다시 'Origin 유형' 아래의 <확인>을 클릭한다.

'IN' 부분에 "dangtang.com." (뒤에 .을 꼭 입력)을 입력한 후 <확인>을 클릭한다.

 

[Zone 생성 2]

 

 

2-3 '권한이 있는(Authoritative) 이름 서버'에 "ns"라고만 입력하고 [Tab]을 클릭하면

자동으로 "ns.dangtang.com."이 완성된다.

 

또한, '책임자 이메일 주소'에도 "root"만 입력하고 [Tab]을 클릭하면

자동으로 "root@dangtang.com."이 완성된다. 

나머지는 기본값으로 두고 <확인>을 클릭하자.

 

[Zone 생성 3]

※ ns.dangtang.com.에서 ns는 Name Server를 의미하는 네임 서버 컴퓨터의 이름이다.

 

 

2-4 dangtang.com이 설정된 것을 확인할 수 있다. 이번에는 MX 레코드를 추가하자.

dangtang.com을 선택한 후 마우스 오른쪽 버튼을 클릭하고

[Add] -> [MX 메일 교환기]를 선택한다.

 

 

[메일 서버 지정 1]

※ 여기서 MX에 설정할 컴퓨터는 메일 서버이다.

dangtang.com에 E-Maill이 오면 어느 컴퓨터가 그것을 처리할지를 결정하는 레코드이다.

 

 

2-5 '도메인명'은 기본값인 "dangtang.com."으로 두고, '우선순위'도 기본값인 "0"으로 둔다.

그리고 '메일 서버 이름'에 "mail.dangtang.com."을 입력하고 <확인>을 클릭한다.

 

 

[메일 서버 지정 2]

※ '우선순위(Priority)'는 메일 서버가 여러 개일 때 누가 먼저 메일을 처리할지

순서를 정하는 것이다.

그러므로 메일 서버가 3대라면 0, 1, 2 같은 순서로 줄 수 있다.

'메일 서버 이름'은 메일 서버로 사용할 컴퓨터의 이름을 입력하면 된다.

메일 서버 구축은 10장에서 해 볼 것이므로, 지금은 그냥 입력만 해 놓자.

 

 

2-6 다시 dangtang.com을 선택한 후 마우스 오른쪽 버튼을 클릭하고

[추가] -> [A IPv4 주소]를 선택한다.

 

 

[IP주소 추가]

 

[A IPv4 주소]창에서 '도메인명'을 "www.dangtang.com."으로 입력하고,

'IPv4 주소'는 웹 서버의 IP주소를 입력해 주면 된다.

(기존 Fedora Server를 www.dangtang.com 웹 서버로도 접근 가능하도록 설정하는 것이다)

 

 

[웹 서버의 주소 지정]

 

 

2-7 같은 방식으로 메일 서버인 "mail.dangtang.com."은 192.168.xxx.111을,

FTP 서버인 "ftp.dangtang.com."192.168.xxx.112

네임 서버인 "ns.dangtang.com."은 192.168.xxx.111을 입력하도록 하자.

 

 

2-8 모두 입력한 후 dangtang.com 앞의 ''를 클릭하면,

dangtang.com의 생성 결과를 확인할 수 있다.

 

 

[최종 결과]

 

 

2-9 저장 아이콘이나, 메뉴의 [파일] -> [저장]을 클릭해서 저장한다.

확인 메시지에서 <예>를 클릭하고, 종료한다.

 

 

 

3. [ Fedora Client ]

 

네임 서버가 잘 설정되었는지 확인한다.

 

 

3-0 앞 실습에서 /etc/resolv.conf는 Fedora Server의 IP주소로 설정해 놓았다.

 

 

3-1 nslookup 명령에서 "dangtang.com" 도메인이 잘 작동하는지 확인한다.

 

 

[dangtang.com 네임 서버의 작동 확인 1]

 

 

3-2 웹 브라우저로 www.dangtang.com에 접속해 본다.

 

 

[dangtang.com 네임 서버의 작동 확인 2]

 

 

 

 

4. [ Fedora Server ]

 

에디터로 /etc/named.conf 파일과 /var/named/chroot/var/named/dangtang.com.db 파일을 열어서 자동으로 생성된 내용을 확인해 보자.

 

 

[/etc/named.conf 파일의 확인]

 

 

[/var/named/chroot/var/named/dangtang.com.db 파일의 확인]

 

 

지금까지 네임 서버를 다양한 방법으로 구현해 보았다.

앞으로 사용될 네트워크 서버는 네임 서버와 같이 사용되어야만 그 가치가 있는 것이다.

예로 웹 서버를 구축했을 때, 웹 클라이언트 사용자에게 "http://192.168.xxx.xxx'와 같은 IP주소로 웹 서버를 접속하도록 알려줄 수는 없을 것이다.

 

http://www.dangtang.com/과 같은 URL로 접속하도록 알려줘야 한다.

그러기 위해서는 네임 서버의 설정(특히 정방향 영역)이 반드시 선행되어야 하는 것이다.

 

Posted by 아이맥스

댓글을 달아 주세요

카테고리 없음2013. 6. 20. 10:33

 

10. 메일 서버 설치 및 운영 - 기본 개념 

 

 

E-Mail의 송수신에서 사용되는 프로토콜은 3가지가 있다.

일단 용어만 눈에 익혀 두고 그림에서 각 프로토콜이 사용되는 용도를 살펴보자.

 

- SMTP(Simple Mail Transfer Protocol) : 클라이언트가 메일을 보내거나,

                                                        메일 서버끼리 메일을 주고 받을 때

- POP3(Post Office Protocol) : 메일 서버에 도착되어 있는 메일을 클라이언트로 가져올 때

- IMAP(Internet Mail Access Protocol) : POP3와 같음

 

 

● E-Mail 서버의 작동 원리

E-Mail 서버의 작동 원리를 단순하게 하면 아래의 그림과 같다.

[E-Mail 서버의 작동 개념]

 

 

위의 그림은 아주 단순하지만, E-Mail이 전송되는 원리가 잘 표현되어 있다.

우선, 사용자는 kim이라는 이름의 사람이고, daum.net이라는 메일 서버에 계정이 있다.

 

즉, kim@daum.net이라는 계정을 가지고 있다.

또, lee라는 사람은 lee@naver.com이라는 메일 서버에 계정을 가지고 있다.

 

 

이제 kim이 lee에게 메일을 보내고 받는 과정을 살펴보자.

 

① kim이 PC1에서 메일클라이언트 프로그램(Outlook Express 등)을 실행해서,

    daum.net에 접속한다. '편지쓰기'를 클릭해서 [받는이]란에 'lee@naver.com'이라고 쓰고,

    내용을 채운 후에 <보내기>를 클릭해서 메일을 보낸다. (이때는 SMTP 프로토콜이 이용된다)

 

② 메일 서버1(daum.net)은 kim이 보낸 메일을 잠시 임시 장소에 보관한다.

    시간의 여유가 생겼을 ‹š, 메일 서버1은 kim이 보낼 메일의 수신자 주소인 naver.com

    메일 서버 IP주소를 네임 서버에게 문의하여 알아온다.

 

③ 메일 서버1은 메일을 인터넷을 통해서 메일 서버2(naver.com)에게 전송한다.

    (이 때도 SMTP 프로토콜이 이용된다)

 

④ 메일 서버2(naver.com)는 메일 서버1(daum.net)로부터 받은 메일의 수신자 이름을 확인한다.

    lee라는 수신자 이름이 자신이 관리하는 계정 중에 있는지 확인한다.

    lee라는 이름이 자신의 계정 중에 있다면 lee의 메일박스에 kim에게서 받은 메일을 넣어 둔다.

 

⑤ lee는 PC2에서 메일 클라이언트 프로그램을 실행해서, 자신의 메일 서버인 naver.com에

    접속한다. 접속 후에 자신의 메일박스에 도착된 편지들을 PC2로 내린다.

    (이 때는 POP3/IMAP 프로토콜이 사용된다) kim으로부터 온 메일을 읽는다.

 

인터넷 상에서 메일을 주고 받을 때 움직이는 원리를 단순하게 하여 살펴 보았다.

 

 

● 센드메일 서버의 작동원리

아래의 그림은 메일이 전송되는 과정을 우리가 구현할 센드메일(Sendmail) 서버의 입장에서

내부적으로 좀 더 자세히 표현한 것이다.

 

[센드메일 서버의 자세한 작동원리]

 

 

① 메일 클라이언트1은 SMTP 프로토콜을 이용해서, 메일 서버1의 센드메일 데몬에게 메일을

    보내달라고 요청한다.

 

② 센드메일 데몬은 메일을 '메일 큐'에 넣어 놓는다. (이 파일은 /var/spool/mqueue이다)

 

③ 센드메일 데몬은 시간이 되면 MDA에게 메일을 보내달라고 요청한다.

 

④, ⑤ MDA는 SMTP 프로토콜을 이용해서 메일 서버2의 센드메일 데몬에게 메일을 전송한다.

 

⑥, ⑦ 메일 서버2의 센드메일 데몬은 받은 메일을 MDA를 통해서 사용자의 메일 박스에 넣어 놓는다.

 

⑧ 메일 클라이언트2는 메일 서버2의 dovecot 데몬에게 자신의 메일을 달라고 요청한다.

 

⑨, ⑩ dovecot 데몬은 메일 박스에서 메일 클라이언트2의 메일을 POP3 또는 IMAP 프로토콜을

        이용해서 전송해 준다.

 

 

위와 같은 작동들이 Sendmail 서버를 이용해서 메일을 보내는 과정에서 발생하게 되는 것이다.

 

Posted by 아이맥스

댓글을 달아 주세요