· 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
Many changes of mind and mood; do not hesitate too long.


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.0031 sec