5 ÃÑÁ¤¸®

5-1 client.cf ÄÁÇÇ±× ÆÄÀÏ Å×½ºÆ®

ÀÌÁ¦ Áö±Ý±îÁö ¸¸µç client.cf È­ÀÏÀ» Å×½ºÆ® ÇØº¸±â·Î ÇÏÀÚ. client.cf ÆÄÀÏÀ» Å×½ºÆ®Çϱâ À§ÇÑ ÁÁ Àº ¹æ¹ýÀº °¡´ÉÇÑ ¸ÞÀÏÁÖ¼Ò¸¦ ¸ðµÎ Àû¾î³õ°í ¼¾µå¸ÞÀÏÀÌ ÀÌ ÁÖ¼Ò¸¦ ÀûÀýÇÏ°Ô º¯È¯½ÃŰ´ÂÁö¸¦ »ì Æìº¸´Â °ÍÀÌ´Ù. ¿ì¼± ´ÙÀ½°ú °°Àº ÁÖ¼Ò¸¦ »ý°¢ÇØ º¸¾Ò´Ù.

--
3,0 leesl@enok
3,0 leesl@enok.multi.co.kr
3,0 leesl@jane
3,0 leesl
--

°¢ÇàÀº ·ê¼ÂÀ» ÁöÁ¤ÇÏ´Â °ÍºÎÅÍ ½ÃÀÛÇß´Ù. 3,0Àº ·ê¼Â3À» ½ÇÇàÇÑÈÄ ·ê¼Â0À» ½ÇÇàÇ϶ó´Â °ÍÀÌ´Ù. À§ÀÇ ³»¿ëÀ» list¶ó´Â ÆÄÀÏ¿¡ ÀúÀåÇÑÈÄ ´ÙÀ½°ú °°ÀÌ ½ÇÇàÇØº¸ÀÚ.

enok:~$ /usr/sbin/sendmail -Cclient.cf -bt < list | grep "0 returns"
rewrite: ruleset   0 returns: $# nullclient $@ suny . multi . co . kr $: leesl @ enok
rewrite: ruleset   0 returns: $#  nullclient $@ suny . multi . co . kr $: leesl @ enok .  multi .  co . kr
rewrite: ruleset   0 returns: $# nullclient $@ suny . multi . co . kr $: leesl @ jane
rewrite: ruleset   0 returns: $# nullclient $@ suny . multi . co . kr $: leesl
enok:~$ 
$#´Â Mnullclient¿¡¼­ ÁöÁ¤ÇÑ ½É¹úÀÌ´Ù. ÀÌ nullclient´Â ¸ðµç ¸ÞÀÏÀ» suny.multi.co.kr¿¡ Æ÷¿öµùÇÔ À» $@¿¡¼­ ¾Æ¼ö ÀÖ°í $:ºÎºÐÀÇ »ç¿ëÀÚ ¾ÆÀ̵ð´Â leesl·Î ÀûÀýÇÏ°Ô ³ªÅ¸³ª°í ÀÖ´Ù.

5-2 Å¥µð·ºÅ丮ÀÇ ÀçÁöÁ¤

client.cfÈ­ÀÏ¿¡¼­ Å¥µð·ºÅ丮´Â Àӽ÷Π/tmp·Î ÁöÁ¤ÇÏ¿´´Ù. ÀÌ µð·ºÅ丮´Â ¿ø·¡ Å¥°¡ ÀÖ´Â µð·ºÅä ¸®·Î ¹Ù²Ù¾î ÁÖ¾î¾ß ÇÑ´Ù. º¸Åë Å¥´Â /var/spool/mqueue¿¡ ÀÖÀ¸¹Ç·Î client.cf¿¡¼­ Å¥µð·ºÅ丮¸¦ ¹Ù²ãÁØ´Ù.

--
O QueueDirectory=/var/spool/mqueue
--

ÀÌÁ¦ ÀϹÝÀ¯Àú·Î Å×½ºÆ®Çϴµ¥ ¹®Á¦°¡ ÀÖ´Ù. /usr/sbin/sendmail -Cclient leesl·Î ¸ÞÀÏÀ» º¸³»·Á °í Çϸé -C¿É¼ÇÀÌ ÀϹÝÀ¯Àú·Î Å×½ºÆ® Çϰí /var/spool/mqueue´Â ·çÆ®¸¸ Á¢±ÙÇÒ ¼ö ÀÖÀ¸¹Ç·Î ´Ù À½°ú °°Àº ¿¡·¯°¡ ³­´Ù.

