1탄에서는 Synology NAS내에 Mail Plus (1) 패키지 설치 (2) 패키지 설정을 다루었다.

2탄에서는 Mail Plus를 사용하기 위한 도메인 설정을 해보도록 한다.

먼저, 도메인과 연결할 실제 NAS의 외부주소를 알아야 한다. NAS는 당연히 공유기와 연결되어 있고 공유기로부터 할당된 내부 IP를 사용하고 있을 것이지만 도메인과 연결하기 위해서는 외부 IP를 설정해줘야 한다. 내부IP는 만일 Synology내 DDNS서비스를 사용하고 있다면 바로 확인할 수 있다. 여기서는 외부 주소를 111.111.111.111이라고 가정한다.

제어판 - 외부 액세스 - DDNS
제어판 – 외부 액세스 – DDNS

외부 주소가 111.111.111.111임을 확인했다. 이제 도메인을 가입한 사이트로 가서 도메인 관리를 해줘야 한다. 여기서는 도메인을 가비아에서 만들었다고 가정하고 가비아 기준으로 설명한다.

가비아 - 로그인 - My가비아 화면
가비아 – 로그인 – My가비아 화면

가비아 관리 화면에서 보면 아래 DNS관리툴이라는 것이 보인다. (대부분의 도메인 사이트가 대동소이한 인터페이스를 가진다)

DNS관리 툴 - 설정을 눌렀을 때 나오는 화면
DNS관리 툴 – 설정을 눌렀을 때 나오는 화면

여기서 하나하나 소개하도록 하겠다.

먼저 개념부터 설명한다. 도메인 DNS설정을 처음한다고 가정하고 최대한 간단하고 쉽게 설명하겠다.

*타입
타입은 DNS설정의 작업 방식 종류라고 생각하면 편하다.
A타입인 경우 주어진 호스트에 대한 IP4주소를 알려주므로 도메인 이름을 해당하는 IP주소로 변환하는 데에 사용한다. 추가적으로 AAAA타입인 경우 IP6주소를, CNAME은 도메인의 별칭을, ISDN은 호스트의 ISDN주소를, MX는 메일교환서버의 이름을 알려주고 TXT는 특정 문자열을 보여준다. 여기서는 메일서버 구축을 위한 설정이므로 다른 설정은 지우고 필요한 설정만 남겼다. 여기서는 A, MX, TXT를 사용한다.

*호스트
호스트는 도메인 앞에 붙는 친구들이다. 보통 서브도메인이라고 칭한다. fire.com을 예로 들면 호스트에 mail이라고 적게 되면 mail.fire.com에 대한 설정을 진행하겠다는 뜻이다. @글자는 아무 것도 적지 않은 경우, WWW는 도메인 앞에 www를 적는 경우를 뜻한다.

*값
당연히 해당 타입에 대한 값을 의미한다. 예를 들어 A타입 @호스트의 값을 111.111.111.111로 하면 fire.com을 입력했을 때 111.111.111.111로 이동한다는 의미가 된다. 자세한 것은 아래 설정값 설명에서 하겠다.

*TTL
TTL은 Time To Live의 약자로 네임 서버에서 DNS에 대한 쿼리값을 받아갔을 경우 캐쉬가 남아 있는 초를 뜻한다. 쉽게 말해서 TTL을 600으로 설정하면 DNS레코드 값을 변경했을 때 실제로 적용되는 데까지 걸리는 시간을 10분으로 본다는 것이다. 만일 3600으로 설정을 하면 갱신주기가 1시간이 되므로 테스트를 할 때에는 적절하지 않다. 구축이 모두 끝나고 정상 작동을 확인하신 후에 TTL을 길게 늘리는 것을 추천한다.

개념에 대한 설명은 끝났다. 이제 본격적으로 설정에 들어가보자

1) A레코드 설정 – A, @, 111.111.111.111(외부IP주소)
A레코드를 설정하는 이유는 A레코드가 설정되지 않은 도메인에서 보내는 메일은 상대 메일 서버에서 스팸으로 인식하기 때문이다! 설명할 게 정말 많지만 일단 이렇게만 설명을 해두겠다.

2) A레코드 설정 – A, www, 111.111.111.111
1)번과 마찬가지

