· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Linuxdoc Sgml/Sendmail-Address-Rewrite

sendmail address rewriting mini-HOWTO

sendmail address rewriting mini-HOWTO

Thomas Roessler, roessler@guug.de

v0.0, 6 May 1998 ¹ø¿ª : Á¤À翵 cychong12@hanmail.net v0.0, 3 Aug 1999
ÀÌ ¹®¼­´Â Áý¿¡¼­ dial-upÀ» ÅëÇØ ÀÎÅͳݿ¡ ¿¢¼¼½ºÇÏ´Â »ç¿ëÀÚ¸¦ À§ÇØ sendmailÀ» ¼³Á¤ÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ °£·«ÇÏ°Ô ¼Ò°³ÇÑ´Ù.

1. ¼Ò°³±Û

¿ì¸®´Â »ç¿ëÀÚ°¡ ´ëÇÐÀ̳ª ¿Â¶óÀÎ ¼­ºñ½º¸¦ »ç¿ëÇÏ´Â °ÍÀ¸·Î º¸ÀÌ´Â °¡Àå ÈçÇÑ ÇüÅÂÀÇ ÀÎÅÍ³Ý ¿¢¼¼½º ¹æ¹ýÀ» »ç¿ëÇÑ´Ù°í °¡Á¤ÇÑ´Ù : Áï »ç¿ëÀÚÀÇ ¼­ºñ½º Á¦°øÀÚ¿¡°Ô ´ÙÀ̾ó ¾÷À¸·Î ½Ã¸®¾ó ¿¬°á(ÀüÈ­¼±)À» ÀÌ¿ëÇÏ¿© PPP Á¢¼ÓÀ» ÇÑ´Ù. »ç¿ëÀÚ°¡ ¼ö½ÅÇÒ ¸ÞÀÏÀº ¼­ºñ½º Á¦°øÀÚÀÇ POP³ª IMAP ¼­¹ö¿¡ ½ºÇ®µÇ°í, »ç¿ëÀÚ°¡ ¼Û½ÅÇÏ´Â ¸Þ½ÃÁö´Â SMTP¸¦ ÅëÇØ Àü¼ÛµÈ´Ù. »ç¿ëÀÚ´Â »ç¿ëÀÚ¸¸ÀÇ µµ¸ÞÀÎÀ» °¡Áö°í ÀÖÁö ¾Ê°í, ¸ðµç °ÍÀ» ÇϳªÀÇ ÁÖ¼Ò¸¦ ÅëÇØ Ã³¸®ÇØ¾ß ÇÑ´Ù.

¿ì¸®´Â ¿©·¯ºÐµéÀÌ Eric AllmanÀÇ sendmailÀ» ÃÖ±Ù ¹öÀüÀ¸·Î ¼³Ä¡Çß´Ù°í °¡Á¤ÇÑ´Ù(ÀÌ ±ÛÀÌ ¾²¿©Áö´Â ÇöÀç ÃֽŠ¹öÀüÀº 8.8.8ÀÌ´Ù).

ÀÌ ¹®¼­ÀÇ ÀϺκп¡¼­´Â Debian GNU/Linux ½Ã½ºÅÛÀÇ Æ¯º°ÇÑ Æ¯¼º¿¡ ´ëÇØ ¾ð±ÞÇÏ°í ÀÖ´Ù. ´Ù¸¥ ¹èÆ÷º» »ç¿ëÀÚ´Â ÀÌ·± Á¡¿¡ À¯ÀÇÇØ¾ß ÇÒ °ÍÀÌ´Ù

¿ì¼± ´ÙÀ½°ú °°Àº Á¤º¸¸¦ ¾Ë°í ÀÖ´ÂÁö È®ÀÎÇØ º»´Ù

»ç¿ëÀÚ°¡ »ç¿ëÇÏ´Â ISPÀÇ ¸ÞÀÏ ¼­¹ö »ç¿ëÀÚÀÇ ÀÎÅÍ³Ý ¸ÞÀÏ ÁÖ¼Ò