--
enok:~$ /usr/sbin/sendmail -Cclient.cf leesl queuename: Cannot create "qfTAA05798" in "/var/spool/mqueue" (euid=502): Permission denied --

ÀÌÁ¨ ·çÆ®±ÇÇÑÀ» ¾ò¾î Å×½ºÆ® ÇØº¸¾Æ¾ß ÇÑ´Ù.

5-3 ³×ÀÓ¼­¹ö¿¡¼­ MX ·¹ÄÚµå

client.cfÈ­ÀÏ¿¡¼­ Ŭ¶óÀÌ¾ðÆ® È£½ºÆ®µéÀº ¸ðµç ¸ÞÀÏÀ» ¸ÞÀÏÇãºê¿¡ º¸³»°í ¸ÞÀÏÁÖ¼Òµµ ¸ÞÀÏÇãºê·Î ÅëÀÏ µÇ¾úÀ¸¹Ç·Î Ŭ¶óÀÌ¾ðÆ® È£½ºÆ®µéÀÌ ¸ÞÀÏÀ» ¹ÞÀ» Çʿ䰡 ¾ø´Ù. ´Ù½Ã ¸»Çϸé Ŭ¶óÀÌ¾ðÆ® È£½º Æ®´Â ¼¾µå¸ÞÀÏÀÌ ¶°ÀÖÀ» Çʿ䰡 ¾ø´Ù.

À̸¦ À§Çؼ­ Ŭ¶óÀÌ¾ðÆ®·Î º¸³»´Â ¸ÞÀÏÀ» ¸ÞÀÏÇãºê°¡ ´ë½Å ¹Þ¾Æ¾ß ÇÑ´Ù. À̰ÍÀº ³×ÀÓ¼­¹ö¹ö¿Í ¸Þ ÀÏÇãºêÀÇ sendmail.cf¸¦ ¼öÁ¤ÇÔÀ¸·Î¼­ ½ÇÇàÇÒ ¼ö ÀÖ´Ù. ¿ì¼± ³×ÀÓ¼­¹öÀÇ ÄÁÇDZ׸¦ °íÄ¡´Â °Í ºÎÅÍ ÇØº¸ÀÚ.

--

@             IN            SOA      suny.until.co.kr. root.suny.until.co.kr. (
                                     9704041 ; serial
                                     864000 ; refresh-once per day
                                       3600 ; retry-one hour
                                    3600000 ; expire-42 days
                                     604800 ) ; minimum-1 week

(1)              IN             MX      0 suny
(1-1)           IN              MX     20 nora
suny          IN             A       203.277.82.1
(2)              IN             MX      10  suny

paul          IN             A       203.277.82.2
(3)              IN             MX      10  suny
jane          IN             A       203.277.82.3
(4)              IN             MX      10   suny   
--
À§ ¿¹Á¦´Â ³×ÀÓ¼­¹öÀÇ ÄÁÇDZ×È­ÀÏÁß ÀϺθ¦ »Ì¾Æ ¿Â °ÍÀÌ´Ù. ÀÌÁß MX°¡ Mail Exchange¶ó°í ÇØ ¼­ ¸ÞÀϰú °ü·ÃÀÌ ÀÖ´Â ºÎºÐÀÌ´Ù. (1)¹øÁÙÀº until.co.krµµ¸ÞÀÎÀ¸·Î ¸ÞÀÏÀ» º¸³¾ ¶§ ¸ÞÀÏÀ» ¹ÞÀ» È£½ºÆ®¸¦ ÁöÁ¤ÇÏ´Â ºÎºÐÀÌ´Ù. until.co.krµµ¸ÞÀο¡ MX°¡ µÎ °³ Àִµ¥ µÞºÎºÐÀÇ 0,20¿¡ ÀÇÇØ ¿ì¼± ¼øÀ§°¡ °áÁ¤µÈ´Ù. ¼ýÀÚ°¡ ³·ÀºÂÊÀÇ È£½ºÆ®°¡ until.co.kr·Î ¿À´Â ¸ÞÀÏÀ» ¸ÕÀú ¹Þ°Ô µÈ´Ù.