3) MX레코드 설정 – MX, @, fire.com. 이것은 앞서 메일 서버 세팅 때 입력한 내용을 참고해야 한다. 메일서버에서 호스트 이름을 fire.com으로 했다면 (메일 주소에서 @뒤를 fire.com으로 사용한다면) 해당 MX레코드 값에 fire.com.을 입력해줘야 한다. 여기서 주의할 점은 도메인 뒤에 .(마침표)를 하나 찍어줘야 한다. 찍지 않더라도 어차피 추가가 안 된다. 설정창에서 시키는대로 하면 되겠다.

4) TXT레코드(SPF설정)
매우 중요하다. 그리고 메일 서버 설정에서 가장 헷갈려하고 어려워하는 것이기도 하다. 일단 설명할 것이 많지만 위에 보이는대로 적어주자.

“v=spf1 ip4:111.111.111.111 include:_spf.google.com include:_spf.daum.net ~all”

여기서 include 뒤를 보기 바란다. _spf.google.com과 _spf.daum.net이 들어있다. 이 SPF라는 것은 일종의 메일 수신 정책으로, 메일 수신 정책이 없는 도메인에서 발송된 메일은 타 메일에서 스팸으로 인식한다! 그래서 혹자는 메일서버 구축시에 꼭 KISA에 메일서버를 화이트리스트 등록해야 한다고 말하기도 한다. 그러나 NAS로 메일서버 구축하시는 분들 중 “고정IP”를 사용하는 경우에는 KISA등록이 가능하지만 대부분 “유동IP”를 사용하는 중이므로 KISA에 화이트리스트 등록이 되지 않는다. 이 경우 조금이나마 상쇄시킬 수 있는 것이 타 사이트의 spf정책을 끌어오는 것이다. 여기서는 구글과 다음의 정책을 끌어왔다. 이렇게 설정하면 네이버로도 메일이 잘 가는 것을 확인할 수 있다.

5) TXT레코드 (DKIM설정)
DKIM은 SPF의 뒤를 잇는 메일 보안 정책의 하나이다. (너무 간단하게 설명하는 것 같지만 일단 여기까지) 다행히 Synology 메일 플러스 서버에서는 DKIM을 지원한다.

도메인 - 도메인 클릭 - 편집
도메인 – 도메인 클릭 – 편집
고급으로 이동
고급으로 이동
DKIM설정
DKIM설정

DKIM에서 DKIM서명 활성화에 체크하고 선택기 접두어에 본인이 원하는 접두어를 적어준다. 여기서는 hongildong1이라는 접두어를 만들었다. 그리고 공용키 생성을 한 후 확인을 눌러준다.

이후 호스트에 [접두어]._domainkey 를 적어준다.
값에는 아래와 같이 적어준다.
v=DKIM1; k=rsa; p=[위에서 생성한 공용키]

6) TXT레코드 (DMARC 설정)
SPF와 DKIM과 마찬가지로 메일을 주고 받는 데에 사용하는 보안 설정이라고 이해할 수 있다. DMARC설정 이전에 설정한 SPF부터 DKIM에 이르는 다양한 정책을 사용해서 어떻게 메일을 필터링할 것인지 결정하게 되는데 여기서는 SPF나 DKIM에 대한 옵션을 빼고 DMARC보고서를 받아보겠다는 설정만 진행하겠다. 후에 발신, 수신 테스트를 하면서 옵션을 조정해볼 것을 추천한다. 우선 여기서 설정한 값은 아래와 같다.

v=DMARC1; p=quarantine; pct=5; rua=mailto:report@fire.com

DMARC의 여러 옵션이 있다. 아래 옵션을 보고 추후 설정을 바꿔보면서 설정해보자.

DMARC 옵션
DMARC 옵션

일단 여기까지 설정이 끝났다면 도메인 설정은 1차적으로 완료되었다고 본다. 최종적으로 도메인 설정이 제대로 되었는지 확인하기 손쉽게 확인하는 방법이 있다.
https://mxtoolbox.com 로 접속한 후 본인의 도메인을 입력하면 메일 서버에 대한 문제를 진단해준다.

이렇게 도메인 설정이 모두 끝나면 정상 발송이 되어야 한다. (제발)

다음 포스팅에서는 메일 수발신 테스트를 진행한다.

시리즈 목록

시놀로지 NAS, 메일서버 구현하기 1탄(Mail plus 설치, 설정)
시놀로지 NAS, 메일서버 구현하기 2탄(도메인DNS, SPF, DKIM, DMARC 설정)
시놀로지 NAS, 메일서버 구현하기 3탄(인증서, 수발신 테스트)
시놀로지 NAS, 메일서버 구현하기 4탄(스마트폰 메일어플 연동)


20개의 댓글