¿ì¸®°¡ °èȹÇÑ ¼³Á¤Àº ´ÙÀ½°ú °°Àº µÎ°¡Áö ¸ñÀûÀ» °®´Â´Ù

  1. ¿©·¯ ·ÎÄà »ç¿ëÀÚ°£¿¡ ¸ÞÀÏ Àü¼ÛÀÌ °¡´ÉÇØ¾ß ÇÑ´Ù(MUST).
  2. ¿ÜºÎ¿¡¼­´Â ·ÎÄà »ç¿ëÀÚÀÇ ·ÎÄà ¸ÞÀÏ ÁÖ¼Ò°¡ ¾Æ´Ñ ·ÎÄà »ç¿ëÀÚÀÇ ISP ¸ÞÀÏ ÁÖ¼Ò¸¦ ºÁ¾ß ÇÑ´Ù.
ÀÌ µÎ °¡Áö¸¦ À§ÇØ ¿ì¸®´Â sendmailÀÇ genericstable ±â´ÉÀ» ÀÌ¿ëÇÒ °ÍÀÌ´Ù.

2. ÆÄÀÏ ·Îµå¸Ê

¿ì¸®´Â ¸ðµç sendmailÀÇ ¼³Á¤ ÆÄÀÏÀ» /etc ¹ØÀÇ º°µµÀÇ µð·ºÅ丮, /etc/mail ¿¡ µÑ °ÍÀÌ´Ù. ´ë°³ sendmailÀº ÀÌ ¼³Àå ÆÄÀϵéÀÌ /etc ¹Ø¿¡ ÀÖÀ» °ÍÀ¸·Î ±â´ëÇÑ´Ù. ±×·¯¹Ç·Î ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇÇÇÏ·Á¸é /etc/sendmail.cf¸¦ /etc/mail/sendmail.cf ¿¡ ½Éº¼¸¯ ¸µÅ©½ÃŲ´Ù.

/etc/mail¿¡ µÑ ÆÄÀϵéÀº ´ÙÀ½°ú °°´Ù.

? =20
aliases - Ãß°¡ÀûÀÎ ·ÎÄà ÁÖ¼ÒµéÀ» Æ÷ÇÔÇÑ´Ù
genericsdomain - »ç¿ëÀÚ ·ÎÄà ȣ½ºÆ®¿¡ ´ëÇÑ ¼³Á¤ Á¤º¸¸¦ ´ã°í ÀÖ´Ù.
? genericstable - ½ÇÁ¦·Î »ç¿ëµÉ rewriting ±ÔÄ¢À» ´ã°í ÀÖ´Ù
? sendmail.cf - sendmailÀÇ ¼³Á¤ ÆÄÀÏ
? sendmail.mc - sendmail.cfÀÇ ¿øº»
ÀÌ ÆÄÀÏÁß ¸î°³´Â .db ÆÄÀÏÀ» Ãß°¡·Î °¡Áö°í ÀÖ´Ù. ÀÌ ÆÄÀϵéÀº sendmailÀÌ Á÷Á¢ »ç¿ëÇÒ Çؽ¬µÈ µ¥ÀÌÅͺ£À̽º¸¦ ÀúÀåÇÑ´Ù.

¿ì¸®´Â sendmailÀÇ ¼Ò½º Áß cf ºÎºÐÀÌ /usr/lib/sendmail.cf¿¡ ÀÖ´Ù°í °¡Á¤ÇÑ´Ù. Debian GNU/LinuxÀÇ °æ¿ì°¡ ±×·¸´Ù. ´Ù¸¥ ¹èÆ÷º»ÀÇ °æ¿ì ÀÌ ÆÄÀÏ Àº ´Ù¸¥ °÷¿¡ ÀÖÀ» ¼ö ÀÖ´Ù. ÀÌ °æ¿ì ÀÚ¼¼ÇÑ ³»¿ëÀº °¢°¢ÀÇ ¹èÆ÷º»¿¡ Æ÷ÇÔµÈ ¹®¼­¸¦ ÂüÁ¶ÇÏ±æ ¹Ù¶õ´Ù.

3. sendmail ¼³Á¤Çϱâ

3.1 ÁÖ ¼³Á¤ ÆÄÀÏ

