Linux/실습 기록

[컴퓨터시스템관리] 2021.05.18 12주차 실습일지 - Mail Server

daeunnniii 2021. 5. 18. 22:33
728x90
반응형

실습과제 결과

1) 실습 과제: Server(b) 에 메일 서버를 추가로 구축하여, 이메일을 주고 받아 보자.

- 호스트 이름 / 메일 서버 주소 : mail.it.ac.kr

- 사용자 계정 : soo

 

2) 실습 과정 요약

- DNS Server 구축 후 확인

- hostname 변경

- soo 사용자 추가

 

3) 실습 과제 결과 영상

- soo@it.ac.kr이 peng@cs.ac.kr에게 "Hi My name is soo!" 내용의 메일을 보낸 뒤,

- peng@cs.ac.kr이 다시 soo@it.ac.kr로 "Hi My name is peng!" 내용의 메일을 보내는 결과 영상.

 

 

새로 배운 내용

1. 원격접속 구축하기 - openssh

1) Windows Terminal을 활용하여 SSH 접속 - linux@192.168.91.139

2) Windows Terminal을 활용하여 SSH 접속 - linux-b@192.168.91.128

 

2. Mail Server

1) Email 의 송수신에서 사용되는 프로토콜

- SMTP (Simple Mail Transfer Protocol)

클라이언트가 메일을 보내거나, 메일 서버끼리 메일을 주고 받을 때

- POP3 (Post Office Protocol)

메일 서버에 도착되어 있는 메일을 클라이언트로 가져올 때 (서버에서 로컬 장치로 다운로드)

- IMAP (Internet Mail Access Protocol)

POP3 와 유사함. 중앙 서버에서 동기화해주며 모든 장치에서 동일한 이메일 확인 가능

*네임 서버, SMTP 같이 메일을 주로 보내는 서버와, POP3 같이 메일을 받는 서버는 분리되어 있음.

 

2) Sendmail

-인터넷에서 메일을 전송하기 위해 사용되는 패키지

*주요 설정 파일*
/usr/bin/sendmail : 데몬 파일
/usr/bin/makemap : 맵 생성 실행파일
/var/spool/mqueue : 메일을 일시 저장하는 디렉터리
/var/spool/mail : 개별 메일을 보관하는 디렉터리
/etc/mail/access : relay 제한 및 설정 파일 (스팸 메일 방지 등)
RELAY : 관련 메일 수신/발신 허용
REJECT : 관련 메일 수신/발신 거부
/etc/mail/sendmail.cf : sendmail 설정 파일

 

3) Mail Server 구축하기

* DNS Server 구축 *

- /etc/bind/named.conf.options 를 다음과 같이 수정

- /etc/bind/named.conf.local 를 다음과 같이 수정

- /etc/bind/cs.ac.kr.db 파일을 추가하여 다음과 같이 작성

-설정이 제대로 되었는지 확인해보기

- /etc/resolv.conf에서 nameserver의 경로를 server-b의 IP주소로 변경한 후에 nslookup으로 질의하여 잘 설정되었는지 확인

 

 

* Mail Server 구축 *

- /etc/hostname에서 Server 이름을 mail.cs.ac.kr로 변경한 뒤 /etc/hosts에서 ip를 추가

- 마찬가지로 /etc/mail/local-host-names에서 mail.cs.ac.kr 호스트를 추가

- /etc/resolv.conf에서 nameserver를 server-b의 IP주소로 설정

- Server를 재부팅한 뒤 host 이름 확인하면, 아래와 같이 Server에서 'mail'로 hostname이 변경된 것을 볼 수 있다.

- /etc/mail/sendmail.cf에서 다음과 같이 수정. 269, 270행은 addr=127.0.0.1가 입력되어있어 자기 자신만 메일을 보낼 수 있지만, addr 부분을 삭제하게 되면 다른 Client의 ip주소에서도 메일을 보낼 수 있게 된다.

- /etc/mail/access에 다음과 같이 추가. 기본적으로 cs.ac.kr로 들어오는 것은 허용하고, 192.168.91.~~에 해당하는 IP 주소는 메일을 보낼 수 있도록 허용한다.

- /etc/dovecot/dovecot.conf 에서 아래와 같이 수정. /etc/dovecot/conf.d/10-mail.conf 에서도 121, 166행 주석 제거

 