이기오 · 2020-01-20 12:26 오후

안녕하세요. Mailplus 설치하고 사용하다가 문제가 생겨서 답답한 마음에 검색하다가 발견했습니다.
공인 IP사용중인 직원 10명이 안되는 회사입니다. 업무메일이라 여러 심각한 상황들이 발생하네요.

설치는 ablestor에서 했는데 더 이상 지원을 안하려는지 메일 회신이 없습니다. 온라인으로 본사에 ticket 발행해서 몇 가지는 해결했으나 아직도 미결부분들이 있습니다. 선생님 블로그 보고 거의 다 따라해서 설정 해 봤습니다만, 전공자가 아니라서 잡을 지푸라기도 없네요…

혹시 Mailplus 진단/보안 관련 유상 컨설팅을 해 주실 수 있을지 조심스레 문의드려봅니다.
초면에 실례가 많았습니다.

    Gugu · 2020-01-22 5:09 오후

    안녕하세요, 제가 따로 현업이 있어서 응답이 늦었네요. 제가 별도로 유상 컨설팅을 하고 있진 않습니다. 의문점이나 문제점을 메일로 보내주시면 아는 선에서 도와드리겠습니다.

      이기오 · 2020-02-03 6:11 오후

      네…실례가 많습니다. 먼저 새해 복 많이 받으시길 바라겠습니다.

      고정 IP+화이트 도메인 등록+구글 포스트마스터에 도메인 등록 을 했음에도 구글에서 계속 저희 이메일을 받지 않는 상태입니다. 아래는 메일이 전달되지 못했다는 회신 중 일부입니다.

      : host aspmx.l.google.com[74.125.203.26] said: 550-5.7.1
      [112.216.80.162 12] Our system has detected that this message is
      550-5.7.1 likely unsolicited mail. To reduce the amount of spam sent to
      Gmail, 550-5.7.1 this message has been blocked. Please visit 550-5.7.1
      https://support.google.com/mail/?p=UnsolicitedMessageError 550 5.7.1 for
      more information. i10si7519423plt.389 – gsmtp (in reply to end of DATA
      command)

      Mail Plus에 이메일을 세팅한 뒤, 바로 해커에게 공격을 당했고, 비정상 이메일이 수만통 발송 되었습니다. 네이버, 다음 구글 등 모두 연락해서 풀기는 했습니다. 구글의 경우 지시에 따라 포스트마스터 툴에 도메인을 등록하니 해결되었습니다만, 최근 직원의 이메일이 다시 해킹되고 나서부터는 다시 보낼 수 없는 상황이며 지메일 서비스팀에 수차레 문의해도 답이 없습니다…

      관련된 지식이 없다보니 무엇을 어떻게 설정하고 세팅해야할지 머리속이 하얘진 상태입니다. ㅠ.ㅠ

    Gugu · 2020-02-04 12:38 오후

    550-5.7.1 에러는 수신처 도메인에서 발신처 도메인을 차단한 경우가 많을 겁니다. 일단 해킹 시도가 잦은 것 같은데 메일 플러스뿐만 아니라 시놀로지 상에서의 방화벽이 제대로 작동하는지를 꼭 확인해주시고(주로 SSH포트, FTP포트 등의 해킹시도가 많을 겁니다. 접속로그를 확인해주세요) 메일플러스 내에서 스팸리스트와 바이러스 검사 등도 진행해주시기 바랍니다.

    아울러, 블랙리스트 등재는 직접 연락해서 해결하는 수밖에 없습니다. 일단 보니까, google에서 취해야 하는 조치는 다 취하신 것 같은데 기타 다른 SMTP사이트에서 블랙리스트에 올랐는지 확인하는 사이트를 드릴테니 해당 사이트에서 확인해주세요.

    https://mxtoolbox.com/blacklists.aspx
    https://whatismyipaddress.com/blacklist-check

    해당 사이트에 IP로 검색하시면 됩니다.

    블랙리스트 푼다고 하더라도 해킹 당해서 스팸 메일 뿌리면 또 문제가 생기니까 먼저 필요한 보안 조치부터 해주시기 바랍니다.

      이기오 · 2020-02-04 2:07 오후

      SERVICESNET, dnsbl.spfbl.net 에만 블랙리스트에 올려져 있는 것 같습니다.
      그런데 해결하고자 연락처를 찾아봐도 찾을 수가 없네요. ㅠ.ㅠ

    Gugu · 2020-02-04 3:32 오후

    service.net은 한국 IP라면 모두 막습니다. 정상입니다. dnsbl.spfbl.net의 경우는 역방향DNS가 제대로 설치되지 않은 경우 막습니다. 구글에서도 동일하게 대응하고 있습니다.

    구글역방향DNS 관련 문서: https://support.google.com/mail/answer/81126?hl=ko

    역방향 DNS 설정 방법: http://develop.sunshiny.co.kr/975

    위 링크들을 참고해주십시오.