(3)Àº ¸ÞÀÏŬ¶óÀÌ¾ðÆ® È£½ºÆ®ÁßÀÇ Çϳª·Î¼­ ¸¸ÀÏ »ó´ë¹æ È£½ºÆ®°¡ paul·Î ¸ÞÀÏÀ» º¸³»°íÀÚ ÇÒ ¶§ ¾Æ·¡ÀÖ´Â MX 10 suny°¡ ¸ÞÀÏÈ£½ºÆ® suny¸¦ °¡¸£Å°¹Ç·Î suny°¡ ¸ÞÀÏÀ» ¹Þ°Ô µÈ´Ù.

µû¶ó¼­ °¢ È£½ºÆ® ¹Ø¿¡ ¸ÞÀÏÇãºê ÁÖ¼Ò¸¦ À§¿Í °°ÀÌ Ã·°¡ ÇÏ´Â °ÍÀÌ ÁÁ´Ù.

µÎ ¹øÂ°´Â ¸ÞÀÏÇãºêÀÇ ÄÁÇDZ׿¡¼­ °¢ Ŭ¶óÀÌ¾ðÆ® È£½ºÆ®À̸§À» Cw¸ÅÅ©·Î¿¡ À̾î Àû¾îÁØ´Ù.

--
Cw localhost multi.co.kr paul.multi.co.kr suny.multi.co.kr .... --

º¸Åë ¸ÞÀÏÇãºêÀÇ sendmail.cf´Â ÆÄÀÏŬ·¡½º¸¦ ÀÌ¿ëÇϹǷΠ(Fw/etc/sendmail.cw) /etc/sendmail.cw ¿¡ À§ÀÇ ³»¿ëÀ» Àû´Â´Ù.

--
multi.co.kr (µµ¸ÞÀÎ À̸§)
suny.multi.co.kr (°¢ È£½ºÆ® À̸§)
paul.multi.co.kr
jane.multi.co.kr

..

¸ÞÀÏÇãºêÀÇ sendmail.cf´Â client.cf¿Í ´Ù¸£´Ù. ÀÏ´ÜÀº ±âÁ¸ÀÇ sendmail.cf¸¦ ÀÌ¿ëÇϱâ·Î Çϰí À§ÀÇ ³»¿ëÀ» sendmail.cw¿¡ Àû´Â´Ù. ÀÌÁ¦ Å×½ºÆ® ÇØº¸ÀÚ.

--
 suny:~$ /usr/sbin/sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 0 leesl@suny.multi.co.kr
rewrite: ruleset   0   input: leesl @ suny . multi . co . kr
rewrite: ruleset  98   input: leesl @ suny . multi . co . kr
rewrite: ruleset  98 returns: leesl @ suny . multi . co . kr
rewrite: ruleset  97   input: leesl @ suny . multi . co . kr
rewrite: ruleset   3   input: leesl @ suny . multi . co . kr
rewrite: ruleset  96   input: leesl < @ suny . multi . co . kr >
rewrite: ruleset  96 returns: leesl < @ suny . multi . co . kr . >
rewrite: ruleset   3 returns: leesl < @ suny . multi . co . kr . >
rewrite: ruleset   0   input: leesl < @ suny . multi . co . kr . >
rewrite: ruleset  98   input: leesl < @ suny . multi . co . kr . >
rewrite: ruleset  98 returns: leesl < @ suny . multi . co . kr . >
rewrite: ruleset   0 returns: $# local $: leesl
rewrite: ruleset  97 returns: $# local $: leesl
rewrite: ruleset   0 returns: $# local $: leesl
>
> 0 leesl@suny
rewrite: ruleset   0   input: leesl @ suny
rewrite: ruleset  98   input: leesl @ suny
rewrite: ruleset  98 returns: leesl @ suny
rewrite: ruleset  97   input: leesl @ suny
rewrite: ruleset   3   input: leesl @ suny
rewrite: ruleset  96   input: leesl < @ suny >
rewrite: ruleset  96 returns: leesl < @ suny . multi . co . kr . >
rewrite: ruleset   3 returns: leesl < @ suny . multi . co . kr . >
rewrite: ruleset   0   input: leesl < @ suny . multi . co . kr . >
rewrite: ruleset  98   input: leesl < @ suny . multi . co . kr . >
rewrite: ruleset  98 returns: leesl < @ suny . multi . co . kr . >
rewrite: ruleset   0 returns: $# local $: leesl
rewrite: ruleset  97 returns: $# local $: leesl
rewrite: ruleset   0 returns: $# local $: leesl
--
³×ÀÓ¼­¹ö¿¡ ´ëÇØ¼­´Â µû·Î ÀåÀ» ¸¸µé¾î ¼³¸íÇϱâ·Î ÇÏÀÚ.

