본문 바로가기

OS-서버/윈도우

윈도우 E-Mail 서버 구축하기

반응형

 

ி E-Mail 프로토콜

 
이메일 송수신을 위해 사용되는 기본적인 프로토콜은 세 가지가 있다.
SMTP,POP3,IMAP

SMTP는 사용자들끼리 이메일을 보내거나 메일 서버와 서로 이메일을 주고 받을때 사용한다.
POP3는 이메일 서버에 도착한 메일을 사용자가 가져올 때 사용한다.
IMAP은 POP3의 역할과 같은데 조금 더 대규모 회사에서 쓰인다.

이메일을 주고받기 위해서는 메일 클라이언트 프로그램이 필요한데
대표적으로 유료 버전인 MS의 아웃룩과 무료 버전인 선더버드(Thunderbird) 등이 있다.
메일 클라이언트 프로그램 SMTP와 POP3/IMAP 프로토콜을 사용한다.
이메일을 주고 받을때 어떤 과정을 거치는지 아래 사진으로 알아보겠다.

 

순서 번호를 매겨서 동작 과정을 단순화하여 설명하겠다.

jdh5202@daum.net이 lynx125@naver.com으로 메일을 보내려고 한다.
이때 jdh5202가 우편을 작성하고 메일을 보내는 순간 SMTP 프로토콜을 사용한다.
daum.net 이메일 서버는 jdh5202에게 받은 메일을
인터넷을 통해 naver.com 메일 서버로 보낸다.
lynx125@naver.com은 naver.com 서버에
도착한 이메일을 가져오기 위해서 POP3 또는 IMAP 프로토콜을 사용한다.
여기서 DNS 서버는 각 메일 계정이 어떤 IP인지 알려주는 역할을 한다.
메일 계정은 사용자가 보기 편하라고 만든 것이고 컴퓨터가 알아먹는 IP로 변환해야
비로소 보내지는 것이다. 메일 계정 대신에 IP를 입력해도 메일을 전송할 수는 있다.




ி VMware 실습

 
이제 어느 정도 개념을 알았으니 VMware에서 이메일 서버를 구축해볼 것이다.
VMware의 실습 환경 구성은 아래와 같다.

DNS 서버와 메일 서버를 나누고 싶지만, 가상 머신을 과도하게 사용하면
너무 많은 컴퓨터의 자원을 활용하기 때문에 PC의 속도가 매우 느려진다.
따라서 First 다음 메일 서버인 동시에 DNS 역할을 하도록 설정한다.
그리고 두 PC 간에 메일을 주고받기 위해 메일 서버 두 대와 PC를 두 대 설치해야 하는데
PC 자원의 낭비를 고려하여 차라리 Second 메일 서버겸
PC(lynx125@naver.com)
로 사용하여 총 세 대의 머신으로 메일 서버 구축을 진행하겠다.

실습 목표는 Third(jdh5202@daum.net) Second(lynx125@naver.com)
서로 메일을 주고받을 수 있도록 설정하는 것이다.
저 두 계정은 집이나 회사에서 이메일을 쓰는 일반 사용자라고 가정한다.
naver나 daum처럼 이미 있는 도메인을 사용해도 문제없는 이유는
VMware에서 설정했던 도메인은 가상 네트워크라서 그 안에서만 유효하기 때문이다.


이제 실습을 위해서 윈도 ISO 파일을 다운받자.
https://www.microsoft.com/ko-kr/evalcenter/evaluate-windows-server-2016/
필자는 윈도 서버 2016에 데이터 센터 버전을 사용하였다.
Third는 서버 기능을 사용하지 않으니 윈도우 10을 설치해도 상관없다.

윈도 설치가 완료됐다면 First에 DNS 서버를 설치한다.
(Mail 서버를 쓰려면 DNS는 필수다)


1단계 First 서버 작업

 

1-1 DNS 서버 설치

서버 관리자 > 관리 > 역할 및 기능 추가 >
서버 역할 > DNS Server 체크하고 설치 진행하면 된다.

1-2 메일 서버 DNS 설정


1-2-1 DNS 관리자 접속

서버 관리자 메뉴 > 도구 > DNS 실행

1-2-2 정방향 조회 영역 추가

정방향 조회 영역(도메인을 IP로 변환)에 새 영역을 두 개 추가해준다.
영역 이름은 각각 daum.net과 naver.com으로 설정하였다.



1-2-3 새 호스트 생성

정방향 조회 영역 > 설정한 도메인에 우클릭 > 새 호스트(A 또는 AAAA)

저 사진에는 정방향 조회 영역에 naver.com이 없는데 

필자가 캡처 후에 도메인을 추가 해줘서 안보이는 것이니 절대 생략하는 부분이 아니라는 것을 참고하자.

daum.net은 새 호스트의 이름을 mail로 주고 IP 주소를 자기 자신(first ip)으로 부여한다. 

naver.com의 IP는 Second 주소인 192.168.111.20으로 부여한다.

1-2-4 MX(메일 교환기) 생성

사진 1-2-3에서 ② 새 MX(메일 교환기)를 선택한다.


찾아보기를 선택한 후 아까 1-2-3에서 만들어 놓았던 mail을 선택하고 확인한다.

 


완성된 내용은 저 사진과 동일하다.


1-2-5 네트워크 설정

 

