일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- IoTNetwork
- Notification
- git
- docker
- 3D
- NAS HDD교체
- 데이터 직렬화 포맷
- ci/cd
- Token인증방식
- 3D프린터
- gitlab
- C언어
- nas
- OnlineIDE
- kubernetes
- docker container
- data serialization formats
- Jenkins
- 3D프린터입문
- 3D모델링
- 리눅스 파일동기화
- Kotlin
- github
- 3D프린터 입문
- linux job
- 코틀린개발환경
- 3d프린터 초보
- octoprint
- 네이버클라우드
- 3D 프린터 용어
- Today
- Total
0과 1을 공부하다.
[E-Mail] 시놀로지(Synology) NAS를 이용한 메일서버 구축 본문
본 게시물에서는 시놀로지(Synology) NAS를 이용한 메일서버를 구축하는 방법에 대해 알아본다. 시놀로지 NAS(가정용)는 일반적인 기업용 서버 혹은 포털사이트 메일 서버와 다르게 성능 및 용량 측면에서 부족하다. 또한 다른 웹 메일 서비스(google, naver)과 다르게 스팸 차단에 대한 대응이 충분하게 이뤄지지 않는다. 따라서 다른 메일서버는 많은 메일을 다뤄야 하는 환경에서 사용하는 것을 권장하지 않는다. 필자는 메일 프로그래밍 학습 및 테스트 용도로 구축하였고, NAS는 synology DS218을 이용하였다.
DNS Setup
메일 발신자가 수신자의 이메일 도메인의 올바른 주소로 찾아가기 위해 DNS 서버의 질의값을 통해 찾아간다. 필자는 가비아 호스팅 업체를 통해 도메인을 구매했다. 가비아 DNS 설정을 통해 MX, A, TXT, CNAME 타입을 통해 DNS를 설정할 수 있다.
메일을 설정하기 위한 DNS 설정은 A 레코드에 호스트 mail, 값에 서버 ip 주소를 입력하고 MX레코드에 앞서 입력한 도메인을 입력한다.(CNAME을 통한 연결은 생략) TXT 레코드에는 "v=spf1 ip4:000.000.000.000 -all" 형태의 질의값을 넣는다. (spf는 스팸필터링 기법, 자세한 내용은 본 블로그의 [E-Mail] 메일 보안 필터링 이론 정리 게시물 확인)
MTA(Mail Transfer Agent) Install/Setup
MTA는 메일 서버간 메일을 송/수신하기 위한 에이전트이다. 시놀로지 NAS에서는 시놀로지사에서 제공하고 있는 Mail Server MTA를 이용한다. 패키지 센터에서 'mail' 키워드를 입력하면 Synology Mail Server 또는 Synology MailPlus Server를 찾을 수 있다.
필자는 Synology DS218 로우엔드 모델을 사용하고 있기 때문에 일반 버전(Synology Mail Server)을 내려 받았다. 하지만 하이엔드 이상 급의 모델을 사용하는 사용자라면 MailPlus를 설치하여 사용 할 수 있다. 각 프로그램의 기능 및 성능 그리고 지원 기기는 아래 링크에서 확인할 수 있다.
- Synology Mail Server : https://www.synology.com/ko-kr/dsm/packages/MailServer
- Synology MailPlus Server : https://www.synology.com/ko-kr/dsm/packages/MailClient
Synology Mail Server 패키지를 내려받고 실행하면 다음과 같은 UI구조로 이뤄져 있다. 먼저 SMTP 항목에서 SMTP 활성화와 SMTP 인증 활성화 체크박스를 활성화 한다. 이후 호스트 이름 (FQDN/ Fully Qualified Domain Name)에 자신의 도메인을 입력한다. FQDN의 값은 메일서버의 주소가 아닌 서브 도메인을 제외한 최상위 도메인 이름을 입력한다.
IMAP/POP3 탭에서 MUA가 수신받는 프로토콜을 활성화 한다. IMAP와 POP3 프로토콜의 차이는 해당 블로그의 [E-Mail] 이메일 시스템 구조 및 용어 정리 게시글을 참고한다.
최소 1개 이상의 프로토콜을 선택해야 하고 모두 활성화도 가능하다. 필자는 테스트 용도로 POP3만 활성화하였지만 메일 암호화 방식의 통신방식인 SSL/TLS를 활성화하여 이용할 것을 권장한다.
보안의 여러 항목들은 이후 다른 게시물에서 다룰 예정이다. 우선 DNS에 질의를 등록하였던 인증 탭에서 SPF를 활성화 한다. (DKIM /DMARC 등은 추후에 추가한다.)
Port Forwarding
앞서 MTA를 설치하고 설정했다면 각 설정한 메일 프로토콜에 맞는 포트를 개방하여 내/외부로 패킷이 들어오도록 한다. 포트를 개방하기 위해 자신의 공유기 관리자 페이지로 이동하도록 한다. 관리자 페이지 주소는 통상적으로 자신의 PC 게이트웨이 주소이다. ifconfig(MAC/Linux), ipconfig(Windows) 명령어를 통해 자신의 게이트웨이 주소를 확인한다. 자신의 게이트웨이 주소를 웹브라우저의 주소창에 입력하여 접속한다.
필자는 IPTIME 공유기를 사용하여 예시로 든다. 자신의 공유기 관리자 페이지에 접속하면 기종마다 UI 구성의 차이는 있겠지만 대부분 포트워드 또는 포트포워딩 설정 항목이 존재한다.
포트포워딩 항목에서 이전에 MTA에서 설정하였던 프로토콜의 포트를 개방하도록 한다.
기본적으로 MTA가 메일을 송/수신하기 위한 SMTP 25번 포트를 개방한다. SSL/TLS 통신을 활성화 하였다면 설정한 해당 포트를 개방한다. (설정하지 않으면 465/587)
이후 MUA에서 메일을 수신하는 프로토콜의 포트를 개방한다. (POP3: 110, IMAP: 143, SSL/TLS: 사용자 정의(기본: 465/587))
사용자 계정 생성
메일 서비스에 이용할 사용자 계정을 생성한다.
이름에는 사용자 계정을 입력한다. 이메일에는 수신받을 이메일의 도메인과 로컬파트가 포함된 메일주소를 입력한다.
폴더 권한 할당은 메일이 저장되는 디렉터리에 읽기/쓰기 권한을 준다. (필자는 homes)
응용 프로그램 권한 할당으로 Synology Mail Server만 가능하도록 한다.
MUA(Mail User Agent) Install / Setup
MUA는 naver, google 서비스와 같은 웹 기반의 메일 에이전트와 Outlook(Mircosoft), Mail(MAC)과 같은 응용프로그램 기반의 메일 에이전트가 있다. 본 포스팅에서는 웹 기반으로 Synology Mail Station와 Mircosoft Outlook을 대표적으로 설정하여 사용한다.
설치 및 설정에 앞서 참고해야 할 부분은 메일 발송간 본 메일 서버로 naver 또는 google 메일로 발송하면 스팸메일로 분류할 것이다. (RBL, SPF, DKIM, AMARC 등 여러 이유에서) 이후에도 정상적으로 메일을 수신 받고자 한다면 스팸메일함에 있는 메일을 수신 허용으로 변경하면 해결된다.
- 웹기반 (Synology Mail Station)
패키지 센터에서 'mail' 키워드를 검색하여 나오는 Mail Station를 내려받는다.
앞서 생성한 계정을 이용하여 로그인한다. 사용자명은 도메인을 포함한 이메일이 아닌 계정명만 입력한다.
해당 웹 메일 서비스를 통해 메일을 전송하고 발송할 수 있다.
- 응용프로그램 기반 (Mircosoft Outlook)
응용프로그램 기반인 아웃룩에 적용하여 사용하는 방법에 대해 알아본다.
아웃룩에서 계정 추가를 선택하여 로컬파트와 도메인파트가 포함된 이메일을 기입하고 연결을 선택한다.
자신의 메일 프로토콜을 선택한다. (필자는 pop 선택)
받는 메일과 보내는 메일의 서버 주소로 DNS에 등록한 메일 주소를 기입한다. SSL/TLS 연결이 필요하다면 체크한다.
이후 계정을 연결하는 창이 나오는데 사용자 이름은 이메일 주소가 아닌 계정 이름을 입력한다.
추가로 POP 프로토콜은 IMAP와 다르게 수신 받을 후 메일을 삭제하기 때문에 다시 메일을 로딩할 수 없다. POP3 프로토콜을 사용한다면 메일 설정에서 '서버에 메시지 복사본 저장' 기능을 사용 할 것을 권장한다.
참고 사이트
[1] https://gumu.kr/blog/165/mailplus1/
[3] https://blog.naver.com/lw_mailplug/221463114087
[4] https://www.itworld.co.kr/news/90201
※ 본 게시글의 정보가 잘못 되었거나 부족한 부분에 대한 피드백을 환영합니다.
* CopyRight 2022. Jay Park All rights reserved.
'Study > ETC' 카테고리의 다른 글
[OS] VirtualBox(VM) 가상네트워크 설정 (0) | 2022.09.07 |
---|---|
[Software] Visual Studio Code 활용 이야기 (0) | 2022.08.29 |
[E-Mail] 메일 보안 필터링 이론 정리 (0) | 2022.04.06 |
[E-Mail] 이메일 시스템 구조 및 용어 정리 (0) | 2022.03.01 |
[Server] 서버 시설관리 수칙 (Data Center) (0) | 2022.02.04 |