이기오 · 2020-02-06 2:39 오후

감사합니다.
주신 정보대로 역방향 (ptr) 설정을 ISP인 LG U+에 요청해서 된 것 같습니다.
그런데 여전히 Gmail 송신이 되지를 않네요.

MXtoolbox 살펴보면 아직도 오류투성입니다.
선생님 올려주신 글대로 DKIM, DMARC 도 해 봤는데, DMARC, MX spf, smtp 등등 오류가 아직도 많아서 무얼 어디부터 해야할지 난감하네요…

    Gugu · 2020-02-06 3:01 오후

    살펴보니 DMARC, SPF가 제대로 설정되지 않았습니다. 도메인 설정에서 해당 내용 추가 하신 게 맞는지 다시 확인해주시기 바랍니다. 특히 spf내에 _spf.google.com와 _spf.daum.net은 무조건 포함시켜줘야 합니다. 지금은 아이피밖에 없습니다. 도메인 관리하는 사이트에서 DNS관리 항목으로 들어간 후 레코드 종류를 TXT로 하고 DMARC, SPF 다 설정해주시기 바랍니다. 맨 위에 제가 사이트 캡쳐 사진 올려둔 거 있는데 해당 내용 참고해주세요.

    https://toolbox.googleapps.com/apps/checkmx/

    위 사이트는 mxtoolbox같은 사이트인데 구글에서 제공하는 서비스입니다. 보시면 제대로 설정된 DMARC와 SPF가 없다는 것을 아실 수 있습니다. DKIM 오류도 뜨는 걸 볼 수 있는데 해당 오류는 무시하셔도 좋습니다. (DKIM서명이 제대로 되어 있지 않다는 이유로 메일 수신을 거부하면 안 됨)

    혹시 참고하시려면 해당 창에다가 gumu.kr을 검색해보십시오. 현재 구글로 발신이 잘 되고 있는 도메인입니다.

    마지막으로 릴레이 호스트 구성 오류는 무시하십시오. 구성되지 않더라도 메일 발신이 되어야 합니다.

      이기오 · 2020-02-06 5:44 오후

      SPF는 Synology help에서 바꾸라고 했던 것이었는데 말씀대로 원복시켰습니다.
      DKIM, DMARC는 블로그에 올려주신 대로 기록되어 있는 상태입니다. ㅠ.ㅠ
      PTR 설정은 저희 IP 대역이 해외에서 차단되는 것 같다며 LG U+에서 RBL에 신청해 두셨다고 합니다. (1~2일 소요)

      뭐가 뭔지 모르겠습니다. T.T

    Gugu · 2020-02-06 5:52 오후

    일단 IP대역 문제일 수도 있으니 지켜보시고, 지메일을 제외한 다른 곳에는 메일이 정상 발송 되나요?

이기오 · 2020-02-07 10:03 오전

네 감사합니다. 좀 더 찬찬히 지켜보도록 하겠습니다.
그런데 MX toolbox에서 DMARC 문제 리포트를 보면 DMARC 관련해서 MX 레코드가 잘못되었다는 의미로 보여집니다. 현재 TXT에 기록된 내용은 v=DMARC1; p=quarantine; pct=5; rua=mailto:intenxiv@intenxiv.com 외엔 없습니다만…

Category Host Result
dmarc intenxiv.com DNS Record not found More Info
mx intenxiv.com No DMARC Record found More Info

    Gugu · 2020-02-09 12:18 오전

    글쎄요…제가 검색해보면 지금은 문제가 없는 것 같은데 메일이 잘 전송되는지요?

One · 2020-05-03 12:17 오후

안녕하세요! 시놀로지 포럼에서 찾다찾다 이곳까지 오게되었습니다…ㅜㅜ
가지고 있는 나스가 ds214play 모델이라 mail plus가 없고, Mail Station과 Synology Mail Server 프로그램으로진행하고 있는데요.
해당 나스는 asus 공유기에서 포트포워딩을 해서 집에서(가정용 회선) 운용중이고,
작은 소규모 부업 메일서버를 만들기 위해 메가존이라는 업체에서 도메인을 구입하였습니다.