4) Sendmail 테스트

- peng 사용자에게 "Subject: sendmail test" 내용의 메일을 전송

- /var/spool/mail/peng 경로로 가면 메일이 잘 저장되어있는 것을 볼 수 있음.

-이번에는 txt 파일로 만들어 메일 전송. mail.txt 파일을 만들어 다음과 같이 입력한다.

- sendmail -vt < ~/mail.txt 입력

- 앞에서 보낸 메일과 현재 보낸 메일이 함께 뜨는 것을 확인할 수 있다.

 

5) Evolution 테스트

- Client (Kubuntu)의 DNS 서버 변경

- 재부팅한 뒤 evolution 실행하여 다음과 같이 설정

-아래와 같은 메세지가 뜨면 Accept Permanently를 클릭한다.

-이제 Inbox를 눌러보면 앞에서 peng이 받았던 메일들이 모두 뜨는 것을 볼 수 있다.

- Edit>account 로 들어간 뒤 Receiving EmailSending EmailSecyrity에서 Encryption method를 No ecnryption으로 바꾸면 메일 작성이 가능하다. (보안 문제로 인해 위 설정을 안하고 보내면 오류가 발생한다!!)

- Send 클릭 후 다시 Inbox로 들어가면 peng 자신에게 보낸 메일이 추가되어있는 것을 확인할 수 있다.

 

문제가 발생하거나 고민한 내용 & 해결 과정

▶ 고민한 내용

peng이 soo로 메일을 보내는 것은 성공했지만,

soo가 peng에게 메일을 보내는 과정 중 TLS handshake failed 오류 발생.

 

▶ 해결 과정

다시 확인해보니 /etc/bind/it.ac.kr.db 파일에서 IP 주소를 잘못 입력한 것을 확인할 수 있었다. 다시 과정을 되돌아가서 잘못된 설정을 수정해주었더니 해결할 수 있었다.

 

참고할만한 내용

https://unabated.tistory.com/entry/mail-%EC%A0%84%EC%86%A1%EC%9D%98-%EC%9B%90%EB%A6%AC

 

mail 전송의 원리

 ● 용어 MUA(Mail User Agent) : 메일을 작성하여 보내는 프로그램 MTA(Mail Transfer Agent) : 이용자로부터 메일을 받아서, 외부로 전달하는 프로그램 MDA(Mail Delivery Agent) : 전송받은 메일을 해당 사..

unabated.tistory.com

https://peemangit.tistory.com/54

 

[WindowServer2012] Mail 서버 개념, 전송과정, 구축

E-Mail 서버 구축 -  인터넷 상에서 E-Mail이 전송되는 과정과 구축 방법을 설명하였다. E-Mail 송수신에서 사용되는 기본적인 프로토콜 SMTP(Simple Mail Transfer Protocol) -  클라이언트가 메일을 보내거나,

peemangit.tistory.com

 

회고(+, -, !)

+ : 먼저 openssh를 여러번 사용하다보니 openssh 사용에 더욱 능숙해진 것 같아 좋았다. 그리고 저번 주차에 배웠던 DNS Server에서 배웠던 캐시 DB, ZONE 파일 설정 등을 활용하여 Mail Server를 구축해볼 수 있어서 복습할 수 있는 기회가 된 것 같다.

- : 이번 주차는 다른 주차에 비해 오류가 많이 났던 것 같다. 실습 과제 중 처음 코드를 작성할 때 어느 경우에 어떤 IP 주소로 설정해야하는지 헷갈려 실수도 있었고, reboot한 뒤에 dns 서버 설정이 다시 초기화 되어있는 등 여러가지 시행착오를 겪었던 것 같다. 하지만, 다시 처음으로 돌아가 차근차근 잘못 된 부분을 해결해나가면서 오류를 해결할 수 있었다. 이 과정을 통해 ZONE 파일의 문법을 더 잘 이해할 수 있게 된 것 같다.

! : 이번주에 배운 SMTP, POP3, IMAP 프로토콜을 잘 이해하고 POP3와 IMAP의 차이를 다시 잘 복습하고 넘어가야겠다. 또한 실습을 통해서 메일 전송 과정이 어떻게 되는지 더 잘 와닿았던 수업이었던 것 같다.

 

 

728x90
반응형