5-4 Ŭ¶óÀÌ¾ðÆ®¿¡¼­ µ¥¸Õ ¸ðµå Ãë¼Ò

ÀÌÁ¨ Ŭ¶óÀÌ¾ðÆ®¿¡¼­ ¼¾µå¸ÞÀÏ µ¥¸ÕÀ» ¶ç¿ï Çʿ䰡 ¾ø´Ù. µû¶ó¼­ /etc/rc/rc.M¿¡¼­ (À̰ÍÀº »ç¿ëÇÏ ´Â OS¸¶´Ù Â÷À̰¡ ÀÖ´Ù) /usr/sbin/sendmail -bd -q1h ¿Í °°Àº ÁÙ¿¡ ´ëÇØ ÁÖ¼®Ã³¸®ÇØÁØ´Ù.

--
## Start the sendmail daemon:
#if [ -x /usr/sbin/sendmail ]; then
#  echo "Starting sendmail daemon (/usr/sbin/sendmail -bd -q 15m)..."
#  /usr/sbin/sendmail -bd -q 15m
#fi

µ¥¸ÕÀ» Á׿©³õ¾ÒÀ¸¹Ç·Î Å¥¿¡ ÀÖ´Â ¸ÞÀÏÀ» ÁÖ±âÀûÀ¸·Î ºñ¿öÁÖ´Â°Ô ÇÊ¿äÇÏ´Ù. À̰ÍÀº cron(8)¿¡ ÀÇ ÇØ ÁÖ±âÀûÀ¸·Î Å¥¸¦ ºñ¿öÁÖ¸é µÈ´Ù. ¼¾µå¸ÞÀÏÀÌ µ¥¸ÕÀ¸·Î ¶°ÀÖÀ¸¸é ¸Þ¸ð¸®¸¦ Â÷ÁöÇϹǷΠºñÈ¿À² ÀûÀÌ´Ù. À̸¦ À§ÇØ ·çÆ®±ÇÇÑÀ» °®°í crontab¸¦ ÆíÁýÇØº¸ÀÚ. crontab ÆíÁý¸í·É¾î´Â ´ÙÀ½°ú °°´Ù.

--
suny:~# crontab -e root
--

ÆíÁýÇØ¼­ ´ÙÀ½°ú °°Àº ÁÙÀ» Ãß°¡ÇØÁÖÀÚ.

--
15 *  * * *       /usr/sbin/sendmail -q
--
ÀÌÇàÀº ¸Å½Ã°£ 15ºÐ¸¶´Ù Å¥¸¦ ºñ¿ì°í ÀÛ¾÷À» Á¾·áÇ϶ó´Â ¸í·É¾îÀÌ´Ù.

ÀÌÁ¦ client.cf¸¦ ¸ÞÀÏŬ¶óÀÌ¾ðÆ®¿¡ ¼³Ä¡ÇÏÀÚ.

--
cd /etc
mv sendmail.cf sendmail.cf.orig
cp client.cf sendmail.cf
--

ÀÌÁ¦ ¼¾µå¸ÞÀÏÀÇ ±âº»ÀûÀÎ È帧À» Á¶±Ý ¸Àº¸¾Ò´Ù. syslog°¡ º¸³»´Â ¸Þ½ÃÁö¸¦ °ËÅäÇϸ鼭 sendmail¿¡ ¹«½¼ ¿¡·¯°¡ ÀÖ´ÂÁö »ìÆìº»´Ù.


Á»´õ ÀÚ¼¼ÇÑ ³»¿ëÀº Á¦°¡ ½Ã°£ÀÌ ³¯¶§¸¶´Ù Ãß°¡ÇÒ ¿¹Á¤ÀÔ´Ï´Ù. ºÎÁ·ÇÏÁö¸¸ ¸ÞÀÏ¿¡ °üÇØ ¾öûå°ú ÀڷḦ Àоú¾î¿ä. ¹®Á¦°¡ ÀÖÀ¸¸é ¸ÞÀÏÁÖ¼¼¿ä.