First, Second, Third에 모두 해당하는 내용으로서 

네트워크 설정을 아래와 같이 통일 시켜준다.

DNS 서버를 First로 사용하므로 다음 DNS 서버 주소를 First의 IP주소로 설정하였다. 




1-2-6 호스트 IP 설정 확인


192.168.111.10을 daum.net, 
192.168.111.20을 naver.com으로 잘 설정하였는지 확인한다.
그리고 cmd 창에서 nslookup을 하여 도메인 조회가 잘 되는지 알아보자.



1-3 메일 서비스 포트 허용

실습할 때는 POP3 프로토콜을 사용할 것이므로
SMTP(25번), POP3(110번) 프로토콜을 방화벽에 인바운드 규칙에서 포트를 허용해준다.


1-4 메일 서버 설치



1-4-1 메일 서버 설치

메일 서버를 설치하기 위해서 닷넷 프레임 워크가 필요하므로
서버 관리자에서 .Net Framework 3.5 버전을 설치한다.

이제 무료 메일 서버 프로그램인 hMailServer를 설치하여
daum 메일 서버를 만든 후 서버에 daum 메일 계정을 추가해줄 것이다. 


https://www.hmailserver.com/download에서 내려 받고 설치를 시작한다.

설치는 기본 값으로 쭉 진행하면서
db type을 선택하는 부분과 패스워드 설정만 잘 신경 쓰자.


[Select database server type]에서 첫 번째 옵션을 선택하고
지정한 패스워드는 메일 서버를 접속할 때 필요하므로 꼭 기억해 두어야 한다.

닷넷 프레임워크를 설치하지 않고 hMailServer를 설치하면 연결하는 과정에서
DB connection 오류가 발생할 수 있다. 그런 경우 닷넷 프레임 워크를 설치하고
hMailServer를 제어판에서 제거한다.
추가로 Program Files 폴더에 남아있는 hMailServer 폴더까지 모두 삭제해야 한다.
그리고 다시 설치하면 문제없이 잘 연결될 것이다.

1-4-2 메일 계정 추가



① hMailServer를 실행하여 Connect 버튼을 누르고
설치 과정에서 입력했던 패스워드를 입력한다. 

② 그 후 좌측 메뉴에서 [Domains]에 우클릭하고 [Add]를 클릭한다.
도메인 daum.net을 입력하고 우측 하단에 Save 버튼을 누른다.


daum.net을 더블 클릭하면 [Account]라는 항목이 나온다.
해당 항목에 우클릭 하여 [Add]를 클릭한다.
그리고 추가할 메일 계정(jdh5202)을 입력하고 패스워드를 지정해준 후
Save 한다.

 

 

2단계 Second 서버 작업

 

2-1 환경 설정

1-2-5부터 1-4-2 과정을 똑같이 따라서 진행해준다.
Second 서버 도메인은 naver.com을 사용할 것이므로 설정에 유의해야 한다.



2-2 메일 클라이언트 프로그램 설치

이메일을 주고받을 수 있는 프로그램인 선더버드를 설치한다.
https://www.thunderbird.net/ko/에서 선더버드를 다운받고 설치는 계속 다음 버튼을 눌러 진행한다.



2-3 메일 서버 접속

선더버드를 열여서 [계정 설정]에 [메일]을 누른다.
그리고 고급 설정으로 가서 계정 정보들을 입력한다.


송신 서버는 POP3로 지정하고 포트 번호는 POP3,SMTP 각각 110,25로 설정한다. 

설정을 다 끝내고 테스트를 누르면 지정된 서버를 찾았다고 뜰 것이다.
이제 확인을 눌러서 해당 메일 계정으로 daum.net 메일 서버에 접속한다.
사진의 ④는 Third에서 naver.com으로 접속하는 방법이다.

이때 계정 설정을 찾을 수 없거나 로그인할 수 없다고 뜬다면?

hMailServer 프로그램이 켜져 있어야 선더버드가 메일 계정을 가져올 수 있다.
메일 서버가 꺼져 있지 않은지 점검해본다.
hMailServer에서 로그인 3회 실패 시 접속을 제한하는 Autoban 기능을
해제하지 않았다면 여러 번 접속 시도하다가 메일 계정이 잠겼을 가능성이 있다.

이럴 때 IP range에서 해당 계정의 잠금을 풀어주면 된다.
hMailServer에서 메일 계정의 패스워드를 따로 설정하지 않았을 때
접속이 안될 수 있으니 암호를 꼭 넣어준다.


3단계 Third 클라이언트 작업

 

3-1 메일 서버 접속

Third는 2-3과 똑같이 선더버드를 설치한 후
lynx125@naver.com 계정으로 naver 메일 서버에 접속한다.


ி 테스트

 
두 계정에서 자기 자신에게 메일을 먼저 보내어 잘 도착하는지 확인한다.

그리고 두 계정끼리 메일을 주고받아보도록 한다.
첨부 파일도 보낼 수 있는데 기본 설정은 20MB까지 가능하다.
보낼 수 있는 최대 용량은 hMailServer에서 설정할 수 있다.
그리고 저장소가 꽉 찼다는 메시지가 오류성으로 반복해서 뜬다면
메일 클라이언트 프로그램으로 저장된 메일 로컬 캐시를 지워본다.

 

반응형