SendmailÀº ¸Å¿ì º¹ÀâÇÑ ±ÔÄ¢À» »ç¿ëÇÏ¿© ȯ°æ ¼³Á¤À» ÇÑ´Ù. À̰͵éÀ» »ç¿ëÇÏ¿© ´Ù¾çÇÑ ÀÛ¾÷À» ÇÒ ¼ö ÀÖÁö¸¸ sendmail.cf ÆÄÀÏÀ» óÀ½ºÎÅÍ Á÷Á¢ ÀÛ¼ºÇÏ´Â °ÍÀº ÀϹÝÀûÀÌÁö ¾Ê°í ¶Ç ¸¹Àº ½Ã°£ÀÌ °É¸°´Ù. ±»ÀÌ ÀÌ·± ÀÛ¾÷À» ÇÏ°í ½Í´Ù¸é ÀÌ ¹®¼­ Àд °ÍÀ» Áö±Ý ¸ØÃß°í O'Reilly ¿¡¼­ ÃâÆÇµÈ "Bat Book"À» Àд °ÍÀÌ ÁÁ´Ù.

¿ì¸®´Â ÀÌ ±ÔÄ¢µéÀ» Á÷Á¢ ¼ÕÀ¸·Î ¾²Áö ¾Ê°í sendmail°ú ÇÔ²² ¹èÆ÷µÇ´Â ÆÄÀϵé·ÎºÎÅÍ m4 ¸ÅÅ©·Î ÇÁ·Î¼¼¼­¸¦ ÀÌ¿ëÇÏ¿© ¼³Á¤ ÆÄÀÏÀ» ¸¸µé °ÍÀÌ´Ù.

¸ÕÀú senamail.mc ÆÄÀÏÀÇ Ã¹¹ø° ¸î ÁÙÀ» º¸ÀÚ


