sendmail의 /etc/hosts 참조 여부

seokom의 이미지

:D

sendmail 로 메일 발송용 서버로 사용하고 있습니다.

그런데 특정 도메인으로 가는 메일의 MX 레코드가 sc03.kidc.net입니다.

그런데 이 특정 도메인으로 가는 메일을 사설 IP주소를 가진 메일서버로 보낼려고
/etc/hosts/ 에

192.168.1.247 sc03.kidc.net

이렇게 매핑 시켜 주었습니다.

근데 실제로 확인해보니

이 도메인으로 가는 메일들이 192.168.1.247로 가지 않고 sc03.kidc.net으로 가서 들어오는 것이었습니다.

이 머신에서 sc03.kidc.net 으로 ping을 치면 192.168.1.247잘 가는데 이죠..

sendmail에서 메일을 보낼려고 IP찾을때는 /etc/hosts를 참조 하지않는것인지 궁금합니다.

김충길의 이미지

sendmail이 hosts을 직접 참조하지 않고 해당 호스트의 resolver가
확인하는게 맞는듯 합니다.

일단 nslookup 으로 확인을 해보시는것이 맞는것이라고 사료됩니다.

screen + vim + ctags 좋아요~

pynoos의 이미지

네, 윗분 말씀처럼 MX record를 얻어 올 때, 해당 hostname의 IP 까지 resolv 한 결과가 DNS 결과 packet에 실려오는 것이 대부분입니다.

따라서, DNS 결과에서 IP 까지 얻기 때문에, /etc/hosts의 파일이 참조되지 않는 것이 일반적인 구현입니다.

seokom의 이미지

해당 호스트라고 하면
메일을 보내는 클라이언트를 말씀하시는건가요?

메일을 보내는 클라이언트에서 sc03.kidc.net를 resolve해서
보낸다는 말씀이신지요?

그럼 smtp 서버에서는 resolve할 필요가 없다는...

제가 잘 못 이해한건지도..

pynoos의 이미지

client 는 단지 설정된 smtp ip/port 만을 가지고 smtp server에 발송의뢰를 할 뿐입니다.

실제 MX record fetch가 일어나는 것은 발송의뢰를 받은 smtp server에서 하는 것입니다.

seokom의 이미지

그렇군요..

MX record를 받아올때 IP까지 같이 받아와 버려서
/etc/hosts파일을 참조하지 않는군요..

아.. 그럼 방법이 없단 말인가..

답변 감사드립니다.

pynoos의 이미지

만약 특정 domain으로 가는 것을 원하는 곳으로 보내려고 하실때에는

sendmail 의 경우 mailertable 이라는 것을 알아보세요.

mailertable의 경우

abc.com smtp:192.168.1.247

이런식으로 만들어 줄 수 있습니다.

물론 sendmail.cf 에서 mailertable 을 이용하겠다는 것과, mailertable의 map file을 만들어야합니다만....

seokom의 이미지

감사합니다.

그런 방법도 있었군요..

한번 노력해 봐야지요,, ^^ :D 한번 노력해 봐야지요,, ^^

좋은 하루 되세요..

seokom의 이미지

해결했습니다.

/etc/mail/mailertable에다

abc.com esmtp:mail2

라고 적어주고
makemap hash /etc/mail/mailertable < /etc/mail/mailertable
해준후

/etc/hosts 에는

192.168.1.247 mail2

해주고나서 sendmail을 재시작해주니

abc.com으로 가는 메일은 DNS를 참조하지 않고
192.168.1.247로 가게 됩니다.

감사합니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.