설정 후 mail station 패키지를 들어가면 roundcube라는 메일 시스템(?)으로 연결이 됩니다.
하지만 수신과 발신이 모두 안되구요.
네이버에서 설정한 곳으로 메일을 보내면 발신 중-만 계속 나오네요.

https://mxtoolbox.com/에서 도메인을 체크해보면 댓글써주신 것처럼
DMARC Record found DMARC Quarantine/Reject policy enabled DNS Record found
요렇게 다 나오는 상황인데
블랙리스트 체크를 하면 SERVICESNET에 listed 되었다고 나오고
smtp test를 하면 failed to connect

Connecting to ip주소
5/2/2020 10:11:01 PM Connection attempt #1 – Unable to connect after 15 seconds. [15.02 sec]
LookupServer 15016ms
요렇게 나오구요..

전공자가 아니라 막막해서 여기저기 알아보다가 시놀로지 포럼에 링크를 걸어주신 분 덕에 여기까지 왔지만 뭐가 문젠지 마지막에 진행이 안되네요ㅠㅠ혹시 시간나시면 한 번 도움 부탁드리겠습니당..

    Gugu · 2021-03-30 3:26 오후

    메일서버에도 포트가 있습니다. 해당 메일 서버 포트도 모두 열려있는지 확인해주시겠습니까?
    143포트, 80포트, 25포트, 993포트, 465포트, 587포트가 열려 있어야 됩니다.

lol · 2020-06-17 1:00 오전

안녕하세요 혹시 DNSZI에서 어떻게 세팅을 해야될지 알 수 있을까요..?

김경태 · 2020-09-07 2:44 오후

안녕하세요. 공유해주신 내용을 보고 시놀로지 나스에 메일서버를 설치했는데 문제가 발생해서 몇가지 문의를 드리고자 합니다. 제 도메인은 kennie.co.kr 입니다.

위 댓글의 김희호님처럼 저 역시 구축은 정상인데 메일 발신이 안됩니다. 수신은 됩니다.
메일서버의 로그를 보았는데 아래와 같습니다.

[네이버로 발신 로그]
host mx3.naver.com[125.209.222.14] refused to talk to me: 421 4.3.2 Your ip blocked from this server eSrjSmrTSXydeA1UcJ9IKA – nsmtp

[삼성메일 발신로그]
host mailin.samsung.com[203.254.224.12] refused to talk to me: 554 5.7.1 You are not allowed to connect.

근데 비단 이것에 네이버 메일만의 문제가 아니라 다음 / 구글 / 삼성메일 / 네이버 모두 제 서버에서 보내지지 않습니다. 혹시 이런 문제를 어떻게 해결할 수 있을지 문의를 드립니다. Gumu님의 글을 따라 시도해봤는데 여기서 멈춰버려 애가 타네요. 그럼 이 글을 보시면 댓글을 부탁드릴게요. 미리 감사드립니다.

    Gugu · 2021-03-30 3:21 오후

    너무 오랫동안 확인을 안 했더니… 죄송합니다. 나중에 들어오실 분들을 위해서라도 말씀 드릴게요. IP Block된 경우에는 이전에 해당 IP사용하시던 분이 스팸메일을 뿌리거나 해서 해당 IP가 차단된 상태인 것입니다. SPF 설정시 구글이나 daum spf설정을 끌어오면 대부분 해결되지만 그럼에도 불구하고 IP차단 때문에 수발신이 안 되는 경우 KISA 불법스팸대응센터에서 White Domain / SPF를 등록하시기 바랍니다.

    단, 등록 후에 스팸 발송을 하시는 경우 곧바로 차단 당할 수 있습니다. 주의해주시기 바랍니다.

jiot · 2021-05-06 3:44 오후

혹시 역방향 프록시를 해야 Naver/Google에 메일이 가는건가요?
현재 회사메일끼리는 메일 송수신이 가능합니다.
naver/google에 메일을 보내니 안되더라구요 .
수신은 됩니다.
도메인은 j-iot.co.kr입니다.

Goris · 2022-02-20 7:52 오후

정말 많은 도움이 되었습니다! 다만 발신이 확인되었고, 그리고 MXtools에서도 정상으로 나옵니다!
DMARC Record found
DMARC Quarantine/Reject policy enabled
DNS Record found

메일 수신이 안되는 이유는 무엇일까요?

단. SMTP Connect test 에서 Failed 라고 하네요;;

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다