include(/usr/lib/sendmail.cf/m4/cf.m4)
VERSIONID(sendmail.mc - <url url="mailto: roessler@guug.de" name="roessler@guug.de">
OSTYPE(debian)
define(`ALIAS_FILE',`/etc/mail/aliases')

ùºÎºÐ¿¡¼­ cf.m4°¡ includeµÇ¾ú´Ù. ÀÌ m4 ¸ÅÅ©·Î ÆÄÀÏÀº ÆÄÀÏÀÇ ³ª¸ÓÁö ºÎºÐ¿¡¼­ »ç¿ëµÉ ´Ù¾çÇÑ ¸ÅÅ©·Î Á¤ÀǵéÀ» Æ÷ÇÔÇÏ°í ÀÖ´Ù. À̶§ ÆÄÀÏÀÇ °æ·Î °¡ ¸Â´ÂÁö È®ÀÎÇØ¾ß ÇÑ´Ù - ¿©±â¼­ »ç¿ëÇÏ´Â °æ·Î´Â Debian GNU/Linux¿¡¼­ »ç¿ëÇÏ´Â °ÍµéÀÌ´Ù. OSTYPE ¸ÅÅ©·Î´Â ¸î¸î ¼³Á¤ °ª¿¡ ´ëÇØ ?ëÇ?±âº»°ªÀ» ÁöÁ¤ÇØ ÁØ´Ù. ¸¸ÀÏ »ç¿ëÀÚ°¡ Debian ½Ã½ºÅÛÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù¸é "debian" À» "linux"·Î ¹Ù²Ù´Â °ÍÀÌ ÁÁ´Ù. ALIAS_FILEÀº sendmailÀÌ alias ¸®½ºÆ® ¸¦ ¾îµð¿¡¼­ ã¾Æ¾ß ÇÏ´ÂÁö ¾Ë·ÁÁØ´Ù.

´ÙÀ½ ºÎºÐÀº sendmail¿¡°Ô genericstable ±â´ÉÀ» »ç¿ëÇϵµ·Ï ÁöÁ¤ÇÏ°í , À̶§ ÇÊ¿äÇÑ ¼³Á¤ ÆÄÀÏÀ» ãÀ» °÷À» ÁöÁ¤ÇÏ°í ÀÖ´Ù.


FEATURE(masquerade_envelope) FEATURE(genericstable, `hash
-o /etc/mail/genericstable')
GENERICS_DOMAIN_FILE(`/etc/mail/genericsdomain')

masquerade_envelope ±â´ÉÀº sendmail¿¡°Ô ¸Þ½ÃÁöÀÇ envelope sender ºÎºÐ¿¡ ´ëÇØ header rewritingÀ» Àû¿ëÇ϶ó°í Áö½ÃÇÑ´Ù. ÀÌ°ÍÀº ¿ÜºÎ ¸ÞÀÏ Àü¼Û ½Ã½ºÅÛÀÌ ¸ÞÀÏ Àü¼ÛÀ» ½ÇÆÐÇßÀ» ¶§ ±× °á°ú º¸°í¿Í °æ°í ¸Þ½ÃÁö¸¦ Àü¼ÛÇÒ ¸ÞÀÏ ÁÖ¼ÒÀÌ´Ù. generics* ÆÄÀϵéÀº À̱ÛÀÇ ¾Æ·¡¿¡¼­ ¼³¸íÇÑ´Ù.

ÀÌÁ¦ ¼ÒÀ§ smart host¶ó°í ºÒ¸®´Â °ÍÀ» Á¤ÀÇÇØ¾ß ÇÑ´Ù. ÀÌ°ÍÀº »ç¿ëÀÚÀÇ ½Ã½ºÅÛÀ» À§ÇØ ¿ÜºÎ·Î ³ª°¥ ¸ÞÀÏÀ» ó¸®ÇÒ ¸Ó½ÅÀ» ¸»ÇÑ´Ù. ÀÌ°ÍÀº »ç¿ëÀÚÀÇ ISPÀÇ POPÀ̳ª IMAP ¼­¹ö¿Í´Â ´Ù¸¦ °ÍÀÌ´Ù. ¸¸ÀÏ Àǽɽº·´´Ù¸é ISP¿¡ ¿¬¶ô ÇÏ¿© È®ÀÎÇÏ´Â °ÍÀÌ ÁÁ´Ù. ÁÖ ¼³Á¤ ÆÄÀÏÀÇ ÄÚµå´Â ´ÙÀ½°ú °°´Ù :


define(`SMART_HOST',`mail-out.your.provider')

¿©±â¼­ mail-out.your.provider ºÎºÐÀ» »ç¿ëÀÚÀÇ ISP È£½ºÆ® ¸Ó½Å Àüü À̸§À¸·Î ¹Ù²Ù±â ¹Ù¶õ´Ù.

¸¶Áö¸· µÎ ÁÙÀº sednamilÀÌ ´Ù¾çÇÑ ¸ÞÀÏ ÇüŸ¦ ´Ù·ç´Â ¹æ¹ý¿¡ ´ëÇØ ¾Ëµµ·Ï ÇϱâÀ§ÇØ ÇÊ¿äÇÑ "mailer" Á¤ÀǸ¦ Æ÷ÇÔÇÏ°í ÀÖ´Ù :


MAILER(local)
MAILER(smtp)

sendmail.mc·ÎºÎÅÍ sendmail.cf ÆÄÀÏÀ» ¸¸µé·Á¸é ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÑ´Ù (root ±ÇÇÑÀ¸·Î):
# m4 sendmail.mc > _sendmail.cf
# mv -f _sendmail.cf sendmail.cf

¿©±â¼­ m4ÀÌ °á°ú¸¦ Àӽà ÆÄÀÏ¿¡ ÀúÀåÇÑ ÈÄ ÀÌ ÆÄÀÏÀ» Àû´çÇÑ À§Ä¡·Î ¿Å±â´Â ¹æ¹ý¿¡ À¯ÀÇÇÑ´Ù. ÀÌ ¹æ¹ýÀ» ¾²¸é ÀϺκи¸ ÀúÀåµÈ ¼³Á¤ ÆÄÀÏÀ» ÀÐ¾î ¸ÞÀÏ ÀÌ Àü¼ÛµÇ´Â °ÍÀ» ¹æÁöÇÒ ¼ö ÀÖ´Ù.

3.2 Address rewriting

¿ì¸®´Â ¸ÕÀú ¾î¶² ÁÖ¼Ò°¡ ·ÎÄ÷Π°£ÁֵǴÂÁö¸¦ sendmail¿¡°Ô ¾Ë·ÁÁà¾ß ÇÑ´Ù. (ÀÌ ÁÖ¼ÒµéÀÇ address rewritingÀÇ ´ë»óÀÌ µÈ´Ù) ÀÌ°ÍÀº ¸Å¿ì °£´ÜÇÏ´Ù: ´ÜÁö »ç¿ëÀÚ ¸Ó½ÅÀÇ È£½ºÆ® À̸§À» /etc/mail/genericdomain¿¡ ÀûÀ¸¸é µÈ´Ù »ç¿ëÀÚ È£½ºÆ®ÀÇ Àüü À̸§À» ¾Ë·Á¸é ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÏ¸é µÈ´Ù :


$ hostname -f

ÀÌÁ¦ rewriting Å×À̺íÀ» º¸ÀÚ : /etc/mail/genericstable. ÀÌ ÆÄÀÏÀº °ø¹éÀ¸·Î ±¸ºÐµÈ µÎ °³ÀÇ ¿­À» Æ÷ÇÔÇÏ°í ÀÖ´Ù. ù¹ø° ¿­Àº ·ÎÄà ÁÖ¼ÒÀÌ°í µÎ¹ø° ¿­ÀÌ ·ÎÄà ÁÖ¼Ò ´ë½Å »ç¿ëµÉ À̸ÞÀÏ ÁÖ¼ÒÀÌ´Ù. ÀÌ ÆÄÀÏÀº ´ÙÀ½°ú °°Àº Çü½ÄÀÏ °ÍÀÌ´Ù :
harry <url url="mailto: harryx@your.isp" name="harryx@your.isp">
maude <url url="mailto: maudey@her.isp" name="maudey@her.isp">
root <url url="mailto: fredx@your.isp" name="fredx@your.isp">
news <url url="mailto: fredx@your.isp" name="fredx@your.isp">

·ÎÄà ½Ã½ºÅÛ¿¡¼­ ¸¸µé¾îÁø ¸ÞÀÏÀÌ ¿Ã¹Ù¸¥ Çì´õ Á¤º¸¸¦ °¡Áö°í Àü¼ÛµÇ±â À§Çؼ­´Â ·ÎÄà ¸Ó½ÅÀÇ °¢°¢ÀÇ °èÁ¤¸¶´Ù ÇÑ°³ÀÇ Ç׸ñÀ» °¡Á®¾ß ÇÑ´Ù. (¿ªÀÚ ÁÖ : °¢°¢ÀÇ ·ÎÄà °èÁ¤¿¡ ´ëÇØ ISP °ÔÁ¤°úÀÇ ¿¬°áÀÌ ÀÖ¾î¾ß ÇÑ´Ù)

SendmailÀº ¼º´ÉÀ» ³ôÀ̱â À§ÇØ ÅؽºÆ® ÆÄÀÏÀ» Á÷Á¢ »ç¿ëÇÏÁö ¾Ê°í Çؽ¬µÈ ¹öÀüÀ» »ç¿ëÇÑ´Ù. Çؽ¬µÈ ¹öÀüÀ» ¸¸µé¾î³»·Á¸é ´ÙÀ½°ú °°ÀÌ ÀÔ·Â ÇÑ´Ù :


# makemap -r hash genericstable.db < genericstable

À̶§ genericstableÀÇ rewriting ±ÔÄ¢Àº ·ÎÄà ¸ÞÀÏÀ̳ª ¿ÜºÎ·ÎºÎÅÍ ¼ö½ÅÇÑ ¸ÞÀÏ¿¡´Â Àû¿ëµÇÁö ¾Ê´Â´Ù. ÀÌ ¸ÅÇÎÀº ¿ÀÁ÷ »ç¿ëÀÚÀÇ ·ÎÄà ½Ã½ºÅÛ¿¡¼­ »ç¿ëÀÚÀÇ ISP¸¦ ÅëÇØ ¿ÜºÎ·Î Àü¼ÛµÇ´Â ¸ÞÀÏ¿¡¸¸ Àû¿ëµÈ´Ù.

3.3 Aliases

aliases ÆÄÀÏÀº ·ÎÄà ¸Þ½ÃÁö¿¡¸¸ À¯È¿ÇÑ Ãß°¡ÀûÀÎ ¸î °³ÀÇ ·ÎÄà À̸§À» ´ã°í ÀÖ´Ù. ÀÌ°ÍÀº »ç¿ëÀÚÀÇ ½Ã½ºÅÛÀ¸·ÎºÎÅÍ ÀÚµ¿ÀûÀ¸·Î »ý¼ºµÇ´Â ¸Þ½ÃÁö¸¦ ¼ö½ÅÇÏ´Â ·çÆ® °°Àº °ü¸®ÀÚ °èÁ¤¿¡ À¯¿ëÇÏ´Ù.

/etc/mail/aliases´Â ´ÙÀ½°ú °°Àº ÇüÅÂÀÏ °ÍÀÌ´Ù.


root: fred
news: root
postmaster: root
mail: root
www: root
nobody: /dev/null
MAILER-DAEMON: nobody

ÀÌ ¿¹´Â root, news, postmaster, mail ±×¸®°í www »ç¿ëÀÚÀÇ ·ÎÄà ¸ÞÀÏÀ» root¿¡°Ô Æ÷¿öµùÇÏ°í, rootÀÇ ¸ÞÀÏÀº fred¿¡°Ô Æ÷¿öµùÇÑ´Ù. (¿ªÀÚ ÁÖ: °á±¹ root, news, postmaster, mail ±×¸®°í www¿¡°Ô ¼ö½ÅµÇ´Â ¸ðµç ¸ÞÀÏÀº fred°¡ ¼ö½ÅÇÏ°Ô µÈ´Ù). ¹Ý¸é nobody¿Í MAILER-DAEMONÀº /dev/null¿¡°Ô º¸³»Áø´Ù.

genericstable°ú °°ÀÌ aliasesµµ ¸¹Àº Ç׸ñÀ» ´ã°í ÀÖÀ» ¼ö ÀÖ´Ù. ±×·¯¹Ç·Î sendmailÀÌ ÅؽºÆ® ÆÄÀÏÀ» Á÷Á¢ »ç¿ëÇÏ´Â °ÍÀº ¼º´É¸é¿¡¼­ ÁÁÁö ¾Ê´Ù. genericstable ¿¡¼­ »ç¿ëÇÑ °Í°ú °°Àº ¹æ¹ýÀÌ aliases¿¡µµ »ç¿ëµÈ´Ù. Áï Çؽ¬µÈ µ¥ÀÌÅͺ£À̽º°¡ ¸¸µé¾îÁø´Ù. makemapÀ» Á÷Á¢ »ç¿ëÇÏ´Â ´ë½Å newaliases ¸í·É¾î¸¦ »ç¿ëÇÏ¸é µÈ´Ù. ÀÌ ¸í·É¾î°¡ ÇÊ¿äÇÑ ¸ðµç ÀÛ¾÷À» ÀÚµ¿À¸·Î ¼öÇàÇÑ´Ù.

4. ´õ ÀоîºÁ¾ß ÇÒ °Í

sendmail ¼Ò½º ¹èÆ÷º»Àº ¸¹Àº ¹®¼­¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Ù. ƯÈ÷ cf/README¸¦ Àо´Â °ÍÀÌ ÁÁ´Ù. sendmailÀÇ ´Ù¾çÇÑ ¼³Á¤ ¿É¼Ç¿¡ ´ëÇØ Á» ´õ ¾Ë°í ½Í´Ù¸é O'Reilly¿¡¼­ ³ª¿Â "Bat Book"À» Àо´Â °ÍÀÌ ÁÁ´Ù. Bryan Costales, Eric Allman, and Neil Rickert: "sendmail". O'Reilly, 1993


ID
Password
Join
You display the wonderful traits of charm and courtesy.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2003-08-10 11:52:30
Processing time 0.0018 sec