Linux Advanced Routing & Traffic Control HOWTO
Linux Advanced Routing & Traffic Control HOWTO
Bert Hubert
Netherlabs BV
bert.hubert(at)netherlabs.nl
Gregory Maxwell
greg(at)linuxpower.cx
Remco van Mook
remco(at)virtu.nl
Martijn van Oosterhout
kleptog(at)cupid.suninternet.com
Paul B Schroeder
paulsch(at)us.ibm.com
Jasper Spaans
jasper(at)spaans.ds9a.nl
Revision History
Revision $Revision: 1.52 $
![]() Contents
1. ÇåÁ¤ ¶ÀÌ ¹®¼´Â ¸¹Àº »ç¶÷µéÀÇ ¿Á¤ÀÌÀÚ ¹«¾ð°¡ º¸´äÇÏ°í ½ÍÀº ³ªÀÇ ³ë·ÂÀÇ °á°ú¹°ÀÌ´Ù. ÀûÀº ¼ö³ª¸¶ ³ªÅ¸³»¸é ¾Æ·¡¿Í °°´Ù.
2. ¼Ò°³ ¶¹Ý°©½À´Ï´Ù, ´ÙÁ¤ÇÑ µ¶ÀÚ¿©.
ÀÌ ¹®¼´Â ¸®´ª½º 2.2/2.4¸¦ °¡Áö°í ¾î¶»°Ô ¸¹Àº °ÍÀ» ÇÒ ¼ö ÀÖ´ÂÁö °¡¸£Ä¡±â¸¦ Èñ¸ÁÇÕ´Ï´Ù. ¸¹Àº »ç¿ëÀڵ鿡°Ô´Â ¹ÌÁöÀÇ °ÍÀÌÁö¸¸ ¸ÚÁø ÀÏÀ» ÇÏ°Ô ÇØÁÖ´Â µµ±¸µéÀ» ÀÌ¹Ì ½ÇÇàÇØ ºÃÀ» °Ì´Ï´Ù. route ¿Í ifconfig °°Àº ¸í·ÉÀº »ç½Ç ¸Å¿ì °·ÂÇÑ iproute2 ÀÎÇÁ¶ó¸¦ µÑ·¯½Ñ ¾ãÀº ²®Áú¿¡ ºÒ°úÇÕ´Ï´Ù.
³ª´Â ÀÌ HOWTO°¡ Rusty RussellÀÇ °Í Áß Çϳª netfilter¿Í °°ÀÌ ³Î¸® ÀÐÈ÷±â¸¦ ¹Ù¶ø´Ï´Ù.
![]() ÀÌ HOWTO¿¡¼ ±æÀ» ÀÒ±â Àü¿¡ °£´ÜÇÑ È帧 Á¶Àý¸¸ ÇÒ »ý°¢ÀÌ¸é ¸ðµç°É °Ç³Ê ¶Ù°í ´Ù¸¥ °¡´É¼ºÀ¸·Î °¡¼ CBQ.init À» ÀÐÀ¸½Ê½Ã¿À.
2.1. ±Ç¸®ÀÇ Æ÷±â¿Í Çã°¡ ¶ÀÌ ¹®¼´Â ¸Å¿ì À¯¿ëÇÏ°Ô »ç¿ëµÇ¸®¶ó ÇÏ´Â Èñ¸ÁÇÏ¿¡ ¹èÆ÷ÇÏÁö¸¸, ¾Æ¹«·± º¸Áõµµ ÇÏÁö ¾Ê½À´Ï´Ù. ±â°èÀûÀ̳ª ƯÁ¤ ¸ñÀû¿¡ ¸Â´Â´Ù´Â ¾Ï¹¬ÀûÀÎ º¸Áõµµ ¾ø½À´Ï´Ù.
ª°Ô ¾ê±âÇØ¼, STM-64 ¹éº»ÀÌ »ç¿ëºÒ´ÉÀÌ µÇ°Å³ª °¡Àå Áß¿äÇÑ °í°´¿¡°Ô Æ÷¸£³ë°¡ ÀüÇØÁø´Ù°í ÇØµµ ±×°Ç ¿ì¸®ÀÇ À߸øÀÌ ¾Æ´Õ´Ï´Ù. ¹Ì¾ÈÇÕ´Ï´Ù.
Copyright (c) 2002 by bert hubert, Gregory Maxwell, Martijn van Oosterhout, Remco van Mook, Paul B. Schroeder and others. This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v1.0 or later (the latest version is presently available at http://www.opencontent.org/openpub/).
À̹®¼¸¦ ¾î¶² Çü½ÄÀ¸·Îµç ÀÚÀ¯·Ó°Ô º¹»çÇÏ°í ¹èÆ÷(ÆÈ°Å³ª ȤÀº Áְųª)ÇϽʽÿÀ. ¼öÁ¤°ú ³íÆòÀº ¹®¼ °ü¸®ÀÚ¿¡°Ô Àü´ÞÇϵµ·Ï ºÎŹÇÕ´Ï´Ù.
¶ÇÇÑ ÀÌ ¹®¼¸¦ ÃâÆÇÇÑ´Ù¸é ÀúÀÚ¿¡°Ô "°ËÅä" ¸ñÀûÀ¸·Î ¸î °³ º¸³»ÁÖ½Ã±æ ºÎŹµå¸³´Ï´Ù.
![]() ÇÑ±Û ¹ø¿ªÀÇ ÀúÀÛ±ÇÀº ÀÌÀ籤°ú ±âÁ¸ ¹ø¿ªÀÚ °¢°¢¿¡°Ô ÀÖÀ¸¸ç Open Publication License v1.0 À̳ª ÀÌÈÄ (ÃÖ±Ù ÆÇÀº http://www.opencontent.org/openpub/ ¿¡ ÀÖ½À´Ï´Ù.)ÀÇ 4ÀýÀÇ Á¶°Ç¿¡ ºÎÇÕÇÏ´Â °æ¿ì¿¡ Àç ¹èÆ÷µÉ¼ö ÀÖ½À´Ï´Ù.
2.2. »çÀü Áö½Ä ¶Á¦¸ñÀÌ ¾ê±â ÇÏ´Â °Íó·³ "°í±Þ" ÇÏ¿ìÅõ´Ù. ·ÎÄÏ °úÇÐÀ» ¾ê±âÇÏ´Â °Ç ¾Æ´ÏÁö¸¸ ¾à°£ÀÇ »çÀü Áö½ÄÀÌ ÀÖ´Ù°í °¡Á¤ÇÑ´Ù.
¿©±â µµ¿ò ÁÙ ¼ö ÀÖ´Â ¸î°³ÀÇ Âü°í ¹®µéÀ» ¼Ò°³ÇÑ´Ù.
![]() ³×Æ®¿÷ÀÌ ¹«¾ùÀΰ¡¿¡ ´ëÇØ ¸Å¿ì ÈǸ¢ÇÑ ¼Ò°³¿Í ¼³¸íÀÌ ÀÖ°í ¾î¶»°Ô ´Ù¸¥ ³×Æ®¿÷°ú ¿¬°áµÇ´ÂÁö ¾ê±âÇÑ´Ù.
Linux Networking-HOWTO (Àü¿¡´Â Net-3 HOWTO)
2.3. ¸®´ª½º·Î ÇÒ ¼ö ÀÖ´Â °Í µé ¶ÀÌ·±ÀÏÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù :
2.4. ¹®¼¿¡ ´ëÇØ ÀÏ·¯µÎ±â ¶ÀÌ ¹®¼¿¡ ´ëÇØ ¹Ì¸® ¸»ÇØµÎ°í ½ÍÀº °ÍµéÀÌ ¸î °¡Áö ÀÖ½À´Ï´Ù. ¹®¼ÀÇ ´ëºÎºÐÀº Á¦°¡ ÀÛ¼ºÇßÁö¸¸, °è¼ÓÇØ¼ °°Àº ¹æ¹ýÀ¸·Î ¹®¼¸¦ À¯ÁöÇØ³ª°¡°í ½ÍÁö´Â ¾Ê½À´Ï´Ù. Àú´Â ¿ÀǼҽº¿¡ ´ëÇÑ °·ÂÇÑ ÁöÁöÀڷμ ´©±¸µçÁö ÀÌ ¹®¼¿¡ ´ëÇØ Çǵå¹éÀ» º¸³»ÁÖ°í, °»½ÅÇϰųª ¼öÁ¤ÇÏ´Â °Í¿¡ ´ëÇØ ȯ¿µÀÔ´Ï´Ù. ¿ÀÅ»ÀÚ°¡ Àְųª »ç¼ÒÇÏ°Ô À߸øµÈ ºÎºÐÀÌ ÀÖ´õ¶óµµ ¾ðÁ¦µç Á¦°Ô ¾Ë·ÁÁֽʽÿÀ. ¹®Ã¼°¡ ¾îµòÁö µüµüÇÏ°Ô ´À²¸Áø´Ù¸é ÇÊÀÚ°¡ ¿µ¾î¹Î ¾Æ´Ï¶ó¼ ±×·¯·Á´Ï »ý°¢ÇØ ÁֽʽÿÀ. Á¦¾ÈÇÒ ³»¿ëÀ» º¸³»´Âµ¥ ºÎ´ãÀ» °®Áö ¸»¾ÆÁֽʽÿÀ.
¸¸¾à ´ç½ÅÀÌ ¾î¶² ¼½¼ÇÀ» ¸Ã¾Æ¼ À¯ÁöÇϴµ¥ ½º½º·Î°¡ ´õ Àû´çÇÏ´Ù°í ´À³¢½Å´Ù¸é, ¶Ç´Â »õ·Î¿î ¼½¼ÇÀ» ÀÛ¼ºÇؼ À¯ÁöÇØ³ª°¡·Á°í ÇÑ´Ù¸é ±×°Í ¶ÇÇÑ È¯¿µÇÕ´Ï´Ù. ÀÌ ÇÏ¿ìÅõÀÇ SGML ÆÇÀº CVS ¸¦ ÅëÇØ ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸¹Àº ºÐµéÀÌ ÀÌ ¹®¼¸¦ Çù·ÂÇØ¼ ¸¸µé¾î³ª°¥ ¼ö ÀÖ´Ù¸é Á¤¸» ÁÁ°Ú½À´Ï´Ù.
µ¡ºÙ¿© ÀÌ ¹®¼¸¦ Àдٺ¸¸é ¸¹Àº FIXME Ç¥½Ã¸¦ º¸½Ç°Ì´Ï´Ù. ¼öÁ¤Àº ¾ðÁ¦³ª ´ëȯ¿µ! FIXME Ç¥½Ã°¡ ÀÖ´Â ºÎºÐÀ» ÀÐÀ¸½Å´Ù¸é ´ç½ÅÀº ¹ÌÁöÀÇ ¿µ¿ªÀ» °È°í ÀÖ´Â °ÍÀÔ´Ï´Ù. Ç¥½Ã°¡ ºÙ¾îÀÖÁö ¾ÊÀº ´Ù¸¥ ºÎºÐ¿¡¼´Â ¿À·ù°¡ ÀüÇô ¾ø´Ù´Â Àǹ̴ ¹°·Ð ¾Æ´Õ´Ï´Ù¸¸, ±×¸¸Å ´õ Á¶½ÉÇØ¾ß µÈ´Ù´Â ¶æÀÌÁÒ. ¸¸¾à ¾î¶² ³»¿ë¿¡ ´ëÇØ °ËÁõÇÏ¼Ì´Ù¸é ¾Ë·ÁÁֽʽÿÀ. ±×·¯¸é FIXME Ç¥½Ã¸¦ »èÁ¦ÇÒ °ÍÀÔ´Ï´Ù.
ÀÌ ÇÏ¿ìÅõ¿¡¼´Â ¸î°¡Áö °¡Á¤Çϰí ÀÖ´Â °ÍÀÌ ÀÖ½À´Ï´Ù. À̸¦Å×¸é ½ÇÁ¦·Î´Â Á» µå¹°°ÚÁö¸¸ ÀÎÅÍ³Ý ¿¬°á¿¡ 10 Mbit À̶óµçÁö ÇÏ´Â ³»¿ëÀÔ´Ï´Ù.
2.5. Á¢±Ù, CVS¿Í ¼öÁ¤º»ÀÇ Á¦Ãâ ¶ÀÌ HOWTO ¹®¼´Â °ø½ÄÀûÀ¸·Î
![]() Àü ¼¼°è ¾îµð¼µç À͸í CVS ¿¢¼¼½º°¡ °¡´ÉÇÕ´Ï´Ù. ÀÌ´Â ¿©·¯°¡Áö ¸é¿¡¼ ÀÌÁ¡ÀÌ Àִµ¥, À̸¦ÅëÇØ ÇÏ¿ìÅõÀÇ »õ ¹öÀüÀ» ¾ò°Å³ª ÆÐÄ¡¸¦ Á¦ÃâÇϴµ¥ ¼ö°í¸¦ ´ú ¼ö ÀÖ½À´Ï´Ù.
°Ô´Ù°¡ ¹®¼¸¦ À¯ÁöÇϰí ÀÖ´Â ÀúÀÚµéÀÌ °¢°¢ ÀÛ¾÷ÇÒ ¼ö Àֱ⠶§¹®¿¡ ´õ¿í ÁÁ½À´Ï´Ù.
$ export CVSROOT=:pserver:anon@outpost.ds9a.nl:/var/cvsroot $ cvs login CVS password: ['cvs'¶ó°í Ä¡¼¼¿ä ('´Â »©½Ã°í)] $ cvs co 2.4routing cvs server: Updating 2.4routing U 2.4routing/2.4routing.sgml¿À·ù¸¦ ã°Å³ª Ãß°¡ÇϰíÀÚ ÇÏ´Â ³»¿ëÀÌ ÀÖ´Â °æ¿ì´Â Á÷Á¢ °íÄ¡½Å ÈÄ cvs diff -u ¸í·ÉÀ» ½ÇÇà ÇÑ °á°ú¸¦ ¿ì¸®¿¡°Ô º¸³»ÁֽʽÿÀ. postscript ¿Í dvi, pdf, html, plain text µîÀ» ¸¸µé ¼ö ÀÖ´Â Makefile µµ Á¦°øÇϰí ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¹®¼ Æ÷¸ËÀ» ¸¸µé±â À§Çؼ´Â docbook °ú docbook-utils, ghostscript, tetex ¸¦ ¼³Ä¡ÇØ µÎ¾î¾ß ÇÕ´Ï´Ù.
2.6. ¸ÞÀϸµ ¸®½ºÆ® ¶ÀúÀÚµéÀº ÀÌ ÇÏ¿ìÅõ¿¡ ´ëÇØ Á¡Á¡ ´õ ¸¹Àº ÆíÁö¸¦ ¹Þ°Ô µÇ¾ú´Âµ¥, ¸ÞÀϸµ¸®½ºÆ®¸¦ °³¼³ÇÏ´Â °ÍÀÌ ¸ðµÎ¿¡°Ô µµ¿òÀÌ µÉ °ÍÀ̶ó´Â °ÍÀÌ ¸í¹éÇÏ´Ù´Â °áÁ¤¿¡ À̸£·¶½À´Ï´Ù.
![]() ¸ÞÀϸµ¸®½ºÆ®¸¦ ÅëÇÏÁö ¾ÊÀº Áú¹®¿¡ ´ëÇØ¼´Â ÀúÀÚµéÀÌ ´äÇϱ⸦ ¸Å¿ì ²¨·Á ÇÒ °ÍÀ̶õ °ÍÀ» ÁöÀûÇÏ°í ³Ñ¾î°©´Ï´Ù. ÀÌ´Â ¸ÞÀϸµ¸®½ºÆ®°¡ ÀÏÁ¾ÀÇ Áö½ÄÀÇ ÁÖÃåµ¹ÀÌ µÇ±æ ¿øÇϱ⠶§¹®ÀÔ´Ï´Ù. ¸¸¾à Áú¹®ÀÌ ÀÖ´Ù¸é ¿ì¼± ¸ÞÀϸµ ÀúÀå¼Ò¸¦ °Ë»öÇØº» ´ÙÀ½¿¡ ¸ÞÀϸµ¸®½ºÆ®¿¡ Åõ°íÇØÁÖ¼¼¿ä.
2.7. ¹®¼ÀÇ ±¸Á¶ ¶¿ì¸®´Â ½ÃÀÛºÎÅÍ Àç¹ÌÀÖ´Â ³»¿ëµéÀ» ´Ù·ç°Ô µË´Ï´Ù. ±×·¡¼ óÀ½ ÀÌ ¹®¼¸¦ ÀÐÀ» ¶§´Â ¿ÏÀüÈ÷ ¼³¸íÇÒ ¼ö ¾ø´Â ºÎºÐµµ ÀÖ°í, ¿Ïº®ÇÏÁö ¾ÊÀº ºÎºÐµµ ÀÖ½À´Ï´Ù. ÀÌ·± ºÎºÐ¿¡ ´ëÇØ¼´Â ´ëÃæ ³Ñ¾î°¡½Ê½Ã¿À. ¾ðÁ¨°¡ ³ªÁß¿¡´Â ¸ðµç °ÍÀ» ÀÌÇØÇÒ ¼ö ÀÖÀ» °Ì´Ï´Ù.
¶ó¿ìÆÃ°ú ÇÊÅ͸µÀº ¶Ñ·ÇÇÏ°Ô ±¸º°µÇ´Â µÎ ºÐ·ùÀε¥, ÇÊÅ͸µ¿¡ ´ëÇØ¼´Â Rusty ÀÇ ÇÏ¿ìÅõ¿¡¼ ¾ÆÁÖ Àß ¼³¸íÇϰí ÀÖ½À´Ï´Ù. ¿©±â¼ Àо¼¼¿ä :
ÀÌ ¹®¼¿¡¼´Â netfilter ¿Í iproute2 ¸¦ ¿¬µ¿ÇÏ¿© ÇÒ ¼ö ÀÖ´Â ÀÛ¾÷µéÀ» ÁßÁ¡ÀûÀ¸·Î ´Ù·ì´Ï´Ù.
3.1. ¿Ö iproute2 Àΰ¡ ? ¶ÇöÀç ´ëºÎºÐ ¸®´ª½º ¹èÆ÷º»°ú À¯´Ð½º ½Ã½ºÅÛ¿¡¼´Â arp ³ª ifconfig, route ¿Í °°Àº ÀüÅëÀûÀÎ ¸í·É¾î¸¦ »ç¿ëÇϰí ÀÖ½À´Ï´Ù. ÀÌ·± µµ±¸µéÀÌ µ¿ÀÛÇϱä ÇÏÁö¸¸ Ä¿³Î 2.2 ÀÌÈÄ ¸®´ª½º¿¡¼´Â ÀǵµÇÏÁö ¾ÊÀº µ¿ÀÛÀ» º¸ÀÔ´Ï´Ù. ¿¹ÄÁµ¥ ÇöÀç GRE ÅͳÎÀº ¶ó¿ìÆÃÀ» ±¸¼ºÇÏ´Â ÇÑ ºÎºÐÀÌÁö¸¸ ¿Ïº®È÷ ´Ù¸¥ µµ±¸¸¦ ÇÊ¿ä·Î ÇÕ´Ï´Ù.
iproute2¿Í ÇÔ²²¶ó¸é Åͳεµ ¿ÏÀüÇÑ µµ±¸ÁýÇÕ¿¡ Æ÷ÇԵ˴ϴÙ.
Ä¿³Î 2.2 ÀÌ»ó ¸®´ª½º´Â ³×Æ®¿÷ ÇϺΠ±¸Á¶¸¦ »õ·Î ¼³°è Çß½À´Ï´Ù. »õ·Î¿î ³×Æ®¿÷ ÄÚµå´Â ¸®´ª½º°¡ ÀÏ¹Ý ¿î¿µÃ¼Á¦¿¡ ºñ±³ÇØ ¼º´É°ú ±â´É¿¡ ¾à°£ÀÇ °æÀï·ÂÀ» °®µµ·Ï ÇÕ´Ï´Ù. »ç½Ç »õ·Î¿î ¶ó¿ìÆÃ, ÇÊÅ͸µ, ºÐ·ù ÄÚµå´Â °¢°¢ÀÇ ¶ó¿ìÅÍ, ¹æÈº®, È帧Á¶Àý Á¦Ç°ÀÌ Á¦°øÇÏ´Â °Íº¸´Ù ±â´ÉÀÌ ÁÁ½À´Ï´Ù.
»õ·Î¿î ³×Æ®¿öÅ· °³³äÀº »ç¶÷µéÀÌ ±âÁ¸ ¿î¿µÃ¼Á¦ÀÇ »À´ë¸¦ Åä´ë·Î ±×°ÍµéÀ» µÚ¼¯¾î ¸¸µé¾î ³Â½À´Ï´Ù. ÀϰüµÇ°Ô °è¼ÓÇÑ ÀÛ¾÷Àº ³×Æ®¿öÅ· Äڵ带 º°³ ÇൿÀ¸·Î ä¿ü°í, ¸¶Ä¡ »ç¶÷ÀÇ ¸»°ú ºñ½ÁÇÕ´Ï´Ù. °ú°Å¿¡´Â ÀÌ·± ÀÏÀ» Çϴµ¥ SunOS ó·³ µû¶óÇßÀ¸³ª ÀÌ»óÀûÀÌÁø ¾Ê¾Ò½À´Ï´Ù.
»õ·Î¿î »À´ë´Â °ú°Å ¸®´ª½º°¡ ´êÁö ¸øÇß´ø ±â´ÉÀ» ¸íÈ®È÷ Ç¥ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù.
3.2. iproute2 ¿©Çà ¶¸®´ª½º´Â Æ®·¡ÇÈ Á¦¾î (Traffic Control)¶ó ºÎ¸£´Â ¸Å¿ì Á¤±³ÇÑ ´ë¿ªÆø ½Ã½ºÅÛÀ» °¡Áö°í ÀÖ½À´Ï´Ù. ÀÌ ½Ã½ºÅÛÀº ´ë¿ªÆøÀ» ºÐ·ùÇϰí, ¿ì¼±±ÇÀ» Á¦°øÇϰí, °øÆòÇÏ°Ô ºÐ¹èÇϰí, ¶Ç´Â µé¾î¿À°Å³ª ³ª°¡´Â Æ®·¡ÇÈÀ» Á¦ÇÑ ÇÒ ¼ö ÀÖ´Â ¿©·¯°¡Áö ¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù.
ÀÌÁ¦ iproute2ÀÇ °¡´É¼ºÀ¸·Î ¿©ÇàÀ» ½ÃÀÛÇÕ´Ï´Ù.
3.3. Áغñ¹° ¶¿ì¼± µµ±¸µéÀ» ¼³Ä¡Çß´ÂÁö È®ÀÎÇÕ´Ï´Ù. RedHat °ú Debian ½Ã½ºÅÛ¿¡¼ 'iproute' ¶ó´Â ÆÐŰÁö·Î Á¦°øµÇ°í, ¶Ç´Â ftp://ftp.inr.ac.ru/ip-routing/iproute2-2.2.4-now-ss??????.tar.gz" ¿¡¼ ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.
![]() ÀϺΠiproute ÀÇ ±â´ÉµéÀ» ÀÌ¿ëÇϱâ À§Çؼ´Â ¸î°¡Áö Ä¿³Î ¿É¼ÇµéÀ» Ȱ¼ºÈ(enable)ÇØ¾ß¸¸ ÇÕ´Ï´Ù. ¶ÇÇÑ, RedHat 6.2 ¸¦ Æ÷ÇÔÇÏ¿© ±× ÀÌÀü ¹öÀü¿¡¼´Â Æ®·¡ÇÈ Á¦¾î¿¡ ÇÊ¿äÇÑ ´ëºÎºÐÀÇ Ä¿³Î ±â´ÉÀÌ ±âº» Ä¿³Î¿¡¼ ºüÁ® ÀÖ´Ù´Â Á¡À» À¯ÀÇÇØ¾ß ÇÕ´Ï´Ù.
RedHat 7.2 ´Â ±âº» Ä¿³Î¿¡ ´Ù °¡Áö°í ÀÖ½À´Ï´Ù.
Ä¿³ÎÀ» »õ·Î ÄÄÆÄÀÏÇÏ´Â °æ¿ì¶ó¸é netlink ±â´ÉÀ» Æ÷ÇÔÇØ¾ß ÇÕ´Ï´Ù. iproute2 °¡ ÇÊ¿ä·Î ÇÏ´Â ±â´ÉÀÔ´Ï´Ù.
3.4. ÇöÀç ¼³Á¤ »ìÆìº¸±â ¶³î¶ó¿î ÀÏÀϼöµµ ÀÖÁö¸¸, iproute2 ´Â ÀÌ¹Ì ¼³Á¤ÀÌ µÇ¾î ÀÖ½À´Ï´Ù. ifconfig, route ¿Í °°Àº ¸í·É¾î´Â ÀÌ¹Ì °í±Þ ½Ã½ºÅÛ È£ÃâÀ» »ç¿ëÇϰí ÀÖÁö¸¸, ´ëºÎºÐ ±âº» ¼³Á¤À» »ç¿ëÇÕ´Ï´Ù.
ip ¸í··¾î´Â ÇÙ½ÉÀûÀÎ µµ±¸À̸ç, À̸¦ÅëÇØ ÀÎÅÍÆäÀ̽º Á¤º¸¸¦ »ìÆì º¸°Ú½À´Ï´Ù.
3.4.1. ip·Î ¿¬°á(link) »óÅ º¸±â ¶[ahu@home ahu]$ ip link list 1: lo: <LOOPBACK,UP> mtu 3924 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: dummy: <BROADCAST,NOARP> mtu 1500 qdisc noop link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff 3: eth0: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1400 qdisc pfifo_fast qlen 100 link/ether 48:54:e8:2a:47:16 brd ff:ff:ff:ff:ff:ff 4: eth1: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc pfifo_fast qlen 100 link/ether 00:e0:4c:39:24:78 brd ff:ff:ff:ff:ff:ff 3764: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1492 qdisc pfifo_fast qlen 10 link/ppp ³ªÅ¸³ ¼ýÀÚµéÀº Á¶±Ý¾¿ ´Ù¸¦ ¼ö ÀÖ°ÚÁö¸¸, ¾Æ¹«Æ° Á¦°¡ Áý¿¡¼ ¾²´Â NAT ¶ó¿ìÅÍÀÇ ¼³Á¤Àº À§¿Í °°½À´Ï´Ù. Ãâ·ÂÇÑ °á°úÁß¿¡ Á÷Á¢ ¿¬°üÀÌ ÀÖ´Â °Íµé¸¸ ¼³¸íÇÕ´Ï´Ù.
¿ì¼± loopback ÀÎÅÍÆäÀ̽º¸¦ º¾½Ã´Ù. ÀÌ°Í ¾øÀÌ µ¿ÀÛÇÏ´Â ÄÄÇ»Å͵µ ÀÖÁö¸¸ ÀÏ´Ü ¼³¸íÀ» ÇÕ´Ï´Ù. MTU (ÃÖ´ë Àü¼Û Å©±â) ´Â 3924 ¿ÁÅÝ(octet)À̰í, Å¥¿¡ µé¾î°¡Áö ¾Êµµ·Ï µÇ¾î ÀÖ½À´Ï´Ù. ±× ÀÌÀ¯´Â loopback ÀÎÅÍÆäÀ̽º´Â Ä¿³Î¿¡¼ °¡»óÀ¸·Î Àâ¾Æ³õÀº °ÍÀ̱⠶§¹®ÀÔ´Ï´Ù.
dummy ÀÎÅÍÆäÀ̽º´Â Áö±ÝÀº °Ç³Ê ¶Ý´Ï´Ù. À̰ÍÀº ´ç½Å ÄÄÇ»ÅÍ¿¡´Â ¾øÀ» ¼öµµ ÀÖ½À´Ï´Ù. ´ÙÀ½À¸·Î µÎ °³ÀÇ ¹°¸®ÀûÀÎ ³×Æ®¿÷ ÀÎÅÍÆäÀ̽º°¡ ÀÖ½À´Ï´Ù. Çϳª´Â ÄÉÀÌºí ¸ðµ©¿¡ ÀÖ°í, ´Ù¸¥ Çϳª´Â Áý¾ÈÀÇ ÀÌ´õ³Ý¸ÁÂÊ¿¡ ÀÖ½À´Ï´Ù. °Ô´Ù°¡ ppp0 ÀÎÅÍÆäÀ̽ºµµ ÀÖ½À´Ï´Ù.
IP ÁÖ¼Ò°¡ ¾ø´Ù´Â °ÍÀ» À¯ÀÇÇϼ¼¿ä. iproute ´Â '¿¬°á(link)' °ú 'IP ÁÖ¼Ò' ¸¦ ºÐ¸®ÇÕ´Ï´Ù. IP aliasing À» ÇÑ´Ù¸é °íÀ¯ÇÑ IP ÁÖ¼Ò´Â ¾îÂî º¸¸é ¹«ÀǹÌÇØ Áý´Ï´Ù.
±×·¸Áö¸¸ ÀÌ´õ³Ý ÀÎÅÍÆäÀ̽ºÀÇ Çϵå¿þ¾î ½Äº°ÀÚ°¡ µÇ´Â MAC ÁÖ¼Ò¸¦ º¸¿©ÁÖ°í ÀÖ½À´Ï´Ù.
3.4.2. ip ¸í·ÉÀ¸·Î IP ÁÖ¼Ò º¸±â ¶[ahu@home ahu]$ ip address show 1: lo: <LOOPBACK,UP> mtu 3924 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 brd 127.255.255.255 scope host lo 2: dummy: <BROADCAST,NOARP> mtu 1500 qdisc noop link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff 3: eth0: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1400 qdisc pfifo_fast qlen 100 link/ether 48:54:e8:2a:47:16 brd ff:ff:ff:ff:ff:ff inet 10.0.0.1/8 brd 10.255.255.255 scope global eth0 4: eth1: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc pfifo_fast qlen 100 link/ether 00:e0:4c:39:24:78 brd ff:ff:ff:ff:ff:ff 3764: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1492 qdisc pfifo_fast qlen 10 link/ppp inet 212.64.94.251 peer 212.64.94.1/32 scope global ppp0 À§ÀÇ Ãâ·Â °á°ú´Â Á»´õ ¸¹Àº Á¤º¸¸¦ º¸¿©ÁÝ´Ï´Ù. ¾î¶² Ä«µå°¡ ¾î¶² ÁÖ¼Ò¸¦ °¡Áö°í ÀÖ´ÂÁö ¸ðµÎ º¸¿©ÁÝ´Ï´Ù. 'inet'Àº ÀÎÅͳÝ(IPv4)¸¦ ³ªÅ¸³À´Ï´Ù. 'inet' ¸»°íµµ ´Ù¸¥ ÁÖ¼Ò °¡Á·(address family)µéÀÌ ÀÖÁö¸¸ ´çÀåÀº ½Å°æ¾²Áö ¸¶½Ê½Ã¿À.
³²Àº ºñÆ®´Â eth0 ¿¡ ¿¬°áµÇ¹Ç·Î, ¿¹¸¦ µé¸é 10.0.0.1 °ú ¸¶Âù°¡Áö·Î 10.250.3.13 ¶ÇÇÑ eth0 ¿¡ Á÷Á¢ ÇÒ´ç ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ppp0 ¿¡¼µµ ¼ýÀÚ¸¸ ´Ù¸¦ »Ó °°Àº ¿ø¸®ÀÔ´Ï´Ù. ppp0 Àº subnet mask ¾øÀÌ 212.64.94.251 ÀÇ ÁÖ¼Ò¸¦ °®°í ÀÖ½À´Ï´Ù. ÀÌ´Â Á¡´ëÁ¡(point-to-point) ¿¬°áÀ» ÀǹÌÇϰí, µû¶ó¼ 212.64.94.251 ÀÌ ¾Æ´Ñ ¸ðµç ÁÖ¼ÒµéÀº ¿ø°ÝÁö ¶ó´Â ¶æÀÌ µË´Ï´Ù. ±× ¿Ü¿¡µµ ´Ù¸¥ Á¤º¸¸¦ º¼ ¼ö Àִµ¥, ÀÌ link ÀÇ ÀúÆí ³¡¿¡´Â ¿ª½Ã ÇϳªÀÇ ÁÖ¼Ò 212.64.94.1 ¸¸ÀÌ Á¸ÀçÇÔÀ» ³ªÅ¸³À´Ï´Ù. /32 ¶ó´Â °Í¿¡¼ '³×Æ®¿÷ ºñÆ®' °¡ ¾øÀ½À» ¾Ë ·ÁÁÝ´Ï´Ù.
À§¿¡¼ ¼³¸íÇÑ °³³äµéÀ» ÀÌÇØÇÏ´Â °Ç ¸Å¿ì Áß¿äÇÕ´Ï´Ù. ±×·¸Áö ¾Ê´Ù¸é ÀÌ ÇÏ¿ìÅõÀÇ ¾ÕºÎºÐ¿¡¼ ¼Ò°³Çß´ø ¹®¼µéÀ» Âü°íÇϽʽÿÀ.
Ȥ½Ã À§ÀÇ Ãâ·Â °á°ú Áß¿¡ 'qdisc' ¿¡ °ü½ÉÀÌ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. À̴ ťÀ× ±ÔÄ¢(Queueing Discipline)À» ÀǹÌÇÕ´Ï´Ù. ³ªÁß¿¡ ¸Å¿ì Áß¿äÇÕ´Ï´Ù.
3.4.3. ip ¸í·ÉÀ¸·Î ¶ó¿ìÆÃ Á¤º¸ º¸±â ¶ÀÌÁ¦ 10.x.y.z ÁÖ¼Ò¸¦ ã´Â¹ýµµ ¾Ë¾Ò°í, 212.64.94.1 ±îÁö µµ´ÞÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ À̰ÍÀ¸·Î´Â ÃæºÐÇÏÁö°¡ ¾Ê½À´Ï´Ù. ¼¼»ó ¸ðµç °÷¿¡ µµ´ÞÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÌ ÇÊ¿äÇÕ´Ï´Ù. ¿ì¸®´Â ppp(Point-to-Point Protocol) ¿¬°áÀ» ÅëÇØ ÀÎÅͳݰú ¿¬°áÇÕ´Ï´Ù. 212.64.94.1 Àº ¿ì¸®ÀÇ ÆÐŶÀ» ´Ù¸¥ °÷À¸·Î Àü´ÞÇϰí, ¶ÇÇÑ ±×¿¡´ëÇÑ °á°ú¸¦ ¿ì¸®¿¡°Ô µÇµ¹·ÁÁÝ´Ï´Ù.
[ahu@home ahu]$ ip route show 212.64.94.1 dev ppp0 proto kernel scope link src 212.64.94.251 10.0.0.0/8 dev eth0 proto kernel scope link src 10.0.0.1 127.0.0.0/8 dev lo scope link default via 212.64.94.1 dev ppp0ÀÌ °á°ú´Â ¼³¸íÇÏÁö ¾Ê¾Æµµ ½±°Ô ¾Ë ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. óÀ½ 4 ÁÙÀº ip address show ¶ó´Â ¸í·É ±× ÀÚü°¡ ÀǹÌÇÏ´Â ¹Ù¸¦ ¸í½ÃÀûÀ¸·Î º¸¿©ÁÖ°í ÀÖ½À´Ï´Ù. ¸¶Áö¸· ÁÙ¿¡¼´Â 212.64.94.1 À» ÅëÇØ ¹Ù±ù ¼¼»óÀ¸·Î ³ª°¥ ¼ö ÀÖ´Ù´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù. À̰ÍÀº ±âº» °ü¹®(gateway)ÀÔ´Ï´Ù. 212.64.94.1 ÀÌ °ü¹®À̶ó´Â °ÍÀº via ¶ó´Â ´Ü¾î¸¦ º¸°í ¾Ë ¼ö ÀÖ½À´Ï´Ù. ÆÐŶÀ» 212.64.94.1 ·Î º¸³»¸é ¾Ë¾Æ¼ ó¸®ÇØ ÁÝ´Ï´Ù. Âü°í·Î ¿¹Àü route ¸í·ÉÀÇ °á°ú´Â ÀÌ·¸½À´Ï´Ù :
[ahu@home ahu]$ route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 212.64.94.1 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0 10.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 eth0 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo 0.0.0.0 212.64.94.1 0.0.0.0 UG 0 0 0 ppp0 3.5. ARP (Address Resolution Protocol) ¶ARP ´Â
![]() ¾ÆÁÖ °£´ÜÇÑ ¿¹¸¦ »ìÆìº¾½Ã´Ù. ¸î ´ëÀÇ ÄÄÇ»ÅÍ·Î ±¸¼ºµÇ´Â ³×Æ®¿÷ÀÌ Çϳª ÀÖ´Ù°í ÇØ º¾½Ã´Ù. ÀÌ ³×Æ®¿÷¿¡´Â IP ÁÖ¼Ò 10.0.0.1ÀÎ foo ¿Í 10.0.0.2ÀÎ bar °¡ ÀÖ½À´Ï´Ù. foo ´Â bar °¡ ÄÑÁ®ÀÖ´ÂÁö È®ÀÎÇÏ·Á°í ping À» º¸³»·Á°í ÇÕ´Ï´Ù. ±×·±µ¥ ¿Ø°É, foo ´Â bar °¡ ¾îµð¿¡ ÀÖ´ÂÁö ¸ð¸£°í ÀÖ½À´Ï´Ù. ±×·¡¼ foo ´Â bar ¿¡°Ô ping À» º¸³»±â Àü¿¡ ARP ¿äûÀ» º¸³»¾ß ÇÕ´Ï´Ù. ÀÌ ARP ¿äûÀº ¸¶Ä¡ foo °¡ Àüü ³×Æ®¿÷¿¡ ´ëÇØ "bar (10.0.0.2)! ¾îµðÀÖ½À´Ï±î?" ¶ó°í ¿ÜÄ¡´Â °Í°ú ºñ½ÁÇÕ´Ï´Ù. ARP ¿äûÀ¸·Î ÀÌ ³×Æ®¿÷¿¡ Á¸ÀçÇÏ´Â ¸ðµç ±â±âµéÀº foo °¡ ºÎ¸£´Â ¼Ò¸®¸¦ µèÁö¸¸, ´ë´äÀ» ÇÏ´Â °ÍÀº bar (10.0.0.2) »ÓÀÔ´Ï´Ù. bar ´Â ARP ÀÀ´äÀ» foo ¿¡°Ô "foo (10.0.0.1), ³ ¿©±â 00:60:94:E9:08:12 ¿¡ ÀÖ¼Ò."¶ó°í Á÷Á¢ º¸³À´Ï´Ù. ÀÌ·¯ÇÑ °£´ÜÇÑ ¸Þ¼¼Áö Àü´Þ·Î ³×Æ®¿÷»óÀÇ Ä£±¸ bar ¸¦ ã¾Ò´Ù¸é, ÀÌÁ¦ foo ´Â bar°¡ ¾îµð¿¡ ÀÖ´ÂÁö Àرâ Àü±îÁö´Â bar ¿Í Åë½ÅÇÒ ¼ö ÀÖ½À´Ï´Ù. (Åë»ó À¯´Ð½º ½Ã½ºÅÛ¿¡¼´Â 15ºÐ µ¿¾È ±â¾ïÇÕ´Ï´Ù.)
ÀÌÁ¦ ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö »ìÆìº¾½Ã´Ù. ÇöÀçÀÇ arp/neighbor cache/table´Â ÀÌ·¸½À´Ï´Ù :
[root@espa041 /home/src/iputils]# ip neigh show 9.3.76.42 dev eth0 lladdr 00:60:08:3f:e9:f9 nud reachable 9.3.76.1 dev eth0 lladdr 00:06:29:21:73:c8 nud reachableÀ§¿¡¼ º¸µíÀÌ ÄÄÇ»ÅÍ espa041 (9.3.76.41) Àº espa042 (9.3.76.42) ¿Í espagate (9.3.76.1) ÀÇ À§Ä¡¸¦ ¾Ë°í ÀÖ½À´Ï´Ù. ÀÌÁ¦ ´Ù¸¥ ÄÄÇ»Å͸¦ arp ij½Ã¿¡ Ãß°¡ÇսôÙ. [root@espa041 /home/paulsch/.gnome-desktop]# ping -c 1 espa043 PING espa043.austin.ibm.com (9.3.76.43) from 9.3.76.41 : 56(84) bytes of data. 64 bytes from 9.3.76.43: icmp_seq=0 ttl=255 time=0.9 ms --- espa043.austin.ibm.com ping statistics --- 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max = 0.9/0.9/0.9 ms [root@espa041 /home/src/iputils]# ip neigh show 9.3.76.43 dev eth0 lladdr 00:06:29:21:80:20 nud reachable 9.3.76.42 dev eth0 lladdr 00:60:08:3f:e9:f9 nud reachable 9.3.76.1 dev eth0 lladdr 00:06:29:21:73:c8 nud reachableespa041 ¿¡¼ espa043 À¸·Î ¿¬°áÀ» ½ÃµµÇÑ °á°ú, espa043 ÀÇ Çϵå¿þ¾î ÁÖ¼Ò/À§Ä¡°¡ arp/neighbor ij½Ã¿¡ Ãß°¡µÇ¾ú½À´Ï´Ù. µû¶ó¼ espa041 Àº espa043 Ç׸ñÀÌ (µÑ»çÀÌ¿¡ ¾Æ¹«·± Åë½ÅÀÌ ¾ø´Â °á°ú·Î ¸»¹Ì¾Ï¾Æ) ½Ã°£ Ãʰú°¡ »ý±æ ¶§±îÁö espa041ÀÎ °æ¿ì »ó´ë¹æ À§Ä¡¸¦ ¾Ë°í ÀÖÀ¸¹Ç·Î ARP ¿äûÀ» º¸³¾ Çʿ䰡 ¾ø½À´Ï´Ù. À̹ø¿¡´Â espa043 À» arp ij½Ã¿¡¼ Áö¿öº¾½Ã´Ù :
[root@espa041 /home/src/iputils]# ip neigh delete 9.3.76.43 dev eth0 [root@espa041 /home/src/iputils]# ip neigh show 9.3.76.43 dev eth0 nud failed 9.3.76.42 dev eth0 lladdr 00:60:08:3f:e9:f9 nud reachable 9.3.76.1 dev eth0 lladdr 00:06:29:21:73:c8 nud staleespa041 Àº ´Ù½Ã espa043 ÀÌ ¾îµð¿¡ ÀÖ´ÂÁö ÀÒ¾î¹ö·È½À´Ï´Ù. ´ÙÀ½¿¡ espa043 °ú Åë½ÅÇϱâ À§Çؼ´Â ARP ¿äûÀ» ´Ù½Ã º¸³»¾ß¸¸ ÇÕ´Ï´Ù. ÇÑÆí espagate (9.3.76.1) ¿¡ ´ëÇØ "stale(ÁøºÎÇÑ)" »óÅ·Π¹Ù²î¾úÀ½À» ¾Ë ¼ö ÀÖ½À´Ï´Ù. ÀÌ´Â espagate ÀÇ À§Ä¡´Â ¿©ÀüÈ÷ À¯È¿ÇÏÁö¸¸, ±× ÄÄÇ»ÅÍ·Î ¿¬°áÇÒ ¶§´Â È®ÀÎÇØ º¸¾Æ¾ß ÇÑ´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. 4. ±ÔÄ¢µé - °æ·Î¹èÁ¤ Á¤Ã¥ µ¥ÀÌÅͺ£À̽º (Routing Policy Database) ¶´ëÇü ¶ó¿ìÅÍ¿¡´Â ¸¹Àº »ç¶÷µéÀÌ ¿¬°áµÇ¾î ÀÖ°í, ÀÌ »ç¶÷µéÀº °¢°¢ ¼·Î ´Ù¸¥ ¼ºñ½º ¼öÁØÀ» ¿ä±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¶§ ¶ó¿ìÅÍ ¿î¿µÀÚ´Â ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ¾î¾ß ÇÕ´Ï´Ù. °æ·Î¹èÁ¤ Á¤Ã¥ µ¥ÀÌÅÍ º£À̽º¸¦ ÀÌ¿ëÇÏ¸é ¿©·¯ Á¾·ùÀÇ °æ·Î ¹èÁ¤ Ç¥(routing table) ¸ðÀ½À» »ç¿ëÇØ¼ ÀÌ·¯ÇÑ ÀÛ¾÷ÀÌ °¡´ÉÇÏ°Ô µË´Ï´Ù.
ÀÌ ±â´ÉÀ» ÀÌ¿ëÇϱâ À§Çؼ´Â Ä¿³Î¿¡ "IP: advanced router" ¿Í "IP: policy routing" ¿É¼ÇÀ» Æ÷ÇÔÇØ¼ ÄÄÆÄÀÏ ÇØ¾ß ÇÕ´Ï´Ù.
Ä¿³ÎÀÌ ÆÐŶÀ» °æ·Î¹èÁ¤ ÇÒ ¶§´Â ¾î¶² Ç¥¸¦ »ç¿ë ÇÒÁö ¸ÕÀú °í·ÁÇÕ´Ï´Ù. ±âº»À¸·Î ¼¼ °³ÀÇ Å×À̺íÀÌ ÀÖ°í, ÀüÅëÀûÀÎ 'route' ¸í·ÉÀº main °ú local Ç¥¸¦ ¼öÁ¤ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ip ¸í·ÉÀ¸·Îµµ ¹°·Ð °¡´ÉÇÕ´Ï´Ù.
±âº» ±ÔÄ¢Àº ¾Æ·¡¿Í °°½À´Ï´Ù. :
[ahu@home ahu]$ ip rule list 0: from all lookup local 32766: from all lookup main 32767: from all lookup defaultÀ§ÀÇ ¸®½ºÆ®´Â ¸ðµç ±ÔÄ¢ÀÇ ¿ì¼±¼øÀ§¸¦ º¸¿©ÁÝ´Ï´Ù. ¿©±â º¸ÀÌ´Â ¸ðµç ±ÔÄ¢Àº ¸ðµç ÆÐŶ¿¡ Àû¿ëµË´Ï´Ù. ('from all') 'main' Ç¥´Â ¾Õ¿¡¼ ip route ls ÀÇ °á°ú¿¡¼ ÀÌ¹Ì º» ÀûÀÌ ÀÖ½À´Ï´Ù. 'local' °ú 'default' Ç¥´Â óÀ½ ÀÔ´Ï´Ù. Àç¹ÌÀÖ´Â ÀÏÀ» ÇÏ·Á¸é ´Ù¸¥ Ç¥¸¦ °¡¸®Å°´Â ±ÔÄ¢À» ¸¸µé¸é. ±× Ç¥¸¦ ÅëÇØ ½Ã½ºÅÛ °æ·Î ¹èÁ¤ ±ÔÄ¢À» µÚ¾þÀ» ¼ö ÀÖ½À´Ï´Ù.
Á» ´õ Àß ¸Â´Â ±ÔÄ¢ÀÌ ÀÖÀ» ¶§ Ä¿³ÎÀÌ ¹«¾ùÀ» ÇÏ´ÂÁö¿¡ ´ëÇÑ Á¤È®ÇÑ Àǹ̴ Alexey ÀÇ ip-cref ¹®¼¸¦ Àо½Ê½Ã¿À.
4.1. Ãâó¿¡ µû¸¥ ´Ü¼øÇÑ °æ·Î ¹èÁ¤ Á¤Ã¥ ¶½ÇÁ¦ ¿¹Á¦¸¦ ´Ù½Ã º¾½Ã´Ù. ¸®´ª½º NAT('¸¶½ºÄ¿·¹À̵ù') ¶ó¿ìÅÍ·Î ¿¬°áµÈ ÄÉÀÌºí ¸ðµ©ÀÌ 2°³ ÀÖ½À´Ï´Ù. (½ÇÁ¦·Î´Â 3°³) ¿©±â »ç´Â »ç¶÷µéÀº ÀÎÅÍ³Ý »ç¿ëÀ» À§ÇØ Á¦°Ô µ·À» ³À´Ï´Ù. ¿ì¸®Áý¿¡ »ç´Â »ç¶÷ Áß ÇÑ»ç¶÷ÀÌ ´Ü¼øÈ÷ ÇÖ¸ÞÀϸ¸ »ç¿ëÇÏ°í µ·À» Àû°Ô ³»±æ ¿øÇÑ´Ù°í °¡Á¤ÇսôÙ. À̰ÍÀº Á¦°Ôµµ ÁÁÀº ÀÏÀÌ°í °á±¹ ¼Óµµ°¡ ´À¸° ÄÉÀÌºí ¸ðµ©À» »ç¿ëÇÒ °Í ÀÔ´Ï´Ù.
'ºü¸¥' ÄÉÀ̺í¸ðµ©Àº 212.64.94.251 À̰í 212.64.94.1 °ú PPP ·Î ¿¬°áµÇ¾î ÀÖ½À´Ï´Ù. '´À¸°' ÄÉÀÌºí ¸ðµ©Àº ¿©·¯°¡Áö ip ¸¦ ¹Þ¾Æ¿Ã ¼ö ÀÖ°í, ¿¹Á¦¿¡¼´Â 212.64.78.148 À̰í, 195.96.98.253 À¸·Î ¿¬°áµÇ¾î ÀÖ½À´Ï´Ù.
local Ç¥´Â :
[ahu@home ahu]$ ip route list table local broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1 local 10.0.0.1 dev eth0 proto kernel scope host src 10.0.0.1 broadcast 10.0.0.0 dev eth0 proto kernel scope link src 10.0.0.1 local 212.64.94.251 dev ppp0 proto kernel scope host src 212.64.94.251 broadcast 10.255.255.255 dev eth0 proto kernel scope link src 10.0.0.1 broadcast 127.0.0.0 dev lo proto kernel scope link src 127.0.0.1 local 212.64.78.148 dev ppp2 proto kernel scope host src 212.64.78.148 local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1 local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1 ¸¹Àº °ÍµéÀÌ ¸íÈ®ÇÕ´Ï´Ù¸¸ À̰͵éÀº ¾îµð¼±°¡ ¹Ýµå½Ã ¼³Á¤Çؾ߸¸ ÇÏ´Â °ÍµéÀÔ´Ï´Ù. ÇÏÁö¸¸ ÀÌ¹Ì µÇ¾î ÀÖ½À´Ï´Ù. default Ç¥´Â ºñ¾î ÀÖ½À´Ï´Ù.
'main' Ç¥¸¦ º¾½Ã´Ù:
[ahu@home ahu]$ ip route list table main 195.96.98.253 dev ppp2 proto kernel scope link src 212.64.78.148 212.64.94.1 dev ppp0 proto kernel scope link src 212.64.94.251 10.0.0.0/8 dev eth0 proto kernel scope link src 10.0.0.1 127.0.0.0/8 dev lo scope link default via 212.64.94.1 dev ppp0¿ì¸®°¡ 'John' À̶ó°í ºÎ¸£´Â °¡»óÀÇ µ¿°ÅÀÎÀ» À§ÇÑ »õ·Î¿î ±ÔÄ¢À» Çϳª ¸¸µì´Ï´Ù. ¼ýÀڷθ¸ ÀÛ¾÷ÇØ¾ß ÇÏÁö¸¸, /etc/iproute2/rt_tables ÆÄÀÏ¿¡ Ç¥¸¦ Ãß°¡ÇÏ¸é ¸Å¿ì ½±½À´Ï´Ù. # echo 200 John >> /etc/iproute2/rt_tables # ip rule add from 10.0.0.10 table John # ip rule ls 0: from all lookup local 32765: from 10.0.0.10 lookup John 32766: from all lookup main 32767: from all lookup defaultÀÌÁ¦ ³²Àº ÀÏÀº John ÀÇ Ç¥¸¦ ¸¸µé°í °æ·Î ¹èÁ¤ ij½Ã¸¦ ºñ¿ì´Â(flush) ÀÏÀÔ´Ï´Ù. # ip route add default via 195.96.98.253 dev ppp2 table John # ip route flush cacheÀÌÁ¦ ´Ù µÇ¾ú½À´Ï´Ù. À§¿¡¼ ¼³¸íÇÑ ³»¿ëÀ» ip-up ½ºÅ©¸³Æ®¿¡ Ãß°¡ÇÏ´Â ÀÏÀº ¿©·¯ºÐ²² ³²°Üµå¸³´Ï´Ù. 4.2. ¿©·¯ »óÇâ °æ·Î¿Í ¼ºñ½º Á¦°øÀÚ¸¦ À§ÇÑ °æ·Î ¹èÁ¤ ¶ÈçÈ÷ º¸´Â ±¸¼ºÀº ¾Æ·¡¿Í °°½À´Ï´Ù. Áö¿ª ³×Æ®¿÷ (ȤÀº ´ÜÁö ÇѰ³ÀÇ ÄÄÇ»ÅÍ)À» ÀÎÅͳݿ¡ ¿¬°áÇØ ÁÖ´Â ÀÎÅÍ³Ý ¿¬°á »ç¾÷ÀÚ°¡ µÎ°³ ÀÖ½À´Ï´Ù.
________ +------------+ / | | | +-------------+ ¼ºñ½º +------- __ | | Á¦°øÀÚ 1 | / ___/ \_ +------+-------+ +------------+ | _/ \__ | if1 | / / \ | | | | Áö¿ª¸Á -----+ ¸®´ª½º¶ó¿ìÅÍ | | ÀÎÅÍ³Ý \_ __/ | | | \__ __/ | if2 | \ \___/ +------+-------+ +------------+ | | | | \ +-------------+ ¼ºñ½º +------- | Á¦°øÀÚ 2 | | +------------+ \________ÀÌ·± ¼³Á¤Àº µÎ°¡Áö¸¦ º¸Åë »ç¿ëÇÕ´Ï´Ù. 4.2.1. ºÐ¸® Á¢±Ù ¶¼ºñ½º Á¦°øÀÚ 1 ·Î ºÎ¸£´Â ƯÁ¤ ¼ºñ½º Á¦°øÀÚ¸¦ ÅëÇØ¼ ÆÐŶÀÌ ¿Â °æ¿ì¸¦ ù°·Î º¸ÀÚ¸é ¿ª½Ã °°Àº ¼ºñ½º Á¦°øÀÚ¸¦ ÅëÇØ ÀÀ´äÇØ¾ß ÇÕ´Ï´Ù.
¿ì¼± ¸î°³ÀÇ ´ëü À̸§À» ÁöÁ¤ÇÕ´Ï´Ù. $IF1 °ú $IF2 ¸¦ °¢°¢ ¶ó¿ìÅÍÀÇ Ã¹¹øÂ°, µÎ¹øÂ° ÀÎÅÍÆäÀ̽º (if1, if2) ÀÇ À̸§À̶ó°í ÇսôÙ. $IP1 °ú $IP2 ´Â °¢°¢ $IF1 °ú $IF2 ¿¡ ÇÒ´çµÈ IP ÁÖ¼Ò¶ó°í ÇÕ´Ï´Ù. ±×¸®°í $P1 °ú $P2 ´Â °¢°¢ ¼ºñ½º Á¦°øÀÚ 1 °ú ¼ºñ½º Á¦°øÀÚ 2 ÀÇ °ü¹® IP ÁÖ¼ÒÀÔ´Ï´Ù. ¸¶Áö¸·À¸·Î $P1_NET °ú $P2_NET Àº °¢°¢ $P1 °ú $P2 ÀÌ ÀÖ´Â IP ³×Æ®¿÷ ÀÔ´Ï´Ù.
µÎ °³ÀÇ °æ·Î ¹èÁ¤ Ç¥¸¦ Ãß°¡ÇÏ°í ±× À̸§À» °¢°¢ T1 °ú T2 À̶ó°í ÇÕ´Ï´Ù. À̰ÍÀº /etc/iproute2/rt_tables ¿¡ Ãß°¡ÇÕ´Ï´Ù. ÀÌÁ¦ ¾Æ·¡Ã³·³ ÀÌ Ç¥¿¡ ´ëÇÑ °æ·Î ¹èÁ¤À» ÇÒ ¼ö ÀÖ½À´Ï´Ù :
ip route add $P1_NET dev $IF1 src $IP1 table T1 ip route add default via $P1 table T1 ip route add $P2_NET dev $IF2 src $IP2 table T2 ip route add default via $P2 table T2º°·Î ´ë´ÜÇÑ °Ç ¾ø½À´Ï´Ù. °ü¹®(gateway)À¸·Î °¡´Â °æ·Î¸¦ Çϳª ¸¸µé°í ±× °ü¹®À» ÅëÇØ ±âº» °æ·Î ¹èÁ¤À» ÇÕ´Ï´Ù. À̰ÍÀº ¿ÜºÎ¸ÁÀ¸·Î ¿¬°áµÇ´Â ÀÎÅÍ³Ý ¼ºñ½º Á¦°øÀÚ°¡ ÇϳªÀÎ °æ¿ì¿Í °°½À´Ï´Ù. ´Ù¸¸ ÀÌ ÀÛ¾÷À» °¢ ¼ºñ½º Á¦°øÀÚ ¸¶´Ù º°µµÀÇ Ç¥¸¦ ÅëÇØ °æ·Î¸¦ ¼³Á¤ÇÑ´Ù´Â °ÍÀÌ ´Ù¸¨´Ï´Ù. À§¿¡¼ ó·³ °ü¹®À» Æ÷ÇÔÇÏ¿© ³×Æ®¿÷ÀÇ ¾î¶² È£½ºÆ®¶óµµ ãÀ» ¼ö ÀÖ´Â ¹æ¹ýÀ» ¾Ë·ÁÁÖ´Â °Í¸¸À¸·Îµµ ³×Æ®¿÷ °æ·Î ¹èÁ¤Àº ÃæºÐÇÕ´Ï´Ù. ´ÙÀ½À¸·Î main °æ·Î ¹èÁ¤Ç¥¸¦ ¼³Á¤ÇÕ´Ï´Ù. ÀÎÅÍÆäÀ̽º¿¡ ¿¬°áµÈ ÀÌ¿ô¿¡°Ô Á÷Á¢ °æ·Î ¹èÁ¤ÇÏ¸é µË´Ï´Ù. `src' Àμö¸¦ »ç¿ëÇÕ´Ï´Ù. ÀÌ´Â ³ª°¡´Â IP ÁÖ¼Ò¸¦ ÁöÁ¤ÇßÀ½À» ³ªÅ¸³À´Ï´Ù.
ip route add $P1_NET dev $IF1 src $IP1 ip route add $P2_NET dev $IF2 src $IP2±×¸®°í ¾î¶² °ÍÀ» ±âº» °æ·Î ¿ì¼±ÇÒÁö ¼±ÅÃÇÕ´Ï´Ù : ip route add default via $P1´ÙÀ½À¸·Î °æ·Î ¹èÁ¤ ±ÔÄ¢À» ¼³Á¤ÇÕ´Ï´Ù. ÀÌ´Â °æ·Î ¹èÁ¤À» ÇÒ¶§ ¾î¶² Ç¥¸¦ »ç¿ëÇÒÁö °áÁ¤ÇÕ´Ï´Ù. ÀÌ¹Ì ÇØ´çÇÏ´Â Ãâ¹ßÁö ÁÖ¼Ò¸¦ ¼³Á¤ÇØ µÎ¾úÀ¸¸é ÁöÁ¤ÇÑ ÀÎÅÍÆäÀ̽º¸¦ ÅëÇØ °æ·Î ¹èÁ¤ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ip rule add from $IP1 table T1 ip rule add from $IP2 table T2¿©±â±îÁö ƯÁ¤ÇÑ ÀÎÅÍÆäÀ̽º¸¦ ÅëÇØ µé¾î¿À´Â È帧¿¡ ´ëÇØ ±× ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇØ¼ ÀÀ´äÇϵµ·Ï ÇÏ´Â ¸í·É¾î ¸ðÀ½ÀÔ´Ï´Ù. Áö±Ý±îÁö ¸Å¿ì °£´ÜÇÑ ¼³Á¤À̾ú½À´Ï´Ù. ÀÌ ¼³Á¤Àº Áö¿ª ³×Æ®¿öÅ© ȤÀº ¸¶½ºÄ¿·¹À̵ù »óŶó°í ÇØµµ ¶ó¿ìÅÍ¿¡¼ µ¿ÀÛÇÏ´Â ¸ðµç ÇÁ·Î¼¼½º¿¡¼´Â Àß µ¿ÀÛÇÕ´Ï´Ù. ¸¸ÀÏ ±×·¸Áö ¾Ê´Ù¸é µÎ ¼ºñ½º Á¦°øÀÚ°¡ °°ÀÌ Á¦°øÇÏ´Â IP ¿µ¿ªÀÌ Àְųª µÎ ¼ºñ½º Á¦°øÀÚÁß Çϳª¸¦ ÅëÇØ ¸¶½ºÄ¿·¹À̵ùÀ» »ç¿ëÇÏ·Á´Â °æ¿ì ÀÏ °ÍÀÔ´Ï´Ù. ¾Õ¼ µÎ°¡Áö °æ¿ì¿¡ ¸ðµÎ Áö¿ª¸Á¿¡ ÀÖ´Â ÄÄÇ»ÅÍÀÇ ÁÖ¼Ò¿¡ ±â¹ÝÇÑ ¼ºñ½º Á¦°øÀÚ ¼±Åà °æ·Î ¹èÁ¤ ±ÔÄ¢À» Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.
4.2.2. ºÎÇÏ ºÐ»ê ¶µÎ¹øÂ° °úÁ¦´Â µÎ ¼ºñ½º Á¦°øÀÚ¸¦ ÅëÇØ ³ª°¡´Â È帧ÀÇ ¾çÀ» Á¶ÀýÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù. À§¿¡¼ ó·³ ºÐ¸® Á¢±ÙÀ» ÇØ ³õ¾Ò´Ù¸é ¾î·ÆÁö ¾Ê½À´Ï´Ù.
µÎ ¼ºñ½º Á¦°øÀÚÁß Çϳª¸¦ ±âº» °æ·Î·Î ¼³Á¤ÇÏ´Â ´ë½Å, ±âº» °æ·Î¸¦ ´ÙÁß °æ·Î·Î ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ·¸°Ô ÇÏ¸é ±âº» Ä¿³Î¿¡¼± µÎ ¼ºñ½º Á¦°øÀÚ¸¦ ÅëÇØ ºÎÇÏ ºÐ»êÀ» ÇÕ´Ï´Ù. ¾Æ·¡¿Í °°ÀÌ ÇÏ¸é µË´Ï´Ù (ºÐ¸® Á¢±Ù¿¡ ÀÖ´Â ¿¹Á¦¸¦ Çѹø ´õ ÇÕ´Ï´Ù) :
ip route add default scope global nexthop via $P1 dev $IF1 weight 1 \ nexthop via $P2 dev $IF2 weight 1ÀÌ·¸°Ô ÇÏ¸é ¾çÂÊ ¼ºñ½º Á¦°øÀÚ¸¦ ÅëÇØ ºÎÇÏ ºÐ»ê °æ·Î ¹èÁ¤À» ÇÕ´Ï´Ù. weight Àμö¸¦ »ç¿ëÇÏ¸é ¼±È£ÇÏ´Â ¼ºñ½º Á¦°øÀÚ¸¦ Á¶À² ÇÒ ¼ö ÀÖ½À´Ï´Ù. ºÎÇÏ ºÐ»êÀº °æ·Î¸¦ ±â¹ÝÀ¸·Î ÇϰíÀÖ°í, ÀÌ °æ·ÎµéÀº ij½ÃµÇ±â ¶§¹®¿¡ ºÎÇÏ ºÐ»êÀº ºÒ¿ÏÀü ÇÏ´Ù´Â °Í¿¡ ÁÖÀÇ ÇϽÿÀ. À̰ÍÀº ÀÚÁÖ ¹æ¹®ÇÏ´Â »çÀÌÆ®´Â Ç×»ó °°Àº ¼ºñ½º Á¦°øÀÚ¸¦ ÅëÇØ¼¸¸ ¿¬°á µÉ ¼öµµ ÀÖ½À´Ï´Ù.
³ª¾Æ°¡ ÀÌ·± ¹®Á¦Á¡À» ÇØ°áÇÏ°í ½Í´Ù¸é Julian Anastasov ÀÇ ÆÐÄ¡¸¦
![]() 5. GRE ¿Í ´Ù¸¥ ÅÍ³Îµé ¶¸®´ª½º¿¡´Â ¼¼ °¡Áö Á¾·ùÀÇ ÅͳÎÀÌ ÀÖ½À´Ï´Ù. IP in IP Åͳθµ, GRE Åͳθµ, Ä¿³Î ¿ÜºÎÀÇ ÅͳΠ(¿¹¸¦ µé¾î PPTP ¿Í À¯»çÇÑ °Í) ÀÌ ±×°ÍÀÔ´Ï´Ù.
5.1. Åͳο¡ ´ëÇÑ ¸î °¡Áö À̾߱⠶ÅͳÎÀ» »ç¿ëÇÏ¸é ¾ÆÁÖ Æ¯º°ÇÏ°í ´ë´ÜÇÑ ÀÏÀ» ÇØ³¾ ¼ö ÀÖ½À´Ï´Ù. ¹Ý¸é Á¦´ë·Î ¼³Á¤ÇÏÁö ¾ÊÀ¸¸é ¸ðµç °ÍÀ» ¿ÏÀüÈ÷ ¸ÁÃijõÀ» ¼ö ÀÖ½À´Ï´Ù. ±×·¡¼ ¹«¾ùÀ» ÇÏ´ÂÁö Á¤È®È÷ ÀÌÇØÇÏÁö ¸øÇÏ´Â ºÐÀº Àý´ë·Î ±âº» °æ·Î¸¦ ÅͳΠÀåÄ¡·Î Çϵµ·Ï ¸¸µéÁö ¸¶½Ê½Ã¿À.
![]() 5.2. IP in IP Åͳθµ ¶ÀÌ Åͳθµ ¹æ¹ýÀº ¸®´ª½º¿¡¼´Â ¿À·¡ÀüºÎÅÍ Áö¿øÇϰí ÀÖ½À´Ï´Ù. »ç¿ëÇϱâ À§Çؼ´Â ipip.o ¿Í new_tunnel.o ÀÇ µÎ Ä¿³Î ¸ðµâÀÌ ÇÊ¿äÇÕ´Ï´Ù.
³×Æ®¿÷ÀÌ ¼Â ÀÖ´Ù°í ÇØº¾½Ã´Ù : ³»ºÎ ³×Æ®¿÷ A ¿Í B °¡ ÀÖ°í, ±× »çÀÌ¿¡ ³×Æ®¿÷ C °¡ ÀÖ½À´Ï´Ù. (¶Ç´Â ÀÎÅͳÝÀ̶ó°í ÇսôÙ) ³×Æ®¿÷ A ´Â :
network 10.0.1.0 netmask 255.255.255.0 router 10.0.1.1¶ó¿ìÅÍÀÇ ÁÖ¼Ò´Â ³×Æ®¿÷ C ¿¡¼ 172.16.17.18 ÀÔ´Ï´Ù. ³×Æ®¿÷ B ´Â :
network 10.0.2.0 netmask 255.255.255.0 router 10.0.2.1¶ó¿ìÅÍÀÇ ÁÖ¼Ò´Â ³×Æ®¿÷ C ¿¡¼ 172.19.20.21 ÀÔ´Ï´Ù. ³×Æ®¿÷ C ¿¡ ´ëÇØ¼´Â ±×Àú ³×Æ®¿÷ A ¿Í B ÀÇ ÆÐŶµéÀ» ¼·Î°£¿¡ Àü´ÞÇØÁÖ´Â °ÍÀ¸·Î »ý°¢ÇսôÙ. Æí¸®ÇÏ°Ô ÀÎÅͳÝÀ» »ç¿ëÇÑ´Ù°í »ý°¢Çصµ ÁÁ½À´Ï´Ù.
¿©±â ÇÒÀÏÀÌ ÀÖ½À´Ï´Ù:
ù°, ¸ðµâÀ» È®½ÇÈ÷ ¼³Ä¡ÇÕ´Ï´Ù:
insmod ipip.o insmod new_tunnel.o³×Æ®¿÷ AÀÇ ¶ó¿ìÅÍ¿¡¼ ¾Æ·¡ ó·³ÇÕ´Ï´Ù: ifconfig tunl0 10.0.1.1 pointopoint 172.19.20.21 route add -net 10.0.2.0 netmask 255.255.255.0 dev tunl0³×Æ®¿÷ BÀÇ ¶ó¿ìÅÍ¿¡¼±: ifconfig tunl0 10.0.2.1 pointopoint 172.16.17.18 route add -net 10.0.1.0 netmask 255.255.255.0 dev tunl0ÅͳÎÀ» ³¡³»·Á¸é: ifconfig tunl0 downºü¸£°Ô ¸ðµç°É ¸¶ÃƽÀ´Ï´Ù. IP-in-IP ÅͳÎÀ» ÅëÇØ¼´Â IPv6 ³ª ¹æ¼ÛÀ» º¸³¾ ¼ö ¾ø½À´Ï´Ù. ÀÌÁ¦ ¼·Î Åë½ÅÇÏÁö ¸øÇß´ø IPv4 ³×Æ®¿÷À» µÎ°³ ¿¬°áÇß°í ±×°Ô ´Ù ÀÔ´Ï´Ù. ȣȯ¼ºÀÌ ÁöÄÑÁö´Â µ¿¾È ÀÌ ¸í·ÉµéÀº »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×°ÍÀº 1.3 Ä¿³Î°ú ÇÏÀ§ ȣȯÀ» °®´Â´Ù´Â °ÍÀ» ¸»ÇÕ´Ï´Ù. ¸®´ª½ºÀÇ IP-in-IP ÅͳθµÀº ´Ù¸¥ ¿î¿µÃ¼Á¦³ª ¶ó¿ìÅÍ¿Í °°ÀÌ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. °£´ÜÇϰí Àß µ¿ÀÛÇÕ´Ï´Ù. ¹Ýµå½Ã ½á¾ß ÇÑ´Ù¸é »ç¿ëÇϽʽÿÀ. ±×·¸Áö ¾ÊÀ¸¸é GRE¸¦ »ç¿ëÇϽʽÿÀ. 5.3. GRE Åͳθµ ¶GRE ´Â ¿ø·¡ Cisco ¿¡¼ °³¹ßÇÑ Åͳθµ ÇÁ·ÎÅäÄÝÀε¥ IP-in-IP Åͳθµ¿¡ ºñÇØ ¸î °¡Áö ±â´ÉÀÌ ´õ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é GRE ÅͳÎÀ» ¾²¸é ¸ÖƼij½ºÆ®³ª IPv6 À» ó¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¸®´ª½º´Â ip_gre.o ¸ðµâÀÌ ÇÊ¿äÇÕ´Ï´Ù.
5.3.1. IPv4 Åͳθµ ¶¿ì¼± IPv4 ÅͳθµÀ» ÇØº¾½Ã´Ù:
¿ì¼± ¼¼°³ÀÇ ³×Æ®¿÷À» °¡Áö°í ÀÖ´Ù°í ÇսôÙ: ³»ºÎ ³×Æ®¿÷ A,B°¡ ÀÖ°í ±×»çÀÌ¿¡ ³×Æ®¿÷ C°¡ ÀÖ½À´Ï´Ù. (¶Ç´Â ÀÎÅͳÝ)
³×Æ®¿÷ A´Â :
network 10.0.1.0 netmask 255.255.255.0 router 10.0.1.1¶ó¿ìÅÍ´Â ³×Æ®¿÷ C¿¡¼ 172.16.17.18À» ÁÖ¼Ò·Î °¡Áö°í ÀÖ½À´Ï´Ù. ÀÌ ³×Æ®¿÷À» neta¶ó°í ÇսôÙ. (¹°·Ð ÁøÂ¥´Â ¾Æ´Õ´Ï´Ù) ±×¸®°í ³×Æ®¿÷ B´Â :
network 10.0.2.0 netmask 255.155.255.0 router 10.0.2.1¶ó¿ìÅÍ´Â ³×Æ®¿÷ C¿¡¼ 172.19.20.21À» ÁÖ¼Ò·Î °¡Áö°í ÀÖ½À´Ï´Ù. ÀÌ ³×Æ®¿÷À» netb¶ó°í ÇսôÙ. (¾ÆÁ÷µµ ÁøÂ¥´Â ¾Æ´Õ´Ï´Ù) ³×Æ®¿÷ C¿¡ °üÇØ¼´Â A¿¡¼ B·Î°¡´Â ¸ðµç ÆÐŶÀ» Àü´ÞÇØ Áִ°ÍÀ¸·Î ÇսôÙ. ¾î¶»°Ô ³ª ¿Ö±×·¡¾ß Çϳª Çϴ°ÍÀº ½Å°æ¾²Áö ¸¿½Ã´Ù.
³×Æ®¿÷ A¿¡ ÀÖ´Â ¶ó¿ìÅÍ¿¡ ´ÙÀ½°ú °°ÀºÀÏÀ» ÇսôÙ:
ip tunnel add netb mode gre remote 172.19.20.21 local 127.16.17.18 ttl 255 ip link set netb up ip addr add 10.0.1.1 dev netb ip route add 10.0.2.0/24 dev netbÀÌÁ¦ À§ÀÇ ÀÏ¿¡ ´ëÇØ Á¶±Ý ¾ê±âÇØ º¾½Ã´Ù. ù¹øÂ°ÁÙ, netb¶ó´Â ÅͳΠÀåÄ¡¸¦ Ãß°¡ÇÕ´Ï´Ù(´ç¿¬ÇÑÀÏÀÔ´Ï´Ù ÆÐŶÀ» º¸³»·Á°í ÇÏ´Â °÷À̴ϱî¿ä). °Ô´Ù°¡ GRE ÇÁ·ÎÅäÄÝÀ» (mode gre)À» »ç¿ëÇÏ°í ¿ø°ÝÁö ÁÖ¼Ò°¡ 172.19.20.21 (»ó´ëÆí ¶ó¿ìÅÍ ÁÖ¼Ò)À̰í ÅͳÎÀ» Áö³ª´Â ÆÐŶÀÌ 172.16.17.18¿¡¼ Ãâ¹ßÇÑ °ÍÀ¸·Î Çϰí (À̰ÍÀº ¶ó¿ìÅͰ¡ ³×Æ®¿÷ C¿¡¼ ¿©·¯°³ÀÇ ÁÖ¼Ò¸¦ °¡Áö°í ÀÖÀ»¶§ ±× Çϳª¸¦ ÅͳηΠ»ç¿ëÇÒ¼ö ÀÖ°Ô ÇÕ´Ï´Ù) ÆÐŶÀÇ TTLÀ» 255·Î ÇÕ´Ï´Ù(ttl 255). µÎ¹øÂ° ÁÙÀº ÀåÄ¡¸¦ Ȱ¼ºÈ ½Ãŵ´Ï´Ù.
¼¼¹øÂ° ÁÙ¿¡¼ »õ·Î¿î netb¿¡ ÁÖ¼Ò¸¦ 10.0.1.1·Î ÁöÁ¤ÇÕ´Ï´Ù. ÀÛÀº ³×Æ®¿÷¿¡¼± À̰ÍÀ¸·Î ÃæºÐÇÕ´Ï´Ù¸¸ ¶¥±¼ÆÄ±â¸¦ ½ÃÀÛÇÑ´Ù¸é(¸¹Àº ÅͳÎÀÌ ÇÊ¿äÇѰæ¿ì)´Â Åͳθµ ÀåÄ¡¸¦ À§ÇØ ´Ù¸¥ IP ´ë¿ªÀ» »ç¿ëÇϴ°ÍÀ» »ý°¢ÇØ º¼ ¼ö ÀÖ½À´Ï´Ù(¿¹¸¦ µé¸é 10.0.3.0À» »ç¿ëÇÒ¼ö ÀÖ½À´Ï´Ù).
³×¹øÂ° ÁÙ¿¡¼ ³×Æ®¿ö B·Î°¡´Â °æ·Î¸¦ ÁöÁ¤ÇÕ´Ï´Ù. netmask¿¡ »ç¿ëÇÑ Ç¥±â¹ý¿¡ ÁÖÀÇÇϽʽÿÀ. ÀÌ Ç¥±â¹ý¿¡ Àͼ÷ÇÏÁö ¾ÊÀººÐÀ¸ À§ÇØ ¼³¸íÀ» µå¸®¸é netmask¸¦ ÀÌÁøÇüÅ·Π½á ³õ°í °Å±â¼ 1ÀÇ °³¼ö¸¦ ¼¼´Â ¹æ¹ýÀ¸·Î »ç¿ëÇÕ´Ï´Ù. ¾î¶»°Ô ±×·¸°Ô µÇ´ÂÁö ¸ð¸£½Ã´Â ºÐÀº 255.0.0.0Àº /8, 255.255.0.0Àº /16, 255.255.255.0Àº /24¸¦ ±â¾ïÇϽʽÿÀ. Ȥ½Ã ±Ã±ÝÇÑ ºÐÀ» À§Çؼ 255.255.254.0Àº /23ÀÔ´Ï´Ù.
ÀÌÁ¤µµ·Î ÃæºÐÇϰí, ´ÙÀ½Àº ³×Æ®¿÷ BÀÇ ¶ó¿ìÅÍ·Î °¡º¾½Ã´Ù.
ip tunnel add neta mode gre remote 172.16.17.18 local 172.19.20.21 ttl 255 ip link set neta up ip addr add 10.0.2.1 dev neta ip route add 10.0.1.0/24 dev nta±×¸®°í ¶ó¿ìÅÍ A¿¡¼ ÅͳÎÀ» ¾ø¾Ö°í ½ÍÀ»¶§´Â: ip link set netb down ip tunnel del netb¹°·Ð ¶ó¿ìÅÍ B¿¡¼´Â neta¸¦ netb·Î ¹Ù²Ù¸é µË´Ï´Ù. 5.3.2. IPv6 Åͳθµ ¶IPv6ÀÇ ÁÖ¼Ò¿¡ °üÇØ¼´Â 6ÀåÀ» º¸½Ã¿À.
On with the tunnels.
¾Æ·¡¿Í °°Àº IPv6³×Æ®¿÷ÀÌ ÀÖ°í 6boneÀ̳ª Ä£±¸¿¡°Ô ¿¬°áÇÏ·Á°í ÇÑ´Ù°í °¡Á¤ÇսôÙ.
Network 3ffe:406:5:1:5:a:2:1/96³×Æ®¿÷ÀÇ IPv4ÁÖ¼Ò´Â 172.16.17.18À̰í 6bone ¶ó¿ìÅÍÀÇ IPv4ÁÖ¼Ò´Â 172.22.23.24ÀÔ´Ï´Ù. ip tunnel add sixbone mode sit remote 172.22.23.24 local 172.16.17.18 ttl 255 ip link set sixbone up ip addr add 3ffe:406:5:1:5:a:2:1/96 dev sixbone ip route add 3ffe::/15 dev sixboneÀ§¿¡ ´ëÇØ¼ ¾ê±âÇØ º¾½Ã´Ù. ù¹øÂ°ÁÙ, sixboneÀ̶ó´Â ÅͳΠÀåÄ¡¸¦ ¸¸µé¾ú½À´Ï´Ù. ¸ðµå¸¦ sit(IPv4 Åͳθµ¿¡ IPv6¸¦ ¾ð´Â°Í)À¸·Î Çϰí Ãâ¹ß(local)°ú µµÂø(remote)À» ÁöÁ¤Çß½À´Ï´Ù. TTLÀº ÃÖ´ë°ªÀÎ 255·Î ÁöÁ¤ÇÕ´Ï´Ù. ´ÙÀ½À¸·Î ÀåÄ¡¸¦ Ȱ¼ºÈÇÕ´Ï´Ù (up). ±×ÈÄ ³×Æ®¿÷ ÁÖ¼Ò¸¦ ÁöÁ¤Çϰí ÅͳÎÀ» ÅëÇÒ ÁÖ¼Ò¸¦ 3ffe::/15(ÇöÀç ¸ðµç 6boneÀÇ ÁÖ¼Ò)·Î ¶ó¿ìÅÍ¿¡ ÁöÁ¤ÇÕ´Ï´Ù. GRE ÅͳÎÀº ÇöÀç ÅͳÎÁß¿¡¼ ¼±È£ÇÏ´Â ÅͳÎÀÔ´Ï´Ù. À̰ÍÀº Ç¥ÁØÀÌ°í ¸®´ª½º ¼¼°è¸¦ ¹þ¾î³ª¼µµ ³Ð°Ô »ç¿ëÇϰí ÀÖÀ¸¹Ç·Î ÁÁÀº°ÍÀÔ´Ï´Ù.
5.4. »ç¿ëÀÚ ¿µ¿ª ÅͳΠ¶±Û ±×´ë·Î Ä¿³Î¹Û¿¡´Â ÅͳÎÀ» ±¸ÇöÇÑ´Â ¹æ¹ýÀÌ ¾ÆÁÖ ¸¹´Ù. °¡Àå Àß ¾Ë·ÁÁø°ÍÀº PPP¿Í PPTPÀÌ°í ±×¹Û¿¡µµ ¾ÆÁÖ ¸¹ÀÌ (ÁöÀûÀç»ê±ÇÀÌ Àִ°Í, ¾ÈÀüÇѰÍ, ȤÀº IP¸¦ »ç¿ëÇÏÁö ¾Ê´Â°Íµî)ÀÖ°í ±×°Íµé¿¡ °üÇØ¼´Â ÀÌ ÇÏ¿ìÅõÀÇ ¹üÀ§¸¦ ¹þ¾î³´Ù.
6. ½Ã½ºÄÚ ¿Í(¶Ç´Â) 6bone¿¡¼ IPv6 Åͳθµ ¶Marco Davids <marco@sara.nl>
°ü¸®ÀÚ¿¡ ´ëÇÑ ÁÖÀÇ :
³»°¡ º¸±â¿£, ÀÌ IPv6-IPv4ÅͳθµÀº GRE ÅͳθµÀÇ Á¤ÀÇ¿¡ °üÇѰÍÀÌ ¾Æ´Õ´Ï´Ù. ´ç½ÅÀº GRE ÅͳÎÀÇ ÀϹÝÀûÀÎ ¹æ¹ýÀ¸·Î (GRE´Â ¾î¶²°ÍÀÌ¶óµµ IPv4À§¿¡ ÅͳÎÀ» ¿¼öÀÖÀ½) IPv4À§¿¡ IPv6¸¦ ¾ð´Â ÅͳÎÀ» ÇßÁö¸¸ ±×ÀåÄ¡´Â ¿ÀÁ÷ IPv4À§¾î IPv6¸¦ ¾ð´Â ("sit") Åͳηθ¸ »ç¿ëµÇ¾ú°í ±×·¡¼ À̰ÍÀº ¾à°£ ´Ù¸¥ ¾ê±âÀÔ´Ï´Ù.
6.1. IPv6 Åͳθµ ¶À̰ÍÀº ¸®´ª½ºÀÇ Åͳθµ ´É·Â¿¡ ´ëÇÑ ´Ù¸¥ ÀÀ¿ëÀÔ´Ï´Ù. À̰ÍÀº ´ç½Å°°Àº IPv6ÀÇ Å½Çè°¡³ª ¾ó¸®¾î´ðÅÍ »çÀÌ¿¡¼ À¯¸íÇÕ´Ï´Ù. ¾Æ·¡ÀÇ '½Ç½À' ¿¹Á¦´Â È®½ÇÈ÷ IPv6 Åͳθµ¿¡ °üÇѰ͸¸ ÇÏÁö ¾Ê½À´Ï´Ù. ±×·¯³ª, À̹æ¹ýÀº ¸®´ª½º¿Í ½Ã½ºÄÚÀÇ IPv6 ¶ó¿ìÅÍ»çÀÌÀÇ Åͳο¡ ÀÚÁÖ »ç¿ëµÇ¸ç °æÇè»ó ¸¹Àº »ç¶÷µéÀÌ ÈÄ¿¡ °°Àº ÀÏÀ» ÇÒ °ÍÀÔ´Ï´Ù. ½ÊºÐÀÇ ÀÏ·Î ´ç½Å¿¡°Ôµµ Àû¿ëµË´Ï´Ù.
![]() IPv6ÁÖ¼Ò¿¡ °üÇØ Á¶±Ý:
IPv6ÁÖ¼Ò´Â IPv4 ÁÖ¼Ò¿¡ ºñÇØ ÁøÂ¥ Å®´Ï´Ù: 128ºñÆ®¿Í 32ºñÆ®. ±×¸®°í ¿ì¸®°¡ ¿øÇÏ´Â °ÍÀ» Á¦°øÇÕ´Ï´Ù:¾ÆÁÖ ¾ÆÁÖ ¸¹Àº IPÁÖ¼Òµé:Á¤È®È÷´Â 340,282,266,920,938,463,374,607,431,768,211,465. À̰ÍÀ» ¶°³ª, IPv6(ȤÀº IPng, ´ÙÀ½¼¼´ëÀÇ IP)´Â ÀÎÅÍ³Ý ÁßÃß ¶ó¿ìÅÍ¿¡ Á»´õ ÀÛÀº °æ·Î ¹èÁ¤Ç¥°¡ ÇÊ¿äÇÒ°ÍÀ¸·Î ¿¹»óµÇ°í ÀåºñÀÇ ´Ü¼øÇÑ ¼³Á¤, IP ¼öÁØ¿¡¼ Á»´õ ¾ÈÀüÇϰí Á»´õ ÁÁÀº ¼ºñ½º ǰÁúÀ» Á¦°øÇÒ °ÍÀÔ´Ï´Ù.
º¸±â: 2002:836b:9820:0000:0000:0000:836b:9886
IPv6¸¦ Àû´Â°ÍÀº Å« ÁüÀÌ µË´Ï´Ù. ±×·¡¼ ½±°Ô Çϱâ À§ÇÑ ¸î°¡Áö ±ÔÄ¢ÀÌ ÀÖ½À´Ï´Ù:
´Ù¸¥ º¸±â´Â, ÁÖ¼Ò 3ffe:0000:0000:0000:0000:0020:34A1:F32C´Â ¾ÆÁÖ Âª°Ô 3ffe::20:34A1:F32C·Î ¾µ ¼ö ÀÖ½À´Ï´Ù.
IPv6´Â IPv4ÀÇ ÈİèÀÚ°¡ µÇ·Á°í ÇÕ´Ï´Ù. ¿Ö³ÄÇÏ¸é ºñ±³Àû ½Å±â¼úÀÌ°í ¾ÆÁ÷ ¼¼°èÀûÀ¸·Î º»·¡ÀÇ IPv6 ³×Æ®¿÷ÀÌ ¾ø±â¶§¹®ÀÔ´Ï´Ù. ÀüȯÀ» ºü¸£°Ô ÇÏ·Á°í 6boneÀÌ ¼Ò°³µÇ¾ú½À´Ï´Ù.
IPv6 ³×Æ®¿÷ÀÎ ÀÌ¹Ì ÀÖ´Â IPv4 ÀÎÇÁ¶ó¸¦ ÅëÇØ IPv6 ÇÁ·ÎÅäÄÝÀ» IPv4 ÆÐŶ¿¡ ½Î¼ º¸³»´Â ½ÄÀ¸·Î ¿¬°áÇÕ´Ï´Ù.
±×°ÍÀÌ Á¤È®ÇÏ°Ô Åͳο¡ ¹ßÀ» µé¿© ³õ´Â °ÍÀÔ´Ï´Ù.
IPv6¸¦ »ç¿ëÇϱâ À§Çؼ± Ä¿³ÎÀÌ Áö¿øÇϵµ·Ï ÇØ¾ß ÇÕ´Ï´Ù. ±×°ÍÀ» ÇϱâÀ§ÇÑ ¸¸Àº ¹®¼µéÀÌ ÀÖ½À´Ï´Ù. ±×·¯³ª ±×°ÍÀº ¸ðµÎ ¸î´Ü°è·Î ÁÙÀϼö ÀÖ½À´Ï´Ù:
¿ä·É: 'module' ¿É¼ÇÀ» ÇÏÁö ¾Ê½À´Ï´Ù. Á¾Á¾ Á¦´ë·Î ¿òÁ÷ÀÌÁö ¾Ê½À´Ï´Ù.
´Ù¸¥¸»·Î Çϸé, IPv6¸¦ Ä¿³Î¿¡ ³»ÀåÇØ¼ ÄÄÆÄÀÏÇÕ´Ï´Ù. ¼³Á¤À» º¸Åëó·³ ÀúÀåÇϰí Ä¿³ÎÀ» ÄÄÆÄÀÏ ÇÕ´Ï´Ù.
¿ä·É: ÇϱâÀü¿¡ MakefileÀ» °íÄ¡´Â °ÍÀ» °í·ÁÇØ º¸½Ê½Ã¿À: EXTRAVERSION = -x; -->; EXTRAVERSION = -x-IPv6
Ä¿³ÎÀ» ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇÏ´Â ¸¹Àº ¹®¼°¡ ÀÖÁö¸¸ ÀÌ ¹®¼¿¡¼ ¾ê±âÇϰíÀÚ ÇÏ´Â °ÍÀº ¾à°£ ´Ù¸¥ ¾ê±âÀÔ´Ï´Ù. ÀÌ ´Ü°è¿¡ ¹®Á¦°¡ ÀÖ´Ù¸é ´ç½ÅÀÇ »ó¼¼ Á¶°Ç¿¡ ¸ÂÃß¾î ¸®´ª½º Ä¿³ÎÀ» ÄÄÆÄÀÏÇÏ´Â ¹®¼¸¦ ã¾Æ º¸½Ê½Ã¿À.
/usr/src/linux/README´Â ÁÁÀº ½ÃÀÛÀÏ ¼ö ÀÖ½À´Ï´Ù. À̰ÍÀ» ¸¶Ä£ÈÄ¿¡´Â ´ç½Å »óÇ¥ÀÇ »õ Ä¿³Î·Î ºÎÆÃÇÒ ¼ö ÀÖ°í '/sbin/ifconfig -a' ¸í·ÉÀ» »ç¿ëÇØ »õ 'sit0-device'¸¦ º¼ ¼ö ÀÖ½À´Ï´Ù. SITÀº °£´ÜÇÑ ÀÎÅÍ³Ý º¯È¯ (Simple Internet Transition)À» ³ªÅ¸³À´Ï´Ù. ÀÌÁ¦ ´ÙÀ½¼¼´ëÀÇ IP¿¡ Áß¿äÇÑ ÇѰÉÀ½À» ´Ù°¡°£ °ÍÀ» ÀÚÃàÇÒ ¼ö ÀÖ½À´Ï´Ù.
![]() ´ÙÀ½ ´Ü°è. È£½ºÆ® ¶Ç´Â Àüü LANÀ» ´Ù¸¥ IPv6À» Áö¿øÇÏ´Â ³×Æ®¿÷¿¡ ¿¬°áÇϰíÀÚ ÇÒ ¼ö ÀÖ½À´Ï´Ù. À̰ÍÀÌ "6bone"ÀÌ µÉ°ÍÀ̰í ÀÌ·± Ưº°ÇÑ ¸ñÀûÀ» À§ÇØ ¼³Ä¡ÇÕ´Ï´Ù.
´ç½ÅÀÌ IPv6 ³×Æ®¿÷: 3ffe:604:6:8::/64À» °¡Áö°í ÀÖ°í Ä£±¸³ª 6boneÀ¸·Î ¿¬°áÇϰíÀÚ ÇÑ´Ù°í °¡Á¤ÇսôÙ. /64 ÇÏÀ§ ³×Æ®¿÷ Ç¥ÇöÀÌ ÀÏ¹Ý IP ÁÖ¼Òó·³ ¾²Àδٴ°Ϳ¡ ÁÖ¸ñÇØ ÁֽʽÿÀ.
# ip tunnel add sixbone mode sit remote 145.100.1.5 [local 145.100.24.181 ttl 255] # ip link set sixbone up # ip addr add 3FFE:604:6:7::2/126 dev sixbone # ip route add 3ffe::0/16 dev sixbone À§¿¡ ´ëÇØ À̾߱âÇØ º¾½Ã´Ù. ù¹øÂ°ÁÙ, sixboneÀ¸·Î ºÎ¸£´Â ÅͳΠÀåÄ¡¸¦ ¸¸µé¾ú½À´Ï´Ù. ÅͳÎÀÇ ¸ðµå¸¦ sit (IPv4 Åͳο¡¼ IPv6¸¦ »ç¿ë)À¸·Î Çϰí Ãâ¹ß (local)¿¡¼ µµÂø (remote)ÇÒ °÷À» ÁöÁ¤Çß½À´Ï´Ù. TTLÀº ÃÖ´ë°ªÀÎ 255·Î ÁöÁ¤Çß½À´Ï´Ù.
´ÙÀ½, ÀåÄ¡¸¦ Ȱ¼º½Ãŵ´Ï´Ù. ±× ÈÄ, ¿ì¸® ³×Æ®¿÷ ÁÖ¼Ò¸¦ Ãß°¡Çϰí 3ffe::/16 (ÇöÀç ¸ðµç 6boneÀ» ³ªÅ¸³¿)À¸·Î °¡´É °æ·ÎƲ ÅͳÎÀ» ÅëÇϵµ·Ï Çß½À´Ï´Ù. IPv6 °ü¹® ±â°è¿¡¼ ½ÇÇàÇÏ·Á¸é ´ÙÀ½ ÁÙÀ» Ãß°¡ÇÏ´Â °ÍÀ» °í·ÁÇϽʽÿÀ:
# echo 1 >/proc/sys/net/ipv6/conf/all/forwarding # /usr/local/sbin/radvd ³ªÁß¿¡, radvd´Â -zebra ó·³- IPv6 ÀÚµ¿ ¼³Á¤ ±â´ÉÀ» Áö¿øÇÏ´Â ¶ó¿ìÅÍ ±¤°í µ¥¸óÀÔ´Ï´Ù. Èï¹Ì ÀÖ´Ù¸é ÁÁ¾ÆÇÏ´Â °Ë»ö¿£ÁøÀ» ÅëÇØ ã¾Æ º¸½Ê½Ã¿À. ¾Æ·¡¿Í °°ÀÌ °Ë»çÇÒ ¼öµµ ÀÖ½À´Ï´Ù:
# /sbin/ip -f inet6 addr radvd¸¦ IPv6 °ü¹®¿¡ ½ÇÇàÇϰí Áö¿ª LAN¿¡ IPv6¸¦ Áö¿øÇÏ´Â ¸®´ª½º¸¦ ºÎÆÃÇϸé IPv6ÀÇ ÀÚµ¿ ¼³Á¤ÀÇ ÀÌÁ¡À» Áñ±æ ¼ö ÀÖ½À´Ï´Ù.
# /sbin/ip -f inet6 addr 1: lo: <LOOPBACK,UP> mtu 3924 qdisc noqueue inet6 ::1/128 scope host 3: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100 inet6 3ffe:604:6:8:5054:4cff:fe01:e3d6/64 scope global dynamic valid_lft forever preferred_lft 604646sec inet6 fe80::5054:4cff:fe01:e3d6/10 scope link bind¸¦ IPv6 ÁÖ¼Ò¿¡ ¸Â°Ô ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. A Çü½ÄÀº IPv6¿¡¼± AAAAÀÌ´Ù. in-addr.arpa´Â ip6.int¿Í °°´Ù. ÀÌ ÁÖÁ¦¿¡ °üÇØ¼± ¸¹Àº Á¤º¸°¡ ÀÖ½À´Ï´Ù.
IPv6¸¦ Áö¿øÇÏ´Â ÀÀ¿ëÇÁ·Î±×·¥Àº ¸¹ÀÌ ´Ã¾î³ª°í ÀÖÀ¸¸ç ±×Áß¿¡ secure shell, telnet, inetd, Mozilla, Apache¿Í ±×¿Ü ¸¹Àº ´Ù¸¥°ÍµéÀÌ Æ÷ÇԵ˴ϴÙ. ±×·¯³ª À̰͵éÀº °æ·Î¹èÁ¤ ¹®¼¿¡ °üÇÑ ¹®¼ÀÇ ¹üÀ§¸¦ ¹þ¾î³³´Ï´Ù
![]() ½Ã½ºÄÚÀÇ ¼³Á¤Àº ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù:
! interface Tunnel1 description IPv6 tunnel no ip address no ip directed-broadcast ipv6 enable ipv6 address 3FFE:604:6:7::1/126 tunnel source Serial0 tunnel destination 145.100.24.181 tunnel mode ipv6ip ! ipv6 route 3FFE:604:6:8::/64 Tunnel1½Ã½ºÄÚ°¡ ´ç½Å Àç»êÁß¿¡ ¾ø´Ù¸é ÀÎÅͳݿ¡ ÀÖ´Â ¸¹Àº IPv6 ÅͳΠÁß°³ÀÎÁß Çϳª¸¦ ½ÃµµÇØ º¼ ¼ö ÀÖ½À´Ï´Ù. ±×µéÀº ½Ã½ºÄÚ¿¡ ´ç½ÅÀ» À§ÇÑ Ãß°¡ ÅͳÎÀ» ¼³Á¤ÇØ ÁÙ°Í ÀÔ´Ï´Ù. ´ëºÎºÐ ½¬¿î À¥ ÀÎÅÍÆäÀ̽º¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. ¼±È£ÇÏ´Â °Ë»ö¿£Áø¿¡ "ipv6 tunnel broker"·Î ã¾Æº¸½Ê½Ã¿À. 7. IPSEC: ÀÎÅÍ³Ý »óÀÇ ¾ÈÀüÇÑ IP ¶ÃÖ±Ù¿¡ ¸®´ª½º¿¡¼´Â µÎ °¡Áö Á¾·ùÀÇ
![]() ![]() ![]() ![]() ![]() ![]() ´õºÒ¾î,
![]() ![]() ![]() ![]() ![]() ![]() ![]() ¸®´ª½º 2.5.47ÀÇ °æ¿ì Ä¿³Î ³»¿¡ ÀÚüÀûÀÎ IPSEC ±¸ÇöÀÌ ÀÖ½À´Ï´Ù. ÀÌ´Â Alexey Kuznetsov ¹× Dave Miller°¡
![]() ÀÌ HOWTO´Â IPSECÀÇ 2.5+ ¹öÀü¸¸À» ´Ù·ê °ÍÀÔ´Ï´Ù. ÇöÀç·Î¼± ¸®´ª½º 2.4 »ç¿ëÀÚ¿¡°Ô FreeS/WANÀ» ±ÇÇÏÁö¸¸, ±× ±¸¼ºÀÌ ÀÚüÀûÀÎ IPSECÀÇ °æ¿ì¿Í´Â ´Ù¸¦ °ÍÀ̶õ Á¡À» ¿°µÎ¿¡ µÎ¾î¾ß ÇÕ´Ï´Ù. °ü·Ã ¼Ò½Ä¿¡ µû¸£¸é ÇöÀç FreeS/WANÀÇ »ç¿ëÀÚ°ø°£ Äڵ带 ÀÚüÀûÀÎ ¸®´ª½º IPSEC°ú ÇÔ²² µ¿ÀÛÇϵµ·Ï ÇØ ÁÖ´Â
![]() 2.5.49ÀÇ °æ¿ì IPSECÀº Ãß°¡ÀûÀÎ ÆÐÄ¡ ¾øÀ̵µ µ¿ÀÛÇÕ´Ï´Ù.
ÁÖÀÇ »ç¿ëÀÚ °ø°£ µµ±¸µéÀº
ù ¹øÂ°·Î´Â, µÎ È£½ºÆ® °£¿¡ ¼öµ¿À¸·Î º¸¾È Åë½ÅÀ» ¼³Á¤ÇÏ´Â ¹ýÀ» º¸ÀÏ °ÍÀÔ´Ï´Ù. ÀÌ °úÁ¤ÀÇ »ó´ç ºÎºÐÀº ÀÚµ¿È µÉ ¼öµµ ÀÖ½À´Ï´Ù¸¸, ¿©±â¼´Â '¾Æ·§ µ¿³×¿¡¼' ÁøÇàµÇ´Â Àϵ鿡 Àͼ÷ÇØ Áú ¼ö ÀÖµµ·Ï Çϱâ À§ÇØ Á÷Á¢ ÇØ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.
![]() Ä¿³ÎÀ» ÄÄÆÄÀÏ ÇÒ ¶§ 'PF_KEY'¿Í 'AH', 'ESP', ±×¸®°í CryptoAPI ¾È¿¡ ÀÖ´Â ¸ðµç °ÍµéÀ» ÄÑÁÖ´Â °É ÀØÁö ¸¶¼¼¿ä!
°æ°í ÀÌ ÀåÀÇ ÀúÀÚ´Â Á¦´ë·ÎµÈ IPSEC ¹ÙºÎÅÊÀÔ´Ï´Ù! ¾øÀ» ¸®°¡ ¾ø´Â ½Ç¼öµéÀ» ã°Ô µÇ¸é bert hubert<![]() ÀÚµ¿ ۱³È¯¿¡¸¸ °ü½ÉÀÌ ÀÖ´Ù¸é ´ÙÀ½ ÀýÀ» °Ç³Ê¶Ù¾îµµ ¹«¹æÇÕ´Ï´Ù¸¸, ¼öµ¿ ŰÀÔ·Â(¿ªÀÚÁÖ: manual keyingÀº '¼öµ¿ ŰÀÔ·Â'À¸·Î, automatic keyingÀº 'ÀÚµ¿ ۱³È¯'À¸·Î ¹ø¿ªÇÕ´Ï´Ù)À» ¾î´À Á¤µµ ÀÌÇØÇÏ´Â °Ô À¯¿ëÇÏ´Ù´Â °Ç ¾Ë°í °è½Ã±æ ¹Ù¶ø´Ï´Ù.
7.1. ¼öµ¿ ŰÀÔ·Â ÀÔ¹® ¶IPSECÀº º¹ÀâÇÑ ÁÖÁ¦ÀÔ´Ï´Ù. ¸¹Àº Á¤º¸µéÀÌ ¿Â¶óÀÎ »ó¿¡ ÀÖÀ¸¸ç, ÀÌ HOWTO´Â ¿©·¯ºÐµéÀÌ °ÉÀ½¸¶¸¦ ¶¿ ¼ö ÀÖµµ·Ï ÇÏ´Â °Í°ú ±âº»ÀûÀÎ ¿ø¸®µéÀ» ¼³¸íÇÏ´Â °Í¿¡ ÁýÁßÇÒ °ÍÀÔ´Ï´Ù. ¸ðµç ¿¹Á¦µéÀº À§¿¡¼ ¾ê±âÇÑ ¸µÅ©¿¡ ÀÖ´Â Rocoon¿¡ ±â¹ÝÇϰí ÀÖ½À´Ï´Ù.
ÁÖÀÇ ¸¹Àº iptables ±¸¼ºµéÀº IPSEC ÆÐŶÀ» Â÷´Ü½Ãŵ´Ï´Ù! IPSECÀ» Åë°ú½ÃŰ·Á¸é: '
IPSECÀº InternetProtocolÀÇ º¸¾È ¹öÀüÀ» Á¦°øÇØ ÁÝ´Ï´Ù. ÀÌ ¸Æ¶ô¿¡¼ º¸¾ÈÀ̶õ ¾ÏÈ£È(encryption)¿Í ÀÎÁõ(authentication)À̶ó´Â »óÀÌÇÑ µÎ °¡Áö¸¦ ¶æÇÕ´Ï´Ù. º¸¾È¿¡ ´ëÇÑ ¾èÀº ½Ã°¢À¸·Î´Â ¾Ïȣȸ¸À» ¾ê±âÇÒ ¼öµµ ÀÖ°ÚÁö¸¸, ±×°Í¸¸À¸·Î´Â ÃæºÐÄ¡ ¾Ê´Ù´Â °É ½±°Ô ¾Ë ¼ö ÀÖ½À´Ï´Ù. ¾Ïȣȸ¦ ÇØ¼ Åë½ÅÀ» Çϰí ÀÖ´Ù°í ÇØµµ, ¿ø°ÝÁöÀÇ »ó´ë°¡ ÀÚ½ÅÀÌ ¿¹»óÇϰí ÀÖ´Â ±× »ç¶÷ÀÎÁö´Â º¸ÀåµÇÁö ¾Ê½À´Ï´Ù.
iptables -A xxx -p 50 -j ACCEPT ' ¹× 'iptables -A xxx -p 51 -j ACCEPT '
IPSECÀº ¾Ïȣȸ¦ À§ÇÑ 'Encapsulated Security Payload'(ESP)¿Í ¿ø°ÝÁöÀÇ »ó´ë¸¦ ÀÎÁõÇϱâ À§ÇÑ 'Authentication Header'(AH)¸¦ Áö¿øÇÕ´Ï´Ù. ÀÌ µÑ ¸ðµÎ¸¦ ¼³Á¤ÇÒ ¼öµµ ÀÖ°í, µÑ Áß Çϳª¸¸À» ¼³Á¤ÇØ ÁÙ ¼öµµ ÀÖ½À´Ï´Ù.
ESP¿Í AH ¸ðµÎ´Â º¸¾È ¿¬°è(security association)¿¡ ÀÇÁ¸Çϰí ÀÖ½À´Ï´Ù. º¸¾È ¿¬°è(SA)´Â Ãâ¹ßÁö¿Í ¸ñÀûÁö, ±×¸®°í Áö½Ã»çÇ×À¸·Î ÀÌ·ç¾îÁ® ÀÖ½À´Ï´Ù. °£´ÜÇÑ ÀÎÁõ SA¸¦ ¿¹·Î µé¸é ´ÙÀ½°ú °°½À´Ï´Ù.
add 10.0.0.11 10.0.0.216 ah 15700 -A hmac-md5 "1234567890123456"; ÀÌ°Ç '10.0.0.11¿¡¼ 10.0.0.216À¸·Î °¡´Â AH°¡ ÇÊ¿äÇÑ Æ®·¡ÇÈÀº ºñ¹Ð°ª 1234567890123456À» ¾²´Â HMAC-MD5¸¦ ÀÌ¿ëÇØ¼ ¼¸íÇÒ ¼ö ÀÖ´Ù'¶ó´Â ¾ê±âÀÔ´Ï´Ù. ÀÌ Áö½Ã´Â SPI('Security Parameter Index') ¾ÆÀ̵ð '15700'À̶ó´Â µüÁö°¡ ºÙ¾î Àִµ¥, ÀÌ¿¡ ´ëÇØ¼± Àá½Ã ÈÄ Á» ´õ ¼³¸íÇϰڽÀ´Ï´Ù. SA¿¡ ´ëÇÑ Èï¹Ì·Î¿î Á¡Àº ÀÌ°Ô ´ëĪÀûÀ̶ó´Â °Ì´Ï´Ù. Åë½ÅÀÇ ¾çÃøÀÌ Á¤È®È÷ µ¿ÀÏÇÑ SA¸¦ °øÀ¯Çϸç, »ó´ëÆí¿¡¼µµ SAÀÇ ¹æÇâÀÌ ¹Ù²îÁö ¾Ê½À´Ï´Ù. ÇÏÁö¸¸ 'ÀÚµ¿ ¹æÇâ ¹Ù²Þ' ±ÔÄ¢Àº ¾ø´Ù´Â °Í¿¡ À¯ÀÇÇØ¾ß ÇÕ´Ï´Ù. ÀÌ SA´Â 10.0.0.11¿¡¼ 10.0.0.216À¸·ÎÀÇ °¡´ÉÇÑ ÀÎÁõ¸¸À» ±â¼úÇϰí ÀÖ½À´Ï´Ù. ¾ç¹æÇâ Æ®·¡ÇÈÀ» À§Çؼ± µÎ °³ÀÇ SA°¡ ÇÊ¿äÇÕ´Ï´Ù.
ESP SAÀÇ ¿¹´Â ´ÙÀ½°ú °°½À´Ï´Ù.
add 10.0.0.11 10.0.0.216 esp 15701 -E 3des-cbc "1234567890123456789012"; ÀÌ°Ç '10.0.0.11¿¡¼ 10.0.0.216À¸·Î °¡´Â ¾ÏȣȰ¡ ÇÊ¿äÇÑ Æ®·¡ÇÈÀº Ű 1234567890123456789012¸¦ ¾²´Â 3des-cbc¸¦ ÀÌ¿ëÇØ¼ ¾ÏÈ£È ÇÒ ¼ö ÀÖ´Ù'¶ó´Â ¾ê±âÀÔ´Ï´Ù. SPI ¾ÆÀ̵ð´Â '15701'ÀÔ´Ï´Ù.
Áö±Ý±îÁö »ìÆìº» ¹Ù·Î´Â, SA°¡ °¡´ÉÇÑ Áö½Ã»çÇ×µéÀ» ¼¼úÇϱâ´Â ÇÏÁö¸¸, ¾ðÁ¦ À̰͵éÀÌ ¾²¿©¾ß Çϴ°¡ ÇÏ´Â Á¤Ã¥Àº »ç½Ç ¼¼úÇÏÁö ¾Ê½À´Ï´Ù. ½ÇÁ¦·Î, SPI ¾ÆÀ̵𸸠´Ù¸¥ °ÅÀÇ µ¿ÀÏÇÑ SA°¡ ¾ó¸¶µçÁö ÀÖÀ» ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ¿©±â¼ SPI´Â º¸¾È ¸Å°³º¯¼ö »öÀÎ(Security Parameter Index)À» ¶æÇÕ´Ï´Ù. ½ÇÁ¦ ¾Ïȣȸ¦ Çϱâ À§Çؼ± Á¤Ã¥À» ¼¼úÇØ ÁÙ Çʿ䰡 ÀÖ½À´Ï´Ù. ÀÌ Á¤Ã¥¿¡´Â '°¡´ÉÇÑ °æ¿ì ipsecÀ» »ç¿ë'À̳ª 'ipsecÀÌ ¾ø´Â °æ¿ì Æ®·¡ÇÈÀ» Â÷´Ü' °°Àº °ÍµéÀÌ Æ÷Ç﵃ ¼ö ÀÖ½À´Ï´Ù.
º¸ÅëÀÇ °£´ÜÇÑ º¸¾È Á¤Ã¥(Security Policy; SP)Àº ´ÙÀ½°ú °°Àº ¸ð½ÀÀÖ´Ï´Ù.
spdadd 10.0.0.216 10.0.0.11 any -P out ipsec esp/transport//require ah/transport//require; È£½ºÆ® 10.0.0.216¿¡¼ ÀÔ·ÂµÈ °æ¿ì¶ó¸é, ÀÌ´Â 10.0.0.11À» ÇâÇØ ³ª°¡´Â ¸ðµç Æ®·¡ÇÈÀ» ¾ÏÈ£È ÇÏ°í¼ AH ÀÎÁõ Çì´õ·Î µÑ·¯½Î¾ß ÇÑ´Ù´Â °É ¶æÇÕ´Ï´Ù. ¿©±â¿¡ ¾î¶² SA¸¦ »ç¿ëÇÒÁö´Â ¼¼úµÇ¾î ÀÖÁö ¾Ê´Ù´Â °É ¾Ë ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ±×°É °áÁ¤ÇÏ´Â °Ç Ä¿³ÎÀÇ ÇÒÀÏÀÔ´Ï´Ù.
´Ù½Ã ¸»ÇÏÀÚ¸é, º¸¾È Á¤Ã¥Àº ¿ì¸®°¡ ¹«¾ùÀ» ¿øÇÏ´ÂÁö¸¦ ÁöÁ¤Çϸç, º¸¾È ¿¬°è´Â ±×°É ¾î¶² ½ÄÀ¸·Î ¿øÇÏ´ÂÁö¸¦ ±â¼úÇÕ´Ï´Ù.
³ª°¡´Â ÆÐŶ¿¡´Â Ä¿³ÎÀÌ ¾ÏÈ£È ¹× ÀÎÁõ¿¡ »ç¿ëÇÑ SA SPI('¾î¶² ½ÄÀ¸·Î')°¡ ²¿¸®Ç¥·Î ´Þ·ÁÀÖ¾î¼, À̸¦ ÀÌ¿ëÇØ ¿ø°ÝÁö¿¡¼ ´ëÀÀÇÏ´Â °ËÁõ ¹× º¹È£È Áö½Ã¸¦ ãÀ» ¼ö ÀÖ½À´Ï´Ù.
¾Æ·¡ÀÇ ³»¿ëÀº È£½ºÆ® 10.0.0.216¿¡¼ 10.0.0.11·Î ¾ÏÈ£È ¹× ÀÎÁõÀ» ÀÌ¿ëÇØ¼ Åë½ÅÀ» ÇÏ´Â ¾ÆÁÖ ´Ü¼øÇÑ ±¸¼ºÀÔ´Ï´Ù. À̹ø ù ¹øÂ° ¹öÀü¿¡¼´Â ¹Ý´ë ¹æÇâÀÌ Æò¹®À¸·Î Àü´ÞµÇ±â¿¡ ÀÌ ±¸¼ºÀº ½ÇÁ¦·Î »ç¿ëµÇ¾î¼± ¾È µÊÀ» À¯ÀÇÇØ ÁֽʽÿÀ.
È£½ºÆ® 10.0.0.216¿¡¼´Â:
#!/sbin/setkey -f add 10.0.0.216 10.0.0.11 ah 24500 -A hmac-md5 "1234567890123456"; add 10.0.0.216 10.0.0.11 esp 24501 -E 3des-cbc "1234567890123456789012"; spdadd 10.0.0.216 10.0.0.11 any -P out ipsec esp/transport//require ah/transport//require; È£½ºÆ® 10.0.0.11¿¡¼´Â, µ¿ÀÏÇÑ º¸¾È ¿¬°è·Î, º¸¾È Á¤Ã¥Àº ¾øÀÌ:
#!/sbin/setkey -f add 10.0.0.216 10.0.0.11 ah 24500 -A hmac-md5 "1234567890123456"; add 10.0.0.216 10.0.0.11 esp 24501 -E 3des-cbc "1234567890123456789012"; À§ ±¸¼ºÀÌ ÀÖÀ¸¸é (ÀÌ ÆÄÀϵéÀº '
setkey '°¡ /sbin ¿¡ ¼³Ä¡µÇ¾î ÀÖÀ¸¸é ½ÇÇà °¡´ÉÇÕ´Ï´Ù) 10.0.0.216¿¡¼ 'ping 10.0.0.11 'À» Çϸé tcpdump¿¡¼ ´ÙÀ½°ú °°ÀÌ º¸ÀÔ´Ï´Ù.
23:37:52 10.0.0.216 > 10.0.0.11: AH(spi=0x00005fb4,seq=0xa): ESP(spi=0x00005fb5,seq=0xa) (DF) 22:37:52 10.0.0.11 > 10.0.0.216: icmp: echo reply 10.0.0.11¿¡¼ µ¹¾Æ¿À´Â ÇÎÀÌ Á¤¸»·Î ±×³É º¸Àδٴ °É ¾Ë ¼ö ÀÖ½À´Ï´Ù. ³»º¸³»´Â ÇÎÀº ´ç¿¬È÷ tcpdump·Î ÀÐÀ» ¼ö ¾øÁö¸¸, AH ¹× ESPÀÇ º¸¾È ¸Å°³º¯¼ö »öÀÎÀº º¸¿©ÁÝ´Ï´Ù. ÀÌ »öÀÎÀº ¿ì¸®°¡ º¸³½ ÆÐŶÀÇ ½Å·Ú¼ºÀ» ¾î¶»°Ô °ËÁõÇÏ°í ¾î¶»°Ô À̸¦ º¹È£È ÇÒ °ÍÀÎÁö¸¦ 10.0.0.11¿¡°Ô ¾Ë·Á ÁÝ´Ï´Ù.
±×·±µ¥ ¸î °¡Áö¸¦ Á» ¾ð±ÞÇϰڽÀ´Ï´Ù. À§ÀÇ ±¸¼ºÀº ¿©·¯ IPSEC ¿¹Á¦¿¡¼ º¸À̴µ¥, ¾ÆÁÖ À§ÇèÇÑ °ÍÀÔ´Ï´Ù. ¹®Á¦´Â À§ÀÇ ±¸¼ºÀÌ, 10.0.0.216ÀÌ 10.0.0.11·Î °¡´Â ÆÐŶÀ» ¾î¶»°Ô ó¸®ÇØ¾ß Çϴ°¡¿¡ ´ëÇÑ Á¤Ã¥À» Æ÷ÇÔÇϰí ÀÖ°í 10.0.0.11ÀÌ ±× ÆÐŶµéÀ» ¾î¶»°Ô ´Ù·ï¾ß ÇÏ´ÂÁö´Â ¼³¸íÇϰí ÀÖÁö¸¸, 10.0.0.11ÀÌ ÀÎÁõ ȤÀº ¾ÏȣȰ¡ ÀÌ·ïÁöÁö ¾ÊÀº ÆÐŶÀ» ¹ö·Á¾ß ÇÑ´Ù°í ¾Ë·ÁÁÖ°í ÀÖÁö´Â ¾Ê´Ù´Â °ÍÀÔ´Ï´Ù!
Áö±ÝÀº ´©±¸µç °¡Â¥ ÁÖ¼Ò¸¦ °¡Áø ÀüÇô ¾ÏÈ£È ¾È µÈ µ¥ÀÌÅ͸¦ ³¢¿ö³ÖÀ» ¼ö ÀÖ°í, 10.0.0.11Àº À̸¦ ±×´ë·Î ¹Þ¾ÆµéÀÏ °ÍÀÔ´Ï´Ù. À§ ±¸¼ºÀ» ¹Ù·ÎÀâÀ¸·Á¸é ´ÙÀ½°ú °°ÀÌ, 10.0.0.11 »ó¿¡ µé¾î¿À´Â ¹æÇâÀÇ º¸¾È Á¤Ã¥ÀÌ ÇÊ¿äÇÕ´Ï´Ù.
#!/sbin/setkey -f spdadd 10.0.0.216 10.0.0.11 any -P IN ipsec esp/transport//require ah/transport//require; ÀÌ Á¤Ã¥Àº 10.0.0.216¿¡¼ ¿À´Â ¸ðµç ÆÐŶÀº À¯È¿ÇÑ ESP ¹× AH¿©¾ß ÇÔÀ» 10.0.0.11¿¡°Ô ¾Ë·Á ÁÖ°í ÀÖ½À´Ï´Ù.
ÀÌÁ¦, ÀÌ ±¸¼ºÀ» ¿Ï¼ºÇϱâ À§Çؼ± µ¹¾Æ¿À´Â Æ®·¡Çȵµ ´ç¿¬È÷ ¾ÏÈ£È ¹× ÀÎÁõÀÌ µÇµµ·Ï ÇØ¾ß ÇÕ´Ï´Ù. 10.0.0.216¿¡¼ÀÇ ¿ÏÀüÇÑ ±¸¼ºÀº:
#!/sbin/setkey -f flush; spdflush; # AH add 10.0.0.11 10.0.0.216 ah 15700 -A hmac-md5 "1234567890123456"; add 10.0.0.216 10.0.0.11 ah 24500 -A hmac-md5 "1234567890123456"; # ESP add 10.0.0.11 10.0.0.216 esp 15701 -E 3des-cbc "123456789012123456789012"; add 10.0.0.216 10.0.0.11 esp 24501 -E 3des-cbc "123456789012123456789012"; spdadd 10.0.0.216 10.0.0.11 any -P out ipsec esp/transport//require ah/transport//require; spdadd 10.0.0.11 10.0.0.216 any -P in ipsec esp/transport//require ah/transport//require; ±×¸®°í 10.0.0.11¿¡¼´Â:
#!/sbin/setkey -f flush; spdflush; # AH add 10.0.0.11 10.0.0.216 ah 15700 -A hmac-md5 "1234567890123456"; add 10.0.0.216 10.0.0.11 ah 24500 -A hmac-md5 "1234567890123456"; # ESP add 10.0.0.11 10.0.0.216 esp 15701 -E 3des-cbc "123456789012123456789012"; add 10.0.0.216 10.0.0.11 esp 24501 -E 3des-cbc "123456789012123456789012"; spdadd 10.0.0.11 10.0.0.216 any -P out ipsec esp/transport//require ah/transport//require; spdadd 10.0.0.216 10.0.0.11 any -P in ipsec esp/transport//require ah/transport//require; ÀÌ ¿¹Á¦¿¡¼ Æ®·¡ÇÈÀÇ ¾ç¹æÇâ ¸ðµÎ¿¡ µ¿ÀÏÇÑ Å°¸¦ »ç¿ëÇßÀ½À» ¾Ë ¼ö ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ ÀÌ°Ç ÀüÇô ÇʼöÀûÀÎ °ÍÀÌ ¾Æ´Õ´Ï´Ù.
¹æ±Ý ¸¸µç ±¸¼ºÀ» È®ÀÎÇØ º¸·Á¸é,
setkey -D ¸¦ ½ÇÇàÇØ¼ º¸¾È ¿¬°è¸¦ º¸°Å³ª setkey -DP ¸¦ ½ÇÇàÇØ¼ ±¸¼ºµÈ Á¤Ã¥À» º¸¸é µË´Ï´Ù.
7.2. ÀÚµ¿ ۱³È¯ ¶ÀÌÀü Àý¿¡¼´Â ´Ü¼øÇÑ °øÀ¯ ºñ¹Ð°ªÀ» ÀÌ¿ëÇØ¼ ¾ÏȣȰ¡ ±¸¼ºµÇ¾ú½À´Ï´Ù. ´Þ¸® ¸»ÇÏÀÚ¸é, ¾ÈÀüÇÑ »óŰ¡ À¯ÁöµÇ±â À§Çؼ± ¿ì¸®ÀÇ ¾ÏÈ£È ±¸¼ºÀ» ½Å·ÚÇÒ ¼ö ÀÖ´Â °æ·Î¸¦ ÅëÇØ Àü´ÞÇØ ÁÙ Çʿ䰡 ÀÖ½À´Ï´Ù. ¿ì¸®°¡ ÅÚ³ÝÀ» ÅëÇØ ¿ø°Ý È£½ºÆ®¸¦ ±¸¼ºÇØ¾ß ÇÑ´Ù°í Çϸé, ¾î´À Á¦»ïÀÚ°¡ ¿ì¸®ÀÇ °øÀ¯ ºñ¹Ð°ªÀ» ¾Ë°Ô µÇ°í ¼³Á¤Àº ¾ÈÀüÇÏÁö°¡ ¾Ê°Ô µÉ °ÍÀÔ´Ï´Ù.
´õºÒ¾î, ºñ¹Ð°ªÀÌ °øÀ¯µÇ°í Àֱ⿡ ÀÌ´Â ºñ¹ÐÀÌ ¾Æ´Õ´Ï´Ù. ¿ø°ÝÃø¿¡¼ ¿ì¸®ÀÇ ºñ¹Ð°ªÀ¸·Î ¿©·¯ °¡Áö¸¦ ÇÒ ¼ö´Â ¾øÁö¸¸, ±×·¡µµ ¿ì¸° ¸ðµç »ó´ë¿ÍÀÇ Åë½Å¿¡¼ ¼·Î ´Ù¸¥ ºñ¹Ð°ªÀ» »ç¿ëÇϵµ·Ï ÇØÁÙ Çʿ䰡 ÀÖ½À´Ï´Ù. ÀÌ´Â ¸¹Àº ¼öÀÇ Å°¸¦ ÇÊ¿ä·Î ÇÕ´Ï´Ù. 10¸íÀÌ Åë½ÅÀ» ÇÏ·Á¸é ÃÖ¼ÒÇÑ 50°³ÀÇ ¼·Î ´Ù¸¥ ºñ¹Ð°ªÀÌ ÇÊ¿äÇÕ´Ï´Ù.
´ëĪŰ ¹®Á¦ ¸»°íµµ, Ű ȸÀü(rollover)ÀÌ ÇÊ¿äÇϱ⵵ ÇÕ´Ï´Ù. Á¦»ïÀÚ°¡ ÀÌ·°Àú·° ÃæºÐÇÑ ¾çÀÇ Æ®·¡ÇÈÀ» ÈÉÃĺ¸°í ³ª¸é ۸¦ ¿ª°øÇÐÀ¸·Î ¾Ë¾Æ³¾ ¼ö ÀÖ´Â »óŰ¡ µÉ ¼öµµ ÀÖ½À´Ï´Ù. ÀÏÁ¤ ½Ã°£¸¶´Ù »õ·Î¿î Ű·Î ¿Å°Ü°¨À¸·Î½á À̸¦ ¹æÁöÇÒ ¼ö ÀÖÁö¸¸, ÀÌ °úÁ¤Àº ÀÚµ¿È µÉ Çʿ䰡 ÀÖ½À´Ï´Ù.
¶Ç´Ù¸¥ ¹®Á¦´Â, À§¿¡¼ ¼³¸íÇÑ ¼öµ¿ ŰÀÔ·ÂÀÇ °æ¿ì »ç¿ëµÇ´Â ¾Ë°í¸®Áò ¹× Ű ±æÀÌ °°Àº, ¿ø°ÝÃø°úÀÇ ¸¹Àº Á¶Á¤À» ÇÊ¿ä·Î ÇÏ´Â °ÍµéÀ» ¿ì¸®°¡ Á¤È®ÇÏ°Ô ÁöÁ¤ÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. 'ÃÖ¼Ò ´ÙÀ½°ú °°Àº Ű ±æÀ̸¦ °¡Áø 3DES ¹× Blowfish¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù' °°Àº Á»´õ ÀϹÝÀûÀΠŰ Á¤Ã¥À» ±â¼úÇÒ ¼ö ÀÖ°Ô µÇ´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÕ´Ï´Ù.
ÀÌ ¹®Á¦µéÀ» ÇØ°áÇϱâ À§ÇØ IPSECÀº Internet Key Exchange ÇÁ·ÎÅäÄÝÀ» Á¦°øÇÏ¿© ³¼öÀûÀ¸·Î »ý¼ºµÈ ۸¦ ÀÚµ¿À¸·Î ±³È¯Çϸç, ÀÌ Å°´Â Çù»óµÈ ¾Ë°í¸®Áò ¼¼ºÎ »çÇ׿¡ µû¶ó¼ ºñ´ëĪ ¾ÏÈ£È ±â¼úÀ» ÀÌ¿ëÇØ Àü¼ÛµË´Ï´Ù.
¸®´ª½º 2.5ÀÇ IPSEC ±¸ÇöÀº
![]() ![]() #include <net/route.h> ¸¦ Á¦°ÅÇØ Áà¾ß ÇÒ ¼öµµ ÀÖ±â´Â ÇÏÁö¸¸, ÄÄÆÄÀÏÀÌ °¡´ÉÇÕ´Ï´Ù. ´ë½Å Á¦°¡ Á¦°øÇÏ´Â ![]() ³ëÆ® IKE´Â UDP Æ÷Æ® 500¿¡ ´ëÇÑ Á¢±ÙÀ» ÇÊ¿ä·Î ÇÏ´Ï, iptables°¡ ÀÌ Æ÷Æ®¸¦ ¸·Áö ¾Êµµ·Ï ÇØ ÁÖ¼¼¿ä.
7.2.1. ÀÌ·Ð ¶¾Õ¼ ¼³¸íÇÑ °Íó·³, ÀÚµ¿ ۱³È¯Àº ¿ì¸®¸¦ ´ë½ÅÇØ ¸¹Àº ÀϵéÀ» ÇØ ÁÝ´Ï´Ù. ±¸Ã¼ÀûÀ¸·Î ¸»ÇÏÀÚ¸é, ¹Ù»Ú°Ô º¸¾È ¿¬°è¸¦ ¸¸µé¾î ÁÝ´Ï´Ù. ÇÏÁö¸¸, ´ç¿¬È÷ ±×·¡¾ß °ÚÁö¸¸, ¿ì¸® ´ë½Å Á¤Ã¥À» ¼³Á¤ÇÏÁö´Â ¾Ê½À´Ï´Ù.
°í·Î IKEÀÇ ´öÀ» º¸ÀÚ¸é, Á¤Ã¥Àº ¼³Á¤Ç쵂 ¾î¶² SAµµ Á¦°øÇØ ÁÖÁö ¸»¾Æ¾ß ÇÕ´Ï´Ù. IPSEC Á¤Ã¥Àº Àִµ¥ º¸¾È ¿¬°è´Â ¾ø´Ù´Â °É Ä¿³ÎÀÌ ¹ß°ßÇϸé À̸¦ IKE µ¥¸ó¿¡°Ô ¾Ë·ÁÁÖ°í, ±×·³ µ¥¸óÀº º¸¾È ¿¬°è¸¦ Çù»óÇÏ·Á°í ½ÃµµÇÏ´Â ÀÛ¾÷¿¡ Âø¼öÇÕ´Ï´Ù.
´Ù½Ã ¸»Çϴµ¥, º¸¾È Á¤Ã¥Àº ¿ì¸®°¡ ¹«¾ùÀ» ¿øÇÏ´ÂÁö¸¦ ÁöÁ¤Çϸç, º¸¾È ¿¬°è´Â ¿ì¸®°¡ À̸¦ ¾î¶² ½ÄÀ¸·Î ¿øÇÏ´ÂÁö¸¦ ±â¼úÇÕ´Ï´Ù. ÀÚµ¿ ۱³È¯À» »ç¿ëÇÔÀ¸·Î½á ¿ì¸®´Â ¹«¾ùÀ» ¿øÇϴ°¡¸¦ ÁöÁ¤ÇÏ´Â °Í¸¸À¸·Îµµ ÃæºÐÇÏ°Ô µË´Ï´Ù.
7.2.2. ¿¹Á¦ ¶Kame racoon¿¡´Â ±²ÀåÈ÷ ¸¹Àº ¿É¼ÇµéÀÌ Á¦°øµÇ´Âµ¥, ´ëºÎºÐÀÇ ¿É¼ÇµéÀº ¾ÆÁÖ ÈǸ¢ÇÑ ±âº»°ªÀ» °¡Áö°í ÀÖ¾î¼ ¿ì¸®°¡ °Çµå·Á ÁÖÁö ¾Ê¾Æµµ µË´Ï´Ù. À§¿¡¼ ¼³¸íÇÑ °Íó·³, ¿î¿ëÀÚ´Â º¸¾È Á¤Ã¥À» Á¤ÀÇÇØ¾ß Çϸç, º¸¾È ¿¬°è´Â Á¤ÀÇÇÒ Çʿ䰡 ¾ø½À´Ï´Ù. ±×°É Çù»óÇÏ´Â °Ç IKE µ¥¸ó¿¡°Ô ³²°Ü ÁÖ´Â °ÍÀÌÁö¿ä.
ÀÌ ¿¹Á¦¿¡¼´Â 10.0.0.11°ú 10.0.0.216ÀÌ ¶Ç´Ù½Ã ¾ÈÀüÇÑ Åë½ÅÀ» ¼³Á¤ÇÏ·Á°í Çϰí ÀÖÀ¸¸ç, À̹ø¿¡´Â racoonÀÇ µµ¿òÀ» ¹Þ°Ô µË´Ï´Ù. ´Ü¼øÇÔÀ» À§ÇØ ÀÌ ±¸¼º¿¡¼´Â ¹«½Ã¹«½ÃÇÑ '°øÀ¯ ºñ¹Ð°ª'ÀÎ »çÀü °øÀ¯Å°(pre-shared key; PSK)¸¦ »ç¿ëÇÏ°Ô µË´Ï´Ù. X.509 ÀÎÁõ¼´Â º°µµÀÇ Àý¿¡¼ ³íÀǵǴÏ, 7.2.3ÀýÀ» Âü°íÇØ ÁֽʽÿÀ.
¿ì¸®´Â ¾çÂÊ È£½ºÆ® ¸ðµÎ¿¡¼ µ¿ÀÏÇϰÔ, ±âº» ±¸¼ºÀ» °ÅÀÇ ±×´ë·Î »ç¿ëÇÏ·Á°í ÇÕ´Ï´Ù.
path pre_shared_key "/usr/local/etc/racoon/psk.txt"; remote anonymous { exchange_mode aggressive,main; doi ipsec_doi; situation identity_only; my_identifier address; lifetime time 2 min; # sec,min,hour initial_contact on; proposal_check obey; # obey, strict or claim proposal { encryption_algorithm 3des; hash_algorithm sha1; authentication_method pre_shared_key; dh_group 2; } } sainfo anonymous { pfs_group 1; lifetime time 2 min; encryption_algorithm 3des ; authentication_algorithm hmac_sha1; compression_algorithm deflate; }»ó´çÇÑ ¾çÀÇ ¼³Á¤ÀÔ´Ï´Ù. Á¦ »ý°¢¿¡´Â ¾ÆÁ÷ ´õ ¸¹Àº ³»¿ëµéÀ» Á¦°ÅÇØ¼ ±âº» ±¸¼º¿¡ °¡±õ°Ô ¸¸µé ¼ö ÀÖÀ» °Í °°½À´Ï´Ù. ÁÖ¸ñÇÒ °ÍÀÌ ÀÖ½À´Ï´Ù. ¿ì¸®´Â ¾î¶² ¿ø°Ý »ó´ë¿¡ ´ëÇØ¼µµ »ç¿ëÇÒ ¼ö ÀÖ´Â µÎ °³ÀÇ ÀÍ¸í ¼³Á¤À» ±¸¼ºÇÔÀ¸·Î½á, ÀÌÈÄÀÇ ±¸¼ºÀ» ¼ö¿ùÇÏ°Ô ÇÒ °ÍÀÔ´Ï´Ù. Á¤¸»·Î ¿øÇÏ´Â °Ô ¾Æ´Ï¶ó¸é ¿©±â¿¡ È£½ºÆ®º° ±¸ÀýµéÀÌ ÇÊ¿äÇÏÁö´Â ¾Ê½À´Ï´Ù. ´õºÒ¾î, ¿ì¸®´Â IP ÁÖ¼Ò¿¡ ±â¹ÝÇØ¼ ÀÚ½ÅÀ» ³ªÅ¸³»µµ·Ï ¼³Á¤ÇßÀ¸¸ç('
my_identifier address '), 3des¿Í sha1À» ¾µ ¼ö ÀÖÀ¸¸ç psk.txt¿¡ ÀÖ´Â »çÀü °øÀ¯Å°¸¦ »ç¿ëÇÒ °ÍÀ̶ó°í ¼±¾ðÇϰí ÀÖ½À´Ï´Ù.
psk.txtÀÇ °æ¿ì´Â, ¾çÂÊ È£½ºÆ®¿¡¼ ¼·Î ´Ù¸£°Ô µÎ °¡Áö ³»¿ëÀ» ¼³Á¤ÇØ ÁÝ´Ï´Ù. 10.0.0.11¿¡¼´Â:
10.0.0.216 password2 ±×¸®°í 10.0.0.216¿¡¼´Â:
10.0.0.11 password2 ÀÌ ÆÄÀÏÀÇ ¼ÒÀ¯ÀÚ´Â rootÀÌ°í ¸ðµå´Â 0600À¸·Î ¼³Á¤µÅ ÀÖ¾î¾ß ÇÕ´Ï´Ù. ¾È ±×·¯¸é racoonÀº ±× ³»¿ëÀ» ½Å·ÚÇÏÁö ¾ÊÀ» °Ì´Ï´Ù. ÀÌ ÆÄÀϵéÀÌ ¼·Î¿¡°Ô °Å¿ï»óÀ̶ó´Â Á¡¿¡ À¯ÀÇÇØ ÁֽʽÿÀ.
ÀÌÁ¦ ÃæºÐÈ÷ ´Ü¼øÇÑ °ÍÀ̱ä ÇÏÁö¸¸, ¿ì¸®°¡ ¿øÇÏ´Â Á¤Ã¥À» ¼³Á¤ÇÒ Áغñ°¡ µÇ¾ú½À´Ï´Ù. È£½ºÆ® 10.0.0.216¿¡¼´Â:
#!/sbin/setkey -f flush; spdflush; spdadd 10.0.0.216 10.0.0.11 any -P out ipsec esp/transport//require; spdadd 10.0.0.11 10.0.0.216 any -P in ipsec esp/transport//require; ±×¸®°í 10.0.0.11¿¡¼´Â:
#!/sbin/setkey -f flush; spdflush; spdadd 10.0.0.11 10.0.0.216 any -P out ipsec esp/transport//require; spdadd 10.0.0.216 10.0.0.11 any -P in ipsec esp/transport//require; ÀÌ Á¤Ã¥µéÀÌ ¸¶Âù°¡Áö·Î ¼·Î ´ëĪÀ» ÀÌ·ç°í ÀÖ´Ù´Â µ¥¿¡ À¯ÀÇÇØ ÁֽʽÿÀ.
µåµð¾î racoonÀÇ Ãâ¹ß Áغñ°¡ ¿Ï·áµÆ½À´Ï´Ù! ÀÏ´Ü ½ÃÀÛµÇ°í ³ª¸é, ¿ì¸®°¡ 10.0.0.11¿¡¼ 10.0.0.216À¸·Î ÅÚ³ÝÀ̳ª ±× ºñ½ÁÇÑ °É ÇÏ·Á°í ÇÏ´Â ¼ø°£ racoonÀÌ Çù»óÀ» ½ÃÀÛÇÏ°Ô µË´Ï´Ù.
12:18:44: INFO: isakmp.c:1689:isakmp_post_acquire(): IPsec-SA request for 10.0.0.11 queued due to no phase1 found. 12:18:44: INFO: isakmp.c:794:isakmp_ph1begin_i(): initiate new phase 1 negotiation: 10.0.0.216[500]<=>10.0.0.11[500] 12:18:44: INFO: isakmp.c:799:isakmp_ph1begin_i(): begin Aggressive mode. 12:18:44: INFO: vendorid.c:128:check_vendorid(): received Vendor ID: KAME/racoon 12:18:44: NOTIFY: oakley.c:2037:oakley_skeyid(): couldn't find the proper pskey, try to get one by the peer's address. 12:18:44: INFO: isakmp.c:2417:log_ph1established(): ISAKMP-SA established 10.0.0.216[500]-10.0.0.11[500] spi:044d25dede78a4d1:ff01e5b4804f0680 12:18:45: INFO: isakmp.c:938:isakmp_ph2begin_i(): initiate new phase 2 negotiation: 10.0.0.216[0]<=>10.0.0.11[0] 12:18:45: INFO: pfkey.c:1106:pk_recvupdate(): IPsec-SA established: ESP/Transport 10.0.0.11->10.0.0.216 spi=44556347(0x2a7e03b) 12:18:45: INFO: pfkey.c:1318:pk_recvadd(): IPsec-SA established: ESP/Transport 10.0.0.216->10.0.0.11 spi=15863890(0xf21052) º¸¾È ¿¬°è¸¦ º¸¿©ÁÖ´Â
setkey -D ¸¦ Áö±Ý ½ÇÇàÇØ º¸¸é, ½ÇÁ¦·Î È®ÀÎÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù.
10.0.0.216 10.0.0.11 esp mode=transport spi=224162611(0x0d5c7333) reqid=0(0x00000000) E: 3des-cbc 5d421c1b d33b2a9f 4e9055e3 857db9fc 211d9c95 ebaead04 A: hmac-sha1 c5537d66 f3c5d869 bd736ae2 08d22133 27f7aa99 seq=0x00000000 replay=4 flags=0x00000000 state=mature created: Nov 11 12:28:45 2002 current: Nov 11 12:29:16 2002 diff: 31(s) hard: 600(s) soft: 480(s) last: Nov 11 12:29:12 2002 hard: 0(s) soft: 0(s) current: 304(bytes) hard: 0(bytes) soft: 0(bytes) allocated: 3 hard: 0 soft: 0 sadb_seq=1 pid=17112 refcnt=0 10.0.0.11 10.0.0.216 esp mode=transport spi=165123736(0x09d79698) reqid=0(0x00000000) E: 3des-cbc d7af8466 acd4f14c 872c5443 ec45a719 d4b3fde1 8d239d6a A: hmac-sha1 41ccc388 4568ac49 19e4e024 628e240c 141ffe2f seq=0x00000000 replay=4 flags=0x00000000 state=mature created: Nov 11 12:28:45 2002 current: Nov 11 12:29:16 2002 diff: 31(s) hard: 600(s) soft: 480(s) last: hard: 0(s) soft: 0(s) current: 231(bytes) hard: 0(bytes) soft: 0(bytes) allocated: 2 hard: 0 soft: 0 sadb_seq=0 pid=17112 refcnt=0 Á÷Á¢ ±¸¼ºÇØ ÁØ º¸¾È Á¤Ã¥µµ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.
10.0.0.11[any] 10.0.0.216[any] tcp in ipsec esp/transport//require created:Nov 11 12:28:28 2002 lastused:Nov 11 12:29:12 2002 lifetime:0(s) validtime:0(s) spid=3616 seq=5 pid=17134 refcnt=3 10.0.0.216[any] 10.0.0.11[any] tcp out ipsec esp/transport//require created:Nov 11 12:28:28 2002 lastused:Nov 11 12:28:44 2002 lifetime:0(s) validtime:0(s) spid=3609 seq=4 pid=17134 refcnt=3 7.2.2.1. ¹®Á¦Á¡ ¹× ¾Ë·ÁÁø °áÇÔ ¶µ¿ÀÛÀ» ÇÏÁö ¾Ê´Â´Ù¸é ¸ðµç ¼³Á¤ ÆÄÀϵéÀÇ ¼ÒÀ¯ÀÚ°¡ rootÀ̸ç, root¸¸ ÀÐÀ» ¼ö ÀÖµµ·Ï µÇ¾î ÀÖ´ÂÁö¸¦ È®ÀÎÇØ º¸½Ê½Ã¿À. racoonÀ» foreground·Î ½ÇÇàÇÏ·Á¸é '
-F '¸¦ ¾²¸é µË´Ï´Ù. ÄÄÆÄÀÏ µÈ À§Ä¡¿¡ ÀÖ´Â °Í ´ë½Å ƯÁ¤ ¼³Á¤ ÆÄÀÏÀ» Àеµ·Ï °Á¦ÇÏ·Á¸é '-f '¸¦ ¾²½Ê½Ã¿À. ¹«Áö¸·ÁöÇÑ ¾çÀÇ ¼¼ºÎ ³»¿ëµéÀ» º¸·Á¸é racoon.conf¿¡ 'log debug; '¸¦ Ãß°¡ÇØ ÁֽʽÿÀ.
7.2.3. X.509 ÀÎÁõ¼¸¦ ÀÌ¿ëÇÑ ÀÚµ¿ ۱³È¯ ¶¾Õ¼ ¾ð±ÞÇÑ °Íó·³, °øÀ¯ ºñ¹Ð°ªÀÇ »ç¿ëÀº ½±Áö°¡ ¾ÊÀºµ¥, ½±°Ô °øÀ¯µÉ ¼ö°¡ ¾ø´Â µ¥´Ù°¡ ÀÏ´Ü °øÀ¯µÇ°í ³ª¸é ´õÀÌ»ó ºñ¹ÐÀÌ ¾Æ´Ï°Ô µÇ±â ¶§¹®ÀÔ´Ï´Ù. ´ÙÇàÈ÷µµ ºñ´ëĪ ¾ÏÈ£È ±â¼úÀÌ ÀÖ¾î¼ ÀÌ ¹®Á¦ÀÇ ÇØ°áÀ» µµ¿ÍÁÙ ¼ö ÀÖ½À´Ï´Ù.
°¢ IPSEC Âü¿©ÀÚ °¢°¢ÀÌ °ø°³Å°(public key)¿Í °³ÀÎŰ(private key)¸¦ ¸¸µé¸é, ¾çÂÊ ¸ðµÎ°¡ ÀÚ½ÅÀÇ °ø°³Å°¸¦ °øÆ÷Çϰí Á¤Ã¥À» ¼³Á¤ÇÔÀ¸·Î½á ¾ÈÀüÇÑ Åë½ÅÀ» Á¶Á÷ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¾ó¸¶°£ÀÇ ÀÛ¾÷ÀÌ ÇÊ¿äÇϱâ´Â ÇÏÁö¸¸, ۸¦ ¸¸µå´Â °Ç ²Ï ½±½À´Ï´Ù. ´ÙÀ½ ³»¿ëÀº '
openssl ' µµ±¸¸¦ ¹ÙÅÁÀ¸·Î Çϰí ÀÖ½À´Ï´Ù.
7.2.3.1. È£½ºÆ®¸¦ À§ÇÑ X.509 ÀÎÁõ¼ ¸¸µé±â ¶![]() ¸ÕÀú ¿ì¸®´Â 'laptop'À̶ó°í À̸§ºÙÀÎ ¿ì¸® È£½ºÆ®¸¦ À§ÇÑ 'ÀÎÁõ¼ ¿äû'À» ¹ßÇàÇÕ´Ï´Ù:
$ openssl req -new -nodes -newkey rsa:1024 -sha1 -keyform PEM -keyout \ laptop.private -outform PEM -out request.pem ±×·¯¸é ¸î °¡Áö Áú¹®À» ¹Þ°Ô µË´Ï´Ù:
Country Name (2 letter code) [AU]:NL State or Province Name (full name) [Some-State]:. Locality Name (eg, city) []:Delft Organization Name (eg, company) [Internet Widgits Pty Ltd]:Linux Advanced Routing & Traffic Control Organizational Unit Name (eg, section) []:laptop Common Name (eg, YOUR name) []:bert hubert Email Address []:ahu@ds9a.nl Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: ÀÌ°É ¾ó¸¶³ª ¿ÏÀüÇÏ°Ô Ã¤¿ö³ÖÀ» °ÍÀΰ¡´Â °¢ÀÚÀÇ °áÁ¤¿¡ ¸Ã±âµµ·Ï ÇϰڽÀ´Ï´Ù. º¸¾È ¿ä±¸¿¡ µû¶ó¼, È£½ºÆ® À̸§À» ³ÖÀ» ¼öµµ ÀÖ°í ±×·¯Áö ¾ÊÀ» ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ ¿¹¿¡¼´Â ³Ö¾ú½À´Ï´Ù.
ÀÌÁ¦´Â ÀÌ ¿äûÀ» 'ÀÚ°¡ ¼¸í'Çϵµ·Ï ÇϰڽÀ´Ï´Ù:
$ openssl x509 -req -in request.pem -signkey laptop.private -out \ laptop.public Signature ok subject=/C=NL/L=Delft/O=Linux Advanced Routing & Traffic \ Control/OU=laptop/CN=bert hubert/Email=ahu@ds9a.nl Getting Private key ÀÌÁ¦ 'request.pem' ÆÄÀÏÀº ¹ö·Áµµ µË´Ï´Ù.
ÀÌ °úÁ¤À» ۰¡ ÇÊ¿äÇÑ ¸ðµç È£½ºÆ®¿¡ ´ëÇØ ¹Ýº¹ÇØ ÁֽʽÿÀ. '.public' ÆÄÀÏÀº ¾Æ¹« ¹®Á¦ ¾øÀÌ ¹èÆ÷ÇÒ ¼ö ÀÖÁö¸¸, '.private' ÆÄÀÏÀº °³ÀÎÀûÀ¸·Î À¯ÁöÇØ¾ß ÇÕ´Ï´Ù!
7.2.3.2. ¼³Á¤ ¹× ½Ãµ¿ ¶¿ì¸® È£½ºÆ®µéÀ» À§ÇÑ °ø°³Å° ¹× °³ÀÎ۰¡ ÁغñµÇ°í ³ª¸é, racoon¿¡°Ô À̸¦ »ç¿ëÇ϶ó°í ¾ê±âÇØ ÁÙ ¼ö ÀÖ½À´Ï´Ù.
ÀÌÀüÀÇ ±¸¼º°ú 10.0.0.11 ('upstairs') ¹× 10.0.0.216 ('laptop') µÎ È£½ºÆ®ÀÇ °æ¿ì·Î µ¹¾Æ°¡µµ·Ï ÇϰڽÀ´Ï´Ù.
10.0.0.11¿¡¼
racoon.conf ÆÄÀÏ¿¡ ´ÙÀ½À» Ãß°¡ÇÕ´Ï´Ù:
path certificate "/usr/local/etc/racoon/certs"; remote 10.0.0.216 { exchange_mode aggressive,main; my_identifier asn1dn; peers_identifier asn1dn; certificate_type x509 "upstairs.public" "upstairs.private"; peers_certfile "laptop.public"; proposal { encryption_algorithm 3des; hash_algorithm sha1; authentication_method rsasig; dh_group 2; } } ÀÌ ±¸¼ºÀº ÀÎÁõ¼¸¦
/usr/local/etc/racoon/certs/ ¿¡¼ ãÀ» ¼ö ÀÖ´Ù°í racoon¿¡°Ô ¾Ë·ÁÁÖ°í ÀÖ½À´Ï´Ù. ´õºÒ¾î, ¿ø°Ý È£½ºÆ® 10.0.0.216¿¡ °íÀ¯ÇÑ ¼³Á¤ Ç׸ñµéÀ» Æ÷ÇÔÇϰí ÀÖ½À´Ï´Ù.
'
asn1dn 'ÀÌ µé¾î ÀÖ´Â ÁÙÀº ·ÎÄà ¹× ¿ø°Ý Á¾´Ü ¸ðµÎÀÇ ½Äº°ÀÚ¸¦ °ø°³Å°¿¡¼ ÃßÃâÇØ¾ß ÇÑ´Ù°í ¾ê±âÇØ ÁÖ°í ÀÖ½À´Ï´Ù. ÀÌ°Ç À§¿¡ ³ª¿Ô´ø 'subject=/C=NL/L=Delft/O=Linux Advanced Routing & Traffic Control/OU=laptop/CN=bert hubert/Email=ahu@ds9a.nl ' Ãâ·Â ºÎºÐÀÔ´Ï´Ù.
certificate_type ÇàÀº ·ÎÄÃÀÇ °ø°³Å° ¹× °³ÀÎ۸¦ ¼³Á¤ÇÕ´Ï´Ù. peers_certfile ¹®ÀåÀº racoonÀÌ ¿ø°Ý È£½ºÆ®ÀÇ °ø°³Å°¸¦ ÆÄÀÏ laptop.public ¿¡¼ ÀÐ¾î ¿Àµµ·Ï ¼³Á¤ÇÕ´Ï´Ù.
proposal ºí·°Àº authentication_method °¡ rsasig ÀÎ °É Á¦¿ÜÇϰí´Â ¾Õ¼ º» °Í°ú ´Ù¸£Áö ¾Ê½À´Ï´Ù. ±× ÁÙÀº ÀÎÁõÀ» À§ÇØ RSA °ø°³/°³ÀÎ۸¦ »ç¿ëÇÒ °ÍÀ» Áö½ÃÇϰí ÀÖ½À´Ï´Ù.
10.0.0.216ÀÇ ±¸¼º¿¡ ´ëÇÑ Ãß°¡ ³»¿ëÀº ÀϹÝÀûÀÎ ÀÚ¸®¹Ù²ÞÀ» Á¦¿ÜÇϰí´Â °ÅÀÇ µ¿ÀÏÇÕ´Ï´Ù:
path certificate "/usr/local/etc/racoon/certs"; remote 10.0.0.11 { exchange_mode aggressive,main; my_identifier asn1dn; peers_identifier asn1dn; certificate_type x509 "laptop.public" "laptop.private"; peers_certfile "upstairs.public"; proposal { encryption_algorithm 3des; hash_algorithm sha1; authentication_method rsasig; dh_group 2; } } ÀÌÁ¦ ÀÌ ¹®ÀåµéÀ» µÎ È£½ºÆ® ¸ðµÎ¿¡°Ô Ãß°¡ÇØ ÁÖ¾úÀ¸´Ï, Ű ÆÄÀÏÀ» Á¦ÀÚ¸®¿¡ °¡Á®´Ù µÎ±â¸¸ ÇÏ¸é µË´Ï´Ù. 'upstairs' Àåºñ´Â
/usr/local/etc/racoon/certs ¾È¿¡ upstairs.private , upstairs.public , ±×¸®°í laptop.public ÆÄÀÏÀÌ ÀÖ¾î¾ß ÇÕ´Ï´Ù. ÀÌ µð·ºÅ͸®ÀÇ ¼ÒÀ¯ÀÚ°¡ rootÀÌ¸ç ¸ðµå°¡ 0700ÀÓÀ» È®ÀÎÇϽʽÿÀ. ±×·¸Áö ¾ÊÀ¸¸é racoonÀº ÆÄÀÏÀ» Àб⸦ °ÅºÎÇÒ ¼öµµ ÀÖ½À´Ï´Ù!
'laptop' Àåºñ´Â
/usr/local/etc/racoon/certs ¾È¿¡ laptop.private , laptop.public , ±×¸®°í upstairs.public À» ÇÊ¿ä·Î ÇÕ´Ï´Ù. ´Þ¸® ¸»ÇÏÀÚ¸é, °¢ È£½ºÆ®´Â ÀÚ½ÅÀÇ °ø°³Å° ¹× ºñ¹ÐŰ, °Å±â¿¡ ´õÇØ¼ ¿ø°Ý È£½ºÆ®ÀÇ °ø°³Å°¸¦ ÇÊ¿ä·Î ÇÕ´Ï´Ù.
º¸¾È Á¤Ã¥ÀÌ Á¦ÀÚ¸®¿¡ ÀÖ´ÂÁö È®ÀÎÇϽʽÿÀ (7.2.2Àý¿¡ '
spdadd ' ÇàµéÀ» ½ÇÇàÇϽʽÿÀ). ±×¸®°í racoonÀ» ½Ãµ¿ÇÏ¸é ¸ðµç °Ô µ¿ÀÛÇÒ °Ì´Ï´Ù.
7.2.3.3. ¾ÈÀüÇÏ°Ô ÅͳÎÀ» ±¸¼ºÇÏ´Â ¹æ¹ý ¶¿ø°ÝÃø°úÀÇ ¾ÈÀüÇÑ Åë½ÅÀ» ±¸¼ºÇϱâ À§Çؼ± °ø°³Å°¸¦ ±³È¯ÇØ¾ß ÇÕ´Ï´Ù. °ø°³Å°´Â ºñ¹Ð·Î À¯ÁöÇØ¾ß ÇÒ Çʿ䰡 ¾ø´Â ¹Ý¸é, ´ë½Å ۰¡ ½ÇÁ¦·Î º¯°æµÇÁö ¾ÊÀº ۶ó´Â °É º¸ÀåÇÏ´Â °Ô ¸Å¿ì Áß¿äÇÕ´Ï´Ù. ´Þ¸® ¸»ÇÏÀÚ¸é, '»çÀÌ¿¡¼ ¹º°¡¸¦ ÇÏ´Â ÀÚ(man in the middle)'°¡ ¾ø´Ù´Â °Ô È®½ÇÇØ¾ß ÇÕ´Ï´Ù.
À̸¦ µ½±â À§ÇØ OpenSSLÀº '
digest ' ¸í·ÉÀ» Á¦°øÇÕ´Ï´Ù:
$ openssl dgst upstairs.public MD5(upstairs.public)= 78a3bddafb4d681c1ca8ed4d23da4ff1 ÀÌÁ¦ ¿ì¸®°¡ ÇØ¾ß ÇÒ ÀÏÀ̶õ ¿ø°ÝÁöÀÇ »ó´ë°¡ µ¿ÀÏÇÑ ´ÙÀÌÁ¦½ºÆ®¸¦ º¸´ÂÁö È®ÀÎÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÌ´Â ½ÇÁ¦ »î¿¡¼ ¸¸³ª´Â ½ÄÀ¸·Îµµ °¡´ÉÇϰڰí, Àüȸ¦ ÅëÇØ¼µµ °¡´ÉÇѵ¥, À̶§´Â ¿ø°Ý »ó´ëÀÇ ÀüÈ ¹øÈ£°¡ ۸¦ ´ã°í ÀÖ´ø À̸ÞÀÏ¿¡¼ ÇÔ²² º¸³»ÁöÁö´Â ¾Ê¾Ò´ÂÁö È®ÀÎÇØ¾ß ÇÕ´Ï´Ù!
À̸¦ À§ÇÑ ¶Ç´Ù¸¥ ¹æ¹ýÀº ÀÎÁõ ±â°üÀ» ¿î¿µÇÏ´Â ½Å·ÚÇÏ´Â Á¦»ïÀÚ(
![]() 7.3. IPSEC ÅͳΠ¶Áö±Ý±îÁö ¿ì¸®´Â ¼ÒÀ§ ¸»ÇÏ´Â 'Æ®·£½ºÆ÷Æ®(transport)' ¸ðµå¿¡¼ÀÇ IPSEC¸¸À» »ìÆìº¸¾Ò½À´Ï´Ù. ÀÌ ¸ðµå¿¡¼± ¾çÂÊ Á¾Á¡ ¸ðµÎ°¡ IPSECÀ» Á÷Á¢ ¼öÇàÇÕ´Ï´Ù. ÀÌ·± °æ¿ì°¡ ÈçÄ¡´Â ¾Ê±â¿¡, ¶ó¿ìÅ͸¸ IPSEC¿¡ ´ëÇØ¼ ¾Ë°í ÀÖµµ·Ï ÇÏ°í ´Ù¸¥ È£½ºÆ®µéÀ» ´ë½ÅÇØ¼ ÇÊ¿äÇÑ ÀÛ¾÷µéÀ» Çϵµ·Ï ÇØ¾ß ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ·± °É 'ÅͳÎ(tunnel) ¸ðµå'¶ó°í ÇÕ´Ï´Ù.
ÀÌ ¸ðµå¸¦ ¼³Á¤ÇÏ´Â °Ç ½ÄÀº Á× ¸Ô±âÀÔ´Ï´Ù. 10.0.0.216¿¡¼ 10.0.0.11À» °ÅÃļ 130.161.0.0/16À¸·Î °¡´Â ¸ðµç Æ®·¡ÇÈÀ» ÅͳÎÀ» ÅëÇϵµ·Ï Çϱâ À§Çؼ±, 10.0.0.216¿¡¼ ´ÙÀ½°ú °°Àº ¸í·ÉÀ» ÀÛ¼ºÇØ ÁÖ¸é µË´Ï´Ù:
#!/sbin/setkey -f flush; spdflush; add 10.0.0.216 10.0.0.11 esp 34501 -m tunnel -E 3des-cbc "123456789012123456789012"; spdadd 10.0.0.0/24 130.161.0.0/16 any -P out ipsec esp/tunnel/10.0.0.216-10.0.0.11/require;' -m tunnel 'ÀÌ º¸À̴µ¥, ÀÌ°Ô ±²ÀåÈ÷ Áß¿äÇÑ °Ì´Ï´Ù! ÀÌ ¼³Á¤Àº ¸ÕÀú µÎ ÅͳΠÁ¾Á¡ÀÎ 10.0.0.216°ú 10.0.0.11 »çÀÌ¿¡¼ ESP ¾ÏÈ£È SA¸¦ ±¸¼ºÇÕ´Ï´Ù.
´ÙÀ½¿¡´Â ½ÇÁ¦ ÅͳÎÀÌ ±¸¼ºµË´Ï´Ù. 10.0.0.0/24¿¡¼ 130.161.0.0/16À¸·Î ¶ó¿ìÆÃ ÇØ¾ß ÇÏ´Â ¸ðµç Æ®·¡ÇÈÀ» ¾ÏÈ£È Çϵµ·Ï Ä¿³Î¿¡°Ô Áö½ÃÇÕ´Ï´Ù. ±×¸®°í ¾ÏÈ£ÈµÈ ÀÌ Æ®·¡ÇÈÀº 10.0.0.11·Î º¸³»Áö°Ô µË´Ï´Ù.
10.0.0.11¿¡¼µµ ¹º°¡ ¼³Á¤ÀÌ ÇÊ¿äÇÕ´Ï´Ù:
#!/sbin/setkey -f flush; spdflush; add 10.0.0.216 10.0.0.11 esp 34501 -m tunnel -E 3des-cbc "123456789012123456789012"; spdadd 10.0.0.0/24 130.161.0.0/16 any -P in ipsec esp/tunnel/10.0.0.216-10.0.0.11/require;ÀÌ ¼³Á¤Àº ' -P out 'ÀÌ '-P in 'À¸·Î ¹Ù²ï °É »©°í´Â ¾ÕÀÇ ¼³Á¤°ú µ¿ÀÏÇÔÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. ¾Õ¼ÀÇ ¿¹Á¦¿Í ¸¶Âù°¡Áö·Î, ¿ì¸®´Â Áö±Ý ÇÑ ¹æÇâÀ¸·Î °¡´Â Æ®·¡Çȸ¸À» ±¸¼ºÇÑ °ÍÀÔ´Ï´Ù. ÅͳÎÀÇ ´Ù¸¥ Àý¹ÝÀ» ¿Ï¼ºÇÏ´Â °Ç µ¶ÀÚÀÇ ½Ç½À °Å¸®·Î ³²°ÜµÎ°Ú½À´Ï´Ù.
ÀÌ·¯ÇÑ ¼³Á¤ÀÇ ¶Ç´Ù¸¥ À̸§Àº 'ÇÁ·°½Ã(proxy) ESP'ÀÔ´Ï´Ù. ÀÌ°Ô ´Ù¼Ò ¶æÀÌ ºÐ¸íÇÕ´Ï´Ù.
ÁÖÀÇ IPSEC ÅͳÎÀ» À§Çؼ± Ä¿³Î¿¡¼ IP Æ÷¿öµùÀÌ È°¼ºÈ µÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù.(¿ªÀÚÁÖ: '
echo 1 > /proc/sys/net/ipv4/ip_forward ')
7.4. ±âŸ IPSEC ¼ÒÇÁÆ®¿þ¾î ¶Thomas Walpuski´Â ÀÚ½ÅÀÌ OpenBSDÀÇ isakmpd¸¦ ¸®´ª½º 2.5ÀÇ IPSEC°ú µ¿ÀÛÇϵµ·Ï ÇÏ´Â ÆÐÄ¡¸¦ ÀÛ¼ºÇß´Ù°í ¾ê±âÇϰí ÀÖ½À´Ï´Ù. °Ô´Ù°¡ ¸ÞÀÎ isakmpd CVS ÀúÀå¼Ò´Â Áö±Ý ÀÌ Äڵ带 Æ÷ÇÔÇϰí ÀÖ½À´Ï´Ù!
![]() ![]() isakmpd´Â À§¿¡¼ ¾ð±ÞÇÑ racoon°ú´Â ²Ï ´Ù¸£¸ç, ¸¹Àº »ç¶÷µéÀÌ ÀÌ ÇÁ·Î±×·¥À» ÁÁ¾ÆÇÕ´Ï´Ù.
![]() ![]() ![]() ![]() ´õºÒ¾î, FreeS/WAN »ç¿ëÀÚ °ø°£ µµ±¸µéÀ» ¸®´ª½º 2.5ÀÇ ÀÚüÀûÀÎ IPSEC°ú µ¿ÀÛÇϵµ·Ï ¸¸µå´Â ÆÐÄ¡°¡ ÀÖ½À´Ï´Ù.
![]() 7.5.1. Windows ¶Andreas Jellinghaus<
![]() 7.5.2. Check Point VPN-1 NG ¶Peter BieringerÀÇ º¸°í:
Here are some results (tunnel mode only tested, auth=SHA1): DES: ok 3DES: ok AES-128: ok AES-192: not supported by CP VPN-1 AES-256: ok CAST* : not supported by used Linux kernel Tested version: FP4 aka R54 aka w/AI ![]() 8. ¸ÖƼij½ºÆÃ ¶ó¿ìÆÃ ¶FIXME: ´ã´çÀÚ ¾øÀ½!
Multicast-HOWTO´Â (»ó´ëÀûÀ¸·Î ¸»Çؼ) ¿¾³¯ÀÇ ³»¿ëÀÌ¸ç ±×·Î ÀÎÇØ ºÎÁ¤È®Çϰųª ¿ÀÇØ¸¦ ºÒ·¯ ÀÏÀ¸Å³ ¼ö ÀÖ½À´Ï´Ù.
¸ÖƼij½ºÆ® ¶ó¿ìÆÃ(multicast routing)À» ÇÒ ¼ö ÀÖÀ¸·Á¸é, ÀÚ½ÅÀÌ ¿øÇÏ´Â ¸ÖƼij½ºÆ® ¶ó¿ìÆÃ Á¾·ù¸¦ Áö¿øÇϵµ·Ï ¸®´ª½º Ä¿³ÎÀ» ±¸¼ºÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù. À̸¦ À§Çؼ± ¾î¶² Á¾·ùÀÇ ¸ÖƼij½ºÆ® ¶ó¿ìÆÃÀ» »ç¿ëÇϱ⸦ ¹Ù¶ó´ÂÁö °áÁ¤ÇØ¾ß ÇÕ´Ï´Ù. ±âº»ÀûÀ¸·Î ³× °¡ÁöÀÇ "ÀϹÝÀûÀÎ" Á¾·ùµéÀÌ ÀÖ½À´Ï´Ù.
![]() ![]() ![]() ¸®´ª½º Ä¿³Î¿¡¼´Â ÀÌ·± ¿É¼ÇµéÀÌ ¾È º¸Àδٴ °É ¾Ë ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ÀÌ´Â, ÇÁ·ÎÅäÄÝ ÀÚü´Â Zebra³ª mountd, pimd °°Àº ¶ó¿ìÆÃ ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ´Ù·ç´Â °ÍÀ̱⠶§¹®ÀÔ´Ï´Ù. ÇÏÁö¸¸ ±×·¸´Ù°í ÇØµµ, Ä¿³Î ³»¿¡¼ ¿Ã¹Ù¸¥ ¿É¼ÇÀ» ¼±ÅÃÇϱâ À§Çؼ± ¾î¶² ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÒ °ÍÀÎÁö Àß ¾Ë°í ÀÖ¾î¾ß ÇÕ´Ï´Ù.
¸ðµç ¸ÖƼij½ºÆ® ¶ó¿ìÆÃ¿¡ ´ëÇØ¼ "multicasting" ¹× "multicast routing"À» (¿ªÀÚÁÖ:
CONFIG_IP_MULTICAST ¹× CONFIG_IP_MROUTE ) Ȱ¼ºÈ ½ÃÄÑÁÖ¾î¾ß ÇÏ´Â °Ç ºÐ¸íÇÕ´Ï´Ù. DVMRP ¹× MOSPFÀÇ °æ¿ì´Â ÀÌ°É·Î ÃæºÐÇÕ´Ï´Ù. PIMÀ» »ç¿ëÇÒ °Å¶ó¸é, Á¢¼ÓÇÏ·Á´Â ³×Æ®¿öÅ©°¡ PIM ÇÁ·ÎÅäÄÝÀÇ ¹öÀü 1°ú 2Áß ¾î´À °É »ç¿ëÇϴ°¡¿¡ µû¶ó PIMv1 ¶Ç´Â PIMv2¸¦ Ȱ¼ºÈ ½ÃÄÑÁÖ¾î¾ß ÇÕ´Ï´Ù.
¼±ÅÃÀ» ¸¶Ä¡°í »õ·Î¿î ¸®´ª½º Ä¿³ÎÀ» ÄÄÆÄÀÏ ÇÏ°í ³ª¸é ÀÌÁ¦ ºÎÆÃ ¶§ ³ª¿µÇ´Â IP ÇÁ·ÎÅäÄÝ¿¡
![]() Áö±Ý±îÁö´Â ±×·°Àú·° ÁÁ½À´Ï´Ù. ¿ì¸®´Â ¸ÖƼij½ºÆÃÀ» Ȱ¼ºÈ ½ÃÄ×½À´Ï´Ù. ÀÌÁ¦ ¿ì¸®´Â ¸®´ª½º Ä¿³Î¿¡°Ô ½ÇÁ¦·Î ¹º°¡¸¦ Çϵµ·Ï ÇØ¼, ¶ó¿ìÆÃÀ» ½ÃÀÛÇÒ ¼ö ÀÖ¾î¾ß ÇÕ´Ï´Ù. ÀÌ´Â ¶ó¿ìÅÍ Å×ÀÌºí¿¡ ¸ÖƼij½ºÆ® °¡»ó ³×Æ®¿öÅ©¸¦ Ãß°¡ÇØ ÁÖ´Â °É ¶æÇÕ´Ï´Ù:
ip route add 224.0.0.0/4 dev eth0 (º¸´Ù½ÃÇÇ eth0¿¡¼ ¸ÖƼij½ºÆÃÀ» Çϰí ÀÖ´Ù°í °¡Á¤Çϰí ÀÖ½À´Ï´Ù! ÇÊ¿äÇÏ¸é ¿øÇÏ´Â ÀåÄ¡ À̸§À» ´ë½Å ½áÁֽʽÿÀ.)
À̹ø¿£, ¸®´ª½º¿¡°Ô ÆÐŶÀ» Àü´ÞÇ϶ó°í(forward) ¾ê±âÇØ ÁÝ´Ï´Ù...
echo 1 > /proc/sys/net/ipv4/ip_forward ÀÌ ½ÃÁ¡¿¡¼, ÀÌ·¸°Ô ÇØÁØ °Ô ¹º°¡ ÇÏ´Â °ÇÁö ±Ã±ÝÇÒ ¼öµµ Àְڳ׿ä. ±×·³, ¿¬°áÀ» Å×½ºÆ® ÇØº¸±â À§ÇØ ±âº» ±×·ìÀÎ 224.0.0.1·Î ÇÎÀ» ³¯·Á¼ ¹º°¡ »ì¾ÆÀÖ´ÂÁö È®ÀÎÇØ º¸µµ·Ï ÇսôÙ. LAN »ó¿¡ ÀÖ´Â ¸ÖƼij½ºÆÃÀ» Ȱ¼ºÈ ÇÑ ¸ðµç ÀåºñµéÀÌ ÀÀ´ä ÇØ¾ß Çϸç, ±×°Ô ÀüºÎÀÔ´Ï´Ù. ÀÀ´äÇÑ Àåºñµé Áß ¾î´À °Íµµ 224.0.0.1À̶ó´Â IP ÁÖ¼Ò¸¦ °¡Áö°í ÀÖÁö ¾Ê´Ù´Â °É ¾Ë ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ³î¶ø±º¿ä!
![]() ping -c 2 224.0.0.1 ÀÌÁ¦ ½ÇÁ¦ ¸ÖƼij½ºÆ® ¶ó¿ìÆÃÀ» ÇÒ Áغñ°¡ µÇ¾ú½À´Ï´Ù. ÀÚ, µÎ °³ÀÇ ³×Æ®¿öÅ©°¡ ÀÖ°í ±× »çÀÌ¿¡¼ ¶ó¿ìÆÃÀ» ÇØÁà¾ß ÇÑ´Ù°í °¡Á¤ÇØ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.
(´ÙÀ½ ÀÌ ½Ã°£¿¡...)
9. ´ë¿ªÆø °ü¸®¸¦ À§ÇÑ Å¥À× Å¥Ä¢ ¶±×·±µ¥, ÀÌ°É ¹ß°ßÇßÀ» ¶§ ³ Á¤¸»·Î »Ð°¬½À´Ï´Ù. ¸®´ª½º 2.2/2.4¿¡´Â °í±Þ Àü¿ë ´ë¿ªÆø °ü¸® ½Ã½ºÅÛ°ú ºñ°ßÇÒ ¸¸ÇÑ ¹æ½ÄÀ¸·Î ´ë¿ªÆøÀ» °ü¸®ÇÒ ¼ö ÀÖ´Â ¸ðµç °ÍµéÀÌ ÀÖ½À´Ï´Ù.
¸®´ª½º´Â ½ÉÁö¾î FrameÀ̳ª ATMÀÌ Á¦°øÇÏ´Â °Í ÀÌ»óÀ¸·Î ÇØÁֱ⵵ ÇÕ´Ï´Ù.
È¥¶õÀ» ¹æÁöÇϱâ À§ÇØ ¸»ÇصÎÀÚ¸é,
tc ´Â ´ë¿ªÆøÀ» ¸í½ÃÇÒ ¶§ ´ÙÀ½ ±ÔÄ¢À» »ç¿ëÇÕ´Ï´Ù:
mbps = 1024 kbps = 1024 * 1024 bps => byte/s mbit = 1024 kbit => kilo bit/s. mb = 1024 kb = 1024 * 1024 b => byte mbit = 1024 kbit => kilo bit.³»ºÎÀûÀ¸·Î´Â ¼ýÀÚ°¡ bps ¹× b·Î ÀúÀåµË´Ï´Ù. ÇÏÁö¸¸
tc °¡ ¼Óµµ¸¦ Ãâ·ÂÇÒ ¶§´Â ´ÙÀ½ ±ÔÄ¢À» »ç¿ëÇÕ´Ï´Ù:
1Mbit = 1024 Kbit = 1024 * 1024 bps => byte/s 9.1. Å¥¿Í Å¥À× ±ÔÄ¢¿¡ ´ëÇÑ ¼³¸í ¶Å¥À×(queueing)À» ÅëÇØ ¿ì¸®´Â µ¥ÀÌÅ͸¦ º¸³»´Â ¹æ½ÄÀ» °áÁ¤ÇÕ´Ï´Ù. Àü¼ÛÇÏ´Â µ¥ÀÌÅ͸¸À» ¼ÎÀÌÇÎ(shaping) ÇÒ ¼ö ÀÖÀ½À» ²À ¾Ë°í ÀÖ¾î¾ß ÇÕ´Ï´Ù.
ÀÎÅͳÝÀÌ µ¿ÀÛÇÏ´Â ¹æ½Ä¿¡¼ ¿ì¸®´Â »ç¶÷µéÀÌ ¿ì¸®¿¡°Ô º¸³»´Â °Í¿¡ ´ëÇØ¼± Á÷Á¢ÀûÀÎ Á¦¾î±ÇÀÌ ¾ø½À´Ï´Ù. ÀÌ°Ç Áý¿¡ ÀÖ´Â (¹°¸®ÀûÀÎ!) ÆíÁöÇÔ°ú ´Ù¼Ò ºñ½ÁÇÕ´Ï´Ù. ¼¼»ó Àüü¿¡ ¿µÇâÀ» Á༠»ç¶÷µéÀÌ ´ç½Å¿¡°Ô º¸³»´Â ¸ÞÀÏÀÇ ¾çÀ» ¹Ù²Ü ¼ö ÀÖ´Â ¹æ¹ýÀº ¾ø½À´Ï´Ù. ¸ðµÎ¿¡°Ô ¿¬¶ôÀ» ÇÏ´Â °ÍÁ¶Â÷µµ ºÒ°¡´ÉÇÕ´Ï´Ù.
ÇÏÁö¸¸ ÀÎÅͳÝÀº ´ëºÎºÐ TCP/IP¿¡ ±â¹ÝÇϰí ÀÖ°í, ¿©±â¿¡´Â ¿ì¸®¸¦ µµ¿ÍÁִ Ư¼ºµéÀÌ ¸î °¡Áö ÀÖ½À´Ï´Ù. TCP/IP´Â µÎ È£½ºÆ® »çÀÌÀÇ ³×Æ®¿öÅ©ÀÇ ¿ë·®À» ¾Ë ¼ö ÀÖ´Â ¹æ¹ýÀÌ ¾ø¾î¼, ÀÏ´Ü µ¥ÀÌÅ͸¦ Á¶±Ý¾¿ ´õ ºü¸£°Ô º¸³»´Ù°¡('slow start') º¸³¾ °ø°£ÀÌ ¾ø¾î¼ ÆÐŶÀÌ À¯½ÇµÇ±â ½ÃÀÛÇÏ¸é ±×¶§ ¼Óµµ¸¦ ´ÊÃß°Ô µË´Ï´Ù. ½ÇÁ¦·Î´Â À̰ͺ¸´Ù´Â Á» ´õ ¶È¶ÈÇÏ°Ô µ¿ÀÛÇÏÁö¸¸, °Å±â¿¡ ´ëÇØ¼± ³ªÁß¿¡ ´Ù·ç°Ú½À´Ï´Ù.
À̰Ç, ´ç½Å¿¡°Ô ¿Â ÆíÁöÀÇ Àý¹ÝÀ» ÀÐÁö ¾Ê°í¼ »ç¶÷µéÀÌ ´ç½Å¿¡°Ô ÆíÁö¸¦ º¸³»´Â °É ¸ØÃç ÁÖ±æ ¹Ù¶ó´Â °Í°ú µ¿ÀÏÇÕ´Ï´Ù. Â÷À̰¡ ÀÖ´Ù¸é ÀÎÅͳݿ¡¼´Â ÀÌ°Ô µ¿ÀÛÇÑ´Ù´Â °ÅÁö¿ä:-)
¶ó¿ìÅ͸¦ Çϳª °¡Áö°í Àִµ¥ ³×Æ®¿öÅ© ³»ÀÇ Æ¯Á¤ È£½ºÆ®µéÀÌ ³Ê¹« ºü¸£°Ô ³»·Á¹Þ±â¸¦ ÇÏ´Â °É ¸·°í ½Í´Ù¸é, ¶ó¿ìÅÍÀÇ *¾ÈÂÊ* ÀÎÅÍÆäÀ̽º¿¡ ´ëÇØ¼ ¼ÎÀÌÇÎÀ» ÇØÁÖ¾î¾ß ÇÕ´Ï´Ù. ¶ó¿ìÅͰ¡ ±× ÄÄÇ»Å͵鿡°Ô µ¥ÀÌÅ͸¦ º¸³»´Â ÀÎÅÍÆäÀ̽º ¸»ÀÔ´Ï´Ù.
¶ÇÇÑ ºÐ¸íÇÏ°Ô ¸µÅ©ÀÇ º´¸ñÀ» Á¦¾îÇØ¾ß ÇÕ´Ï´Ù. 100Mbit NIC¸¦ °¡Áö°í ÀÖ°í 256kbit ¸µÅ©°¡ ÀÖ´Â ¶ó¿ìÅͰ¡ ÀÖ´Ù¸é, ó¸®ÇÒ ¼ö ÀÖ´Â ÀÌ»óÀÇ µ¥ÀÌÅ͸¦ ¶ó¿ìÅÍ¿¡°Ô º¸³»Áö ¾Êµµ·Ï ÇØ¾ß ÇÕ´Ï´Ù. ±×·¯Áö ¾ÊÀ¸¸é ¹Ù·Î ¶ó¿ìÅͰ¡ ¸µÅ©¸¦ Á¦¾îÇÏ°í °¡¿ë ´ë¿ªÆøÀ» ¼ÎÀÌÇÎ ÇÏ°Ô µË´Ï´Ù. ¸»ÇÏÀÚ¸é 'Å¥¸¦ ¼ÒÀ¯'ÇØ¾ß Çϰí, ¿¬¼ÓµÈ ¸µÅ© ³»¿¡¼ °¡Àå ´À¸° ¸µÅ©°¡ µÇ¾î¾ß ÇÕ´Ï´Ù. ´ÙÇàÈ÷µµ ÀÌ´Â ½±°Ô °¡´ÉÇÕ´Ï´Ù.
9.2. ´Ü¼øÇÑ, Ŭ·¡½º ¾ø´Â Å¥À× ±ÔÄ¢ ¶¸»ÇßµíÀÌ, Å¥À× ±ÔÄ¢À» ÅëÇØ µ¥ÀÌÅͰ¡ Àü´ÞµÇ´Â ¹æ¹ýÀ» ¹Ù²Ù°Ô µË´Ï´Ù. Ŭ·¡½º ¾ø´Â Å¥À× ±ÔÄ¢Àº ÀÏ´Ü µ¥ÀÌÅ͸¦ ¹Þ¾ÆµéÀÌ°í¼ À̸¦ ´Ù½Ã ½ºÄÉÁÙ¸µ Çϰųª, Áö¿¬Çϰųª, Â÷´ÜÇϱ⸸ ÇÏ´Â ±ÔÄ¢ÀÔ´Ï´Ù.
ÀÌ·¯ÇÑ ±ÔÄ¢µéÀº ´õ ³ª´©´Â °Í ¾øÀÌ Àüü ÀÎÅÍÆäÀ̽º¿¡ ´ëÇÑ Æ®·¡ÇÈÀ» ¼ÎÀÌÇÎ ÇÏ´Â µ¥¿¡ ¾²ÀÏ ¼ö ÀÖ½À´Ï´Ù. Ŭ·¡½º ÀÖ´Â qdisc¸¦´ã°íÀÖ´Âqdisc ¾ê±â·Î ÁøÇàÇϱâ Àü¿¡ Å¥À×ÀÇ ÀÌ ºÎºÐÀ» ÀÌÇØÇØ µÎ´Â °ÍÀÌ ¾ÆÁÖ Áß¿äÇÕ´Ï´Ù!
¹«¾ùº¸´Ù °¡Àå ³Î¸® ¾²ÀÌ´Â ±ÔÄ¢Àº pfifo_fast qdiscÀÔ´Ï´Ù. ÀÌ ±ÔÄ¢ÀÌ ±âº»°ªÀÔ´Ï´Ù. ÀÌ ±ÔÄ¢Àº ¶ÇÇÑ ¿Ö ÀÌ·± °í±Þ ±â´ÉµéÀÌ ÀÌ·¸°Ô źźÇÏ°Ô µ¿ÀÛÇÏ´ÂÁö¸¦ ¼³¸íÇØ ÁÝ´Ï´Ù. '±×³É ¶Ç´Ù¸¥ Å¥' ÀÌ»óÀÌ ¾Æ´Ï±â ¶§¹®ÀÔ´Ï´Ù.
À̵é Å¥ °¢°¢Àº ³ª¸§ÀÇ °Á¡°ú ¾àÁ¡À» °¡Áö°í ÀÖ½À´Ï´Ù. ÀÌ°Íµé ¸ðµÎ¸¦ Å×½ºÆ®±îÁö ÇØº¸Áö´Â ¾Ê¾Ò½À´Ï´Ù.
9.2.1. pfifo_fast ¶ÀÌ Å¥´Â, ±× À̸§ÀÌ ¸»ÇØÁÖµí, First In, First OutÀÔ´Ï´Ù. Áï, ¾î¶² ÆÐŶµµ Ưº° ´ë¿ì¸¦ ¹ÞÁö ¾Ê½À´Ï´Ù. ÃÖ¼ÒÇÑ, ¸¹ÀÌ´Â ¾Æ´Õ´Ï´Ù. ÀÌ Å¥´Â 3°³ÀÇ ¼ÒÀ§ ¸»ÇÏ´Â '¹êµå(band)'¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. °¢ ¹êµå ³»¿¡¼ FIFO ±ÔÄ¢ÀÌ Àû¿ëµË´Ï´Ù. ±×·±µ¥, ¹êµå 0 ³»¿¡ ´ë±âÁßÀÎ ÆÐŶÀÌ ÀÖ´Â µ¿¾ÈÀº ¹êµå 1ÀÌ Ã³¸®µÇÁö ¾Ê½À´Ï´Ù. ¹êµå 1°ú ¹êµå 2¿¡ ´ëÇØ¼µµ ¸¶Âù°¡ÁöÀÔ´Ï´Ù.
Ä¿³ÎÀº ÆÐŶ ³»ÀÇ ¼ÒÀ§ Type of Service Ç÷¡±×¸¦ Á¸ÁßÇϸç, 'Áö¿¬ ÃÖ¼ÒÈ' ÆÐŶÀ» ½Å°æ½á¼ ¹êµå 0¿¡ Áý¾î³Ö¾î ÁÝ´Ï´Ù.
ÀÌ Å¬·¡½º ¾ø´Â ´Ü¼øÇÑ qdisc¸¦ Ŭ·¡½º ÀÖ´Â PRIO qdisc¿Í È¥µ¿ÇÏÁö ¸¶½Ê½Ã¿À! À¯»çÇÏ°Ô ÇൿÇϱâ´Â ÇÏÁö¸¸, pfifo_fast´Â Ŭ·¡½º°¡ ¾ø¾î¼
tc ¸í·ÉÀ¸·Î ´Ù¸¥ qdisc¸¦ Ãß°¡ÇØ ÁÙ ¼ö ¾ø½À´Ï´Ù.
9.2.1.1. ¸Å°³º¯¼ö ¹× »ç¿ë¹ý ¶±âº»°ªÀ̱⿡ pfifo_fast qdisc¸¦ µû·Î ±¸¼ºÇÏ´Â °Ç ºÒ°¡´ÉÇÕ´Ï´Ù. ±âº»ÀûÀ¸·Î ±¸¼ºµÇ¾î ÀÖ´Â ¹æ½ÄÀº ´ÙÀ½°ú °°½À´Ï´Ù.
priomap
Ä¿³ÎÀÌ ÇÒ´çÇØ ÁØ ÆÐŶ ¿ì¼±¼øÀ§°¡ ¾î¶»°Ô ¹êµå·Î »ç»óµÇ´ÂÁö °áÁ¤ÇÕ´Ï´Ù. ´ÙÀ½°ú °°ÀÌ »ý±ä ÆÐŶÀÇ TOS ¹ÙÀÌÆ®¿¡ ±â¹ÝÇØ¼ »ç»óÀÌ ÀϾ´Ï´Ù:
txqueuelen
0 1 2 3 4 5 6 7 +-----+-----+-----+-----+-----+-----+-----+-----+ | | | | | PRECEDENCE | TOS | MBZ | | | | | +-----+-----+-----+-----+-----+-----+-----+-----+TOS 4ºñÆ®('TOS Çʵå')´Â ´ÙÀ½°ú °°ÀÌ Á¤ÀǵǾî ÀÖ½À´Ï´Ù: ÀÌÁø¼ö ½ÊÁø¼ö ÀÇ¹Ì ----------------------------------------- 1000 8 Áö¿¬ ÃÖ¼ÒÈ (md) 0100 4 ó¸®À² ÃÖ´ëÈ (mt) 0010 2 ½Å·Úµµ ÃÖ´ëÈ (mr) 0001 1 ±ÝÀü ºñ¿ë ÃÖ¼ÒÈ (mmc) 0000 0 Á¤»ó ¼ºñ½ºÀÌ 4°³ ºñÆ® ¿À¸¥ÂÊ¿¡ ºñÆ® 1°³°¡ ´õ Àֱ⠶§¹®¿¡ TOS ÇʵåÀÇ ½ÇÁ¦ °ªÀº TOS ºñÆ® °ªÀÇ 2¹èÀÔ´Ï´Ù. tcpdump -v -v ¸¦ Çϸé 4°³ ºñÆ®°¡ ¾Æ´Ñ Àüü TOS ÇʵåÀÇ °ªÀÌ Ç¥½ÃµË´Ï´Ù. ¹Ù·Î ¾Æ·¡ Ç¥ÀÇ Ã¹ ¹øÂ° ¿¿¡ ÀÖ´Â °ªÀÔ´Ï´Ù.
TOS ºñÆ® ÀÇ¹Ì ¸®´ª½º ¿ì¼±¼øÀ§ ¹êµå ------------------------------------------------------------ 0x0 0 Á¤»ó ¼ºñ½º 0 Best Effort 1 0x2 1 ±ÝÀü ºñ¿ë ÃÖ¼ÒÈ(mmc) 1 Filler 2 0x4 2 ½Å·Úµµ ÃÖ´ëÈ(mr) 0 Best Effort 1 0x6 3 mmc+mr 0 Best Effort 1 0x8 4 ó¸®À² ÃÖ´ëÈ(mt) 2 Bulk 2 0xa 5 mmc+mt 2 Bulk 2 0xc 6 mr+mt 2 Bulk 2 0xe 7 mmc+mr+mt 2 Bulk 2 0x10 8 Áö¿¬ ÃÖ¼ÒÈ(md) 6 Interactive 0 0x12 9 mmc+md 6 Interactive 0 0x14 10 mr+md 6 Interactive 0 0x16 11 mmc+mr+md 6 Interactive 0 0x18 12 mt+md 4 Int. Bulk 1 0x1a 13 mmc+mt+md 4 Int. Bulk 1 0x1c 14 mr+mt+md 4 Int. Bulk 1 0x1e 15 mmc+mr+mt+md 4 Int. Bulk 1¼ýÀÚµéÀÌ Âü ¸¹½À´Ï´Ù. µÎ ¹øÂ° ¿ÀÇ °ªÀº ÇØ´çÇÏ´Â TOS 4ºñÆ®À̰í, ±× ´ÙÀ½ ¿Àº ÇØ¼®ÇÑ ÀǹÌÀÔ´Ï´Ù. ¿¹¸¦ µé¾î, 15´Â ±ÝÀü ºñ¿ë ÃÖ¼ÒÈ, ½Å·Úµµ ÃÖ´ëÈ, ó¸®À² ÃÖ´ëÈ, °Å±â´Ù°¡ Áö¿¬ ÃÖ¼Òȸ¦ ¿øÇÏ´Â ÆÐŶÀ» ³ªÅ¸³À´Ï´Ù. Àü ÀÌ°É 'Âʹٸ® ÆÐŶ(Dutch Packet)'À̶ó°í ºÎ¸¨´Ï´Ù. ³× ¹øÂ° ¿¿¡´Â ¸®´ª½º Ä¿³ÎÀÌ TOS ºñÆ®¸¦ ÇØ¼®ÇÏ´Â ¹æ½ÄÀ» ³ª¿Çϰí ÀÖ½À´Ï´Ù. TOS ºñÆ®°¡ ¾î¶² ¿ì¼±¼øÀ§·Î »ç»óµÇ´ÂÁö º¼ ¼ö ÀÖ½À´Ï´Ù. ¸¶Áö¸· ¿Àº ±âº» priomapÀÇ °á°ú¸¦ º¸¿©ÁÝ´Ï´Ù. ¸í·ÉÇà¿¡¼ º¸¸é ±âº» priomapÀº ÀÌ·¸°Ô º¸ÀÔ´Ï´Ù: 1, 2, 2, 2, 1, 2, 0, 0 , 1, 1, 1, 1, 1, 1, 1, 1¿¹¸¦ µé¸é, ¿ì¼±¼øÀ§ 4°¡ ¹êµå ¹øÈ£ 1·Î »ç»óµÈ´Ù´Â ÀǹÌÀÔ´Ï´Ù. priomap¿¡¼´Â TOS »ç»ó¿¡´Â ´ëÀÀÇÏÁö ¾ÊÁö¸¸ ´Ù¸¥ ¹æ¹ýÀ¸·Î ¼³Á¤ °¡´ÉÇÑ ³ôÀº ¿ì¼±¼øÀ§(> 7)¸¦ ³ª¿ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. RFC 1349(ÀÚ¼¼ÇÑ ³»¿ëÀº Àо½Ê½Ã¿À)¿¡¼ °¡Á®¿Â ´ÙÀ½ Ç¥´Â ÀÀ¿ë ÇÁ·Î±×·¥µéÀÌ ÀÚ½ÅÀÇ TOS ºñÆ®¸¦ ¾î¶»°Ô ¼³Á¤ÇÒ ¼ö Àִ°¡¿¡ ´ëÇÑ °ÍÀÔ´Ï´Ù. TELNET 1000 (Áö¿¬ ÃÖ¼ÒÈ) FTP Control 1000 (Áö¿¬ ÃÖ¼ÒÈ) Data 0100 (ó¸®À² ÃÖ´ëÈ) TFTP 1000 (Áö¿¬ ÃÖ¼ÒÈ) SMTP Command phase 1000 (Áö¿¬ ÃÖ¼ÒÈ) DATA phase 0100 (ó¸®À² ÃÖ´ëÈ) Domain Name Service UDP Query 1000 (Áö¿¬ ÃÖ¼ÒÈ) TCP Query 0000 Zone Transfer 0100 (ó¸®À² ÃÖ´ëÈ) NNTP 0001 (±ÝÀü ºñ¿ë ÃÖ¼ÒÈ) ICMP Errors 0000 Requests 0000 (´ëºÎºÐ) Responses <¿äû°ú µ¿ÀÏ> (´ëºÎºÐ) ÀÌ Å¥ÀÇ ±æÀÌ´Â,
ifconfig °ú ip ·Î º¸°í ¹Ù²Ü ¼ö ÀÖ´Â, ÀÎÅÍÆäÀ̽º ¼³Á¤¿¡¼ °¡Á®¿É´Ï´Ù. Å¥ ±æÀ̸¦ 10À¸·Î ¼³Á¤ÇÏ·Á¸é ÀÌ·¸°Ô ½ÇÇàÇϽʽÿÀ: ifconfig eth0 txqueuelen 10
tc ·Î´Â ÀÌ ¸Å°³º¯¼ö¸¦ ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù!
9.2.2. Token Bucket Filter ¶ÅäÅ« ¹öŶ ÇÊÅÍ(TBF)´Â °£´ÜÇÑ Å¥±¸Á¶·Î¼, ¼³Á¤µÈ Àü¼Û·üÀ» ÃʰúÇÏ´Â ÆÐŶÀ» º¸³»Áö ¾Êµµ·Ï Çϴ ť±¸Á¶ÀÔ´Ï´Ù. ±×·¯³ª, ¼ø°£ÀûÀ¸·Î ÀÌ Àü¼Û·ü¸¦ ÃʰúÇϴ ªÀº ¹ö½ºÆ®(ÆÐŶÀÌ »¡¸® ¿¬¼ÓµÇ´Â °æ¿ì)ÀÇ °æ¿ì¿¡´Â ÆÐŶÀ» Àü´ÞÇÕ´Ï´Ù.
TBF´Â ¸Å¿ì Á¤¹ÐÇϸç, ³×Æ®¿÷°ú ÇÁ·Î¼¼¼¿¡ ¸¹ÀÌ »ç¿ëµË´Ï´Ù. ¸¸¾à ¿©·¯ºÐÀÌ ÀÎÅÍÆäÀ̽ºÀÇ ¼Óµµ¸¦ ´À¸®°Ô ³·Ãß°íÀÚ ÇÑ´Ù¸é, ÀÌ Å¥±¸Á¶¸¦ ¸ÕÀú ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù.
TBFÀÇ ±¸ÇöÀº ¹öÆÛ(¹öŶ, bucket-
token(ÅäÅ«) À̶ó°í ºÒ¸®¿ì´Â °¡»óÀûÀÎ Á¶°¢µé¿¡ ÀÇÇØ ä¿öÁö´Â ¹Ù±¸´Ï)¿Í Á¤ÇØÁø ÅäÅ« ¹ß»ý·ü(token rate)·Î ±¸¼ºµË´Ï´Ù. ¹öŶÀÇ °¡Àå Áß¿äÇÑ ÆÄ¶ó¸ÞÅÍ´Â ±×°ÍÀÇ Å©±âÀ̸ç, ÅäÅ«À» ´ãÀ» ¼ö ÀÖ´Â °³¼ö·Î Ç¥½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÅäÅ«ÀÌ ½×ÀÌ¸é¼ ÆÐŶÀÌ µµÂø Çϱ⸦ ±â´Ù¸®°í, À̰ÍÀº °ð ¹öŶÀ¸·ÎºÎÅÍ Áö¿öÁý´Ï´Ù. ÅäÅ«°ú µ¥ÀÌÅÍÀÇ µÎ È帧À» ¿¬°èÇϸé, ´ÙÀ½°ú °°Àº ¼¼°¡Áö ½Ã³ª¸®¿À¸¦ »ý°¢ÇØ º¼ ¼ö ÀÖ½À´Ï´Ù.
ÅäÅ«ÀÌ ¹öŶ¿¡ ½×ÀÌ´Â °ÍÀº ¼ø°£ÀûÀ¸·Î ºü¸£°Ô µ¥ÀÌÅͰ¡ µµÂøÇÒ °æ¿ìÀÇ ¼Õ½ÇÀ» ÇÇÇϱâ À§Çؼ ÇÊ¿äÇÕ´Ï´Ù. ±×·¯³ª, °è¼ÓÀûÀÎ ºÎÇÏ´Â ÆÐŶ Áö¿¬À» ¾ß±âÇÒ °ÍÀ̰í, °ð ¼Õ½ÇµÉ °ÍÀÔ´Ï´Ù.
9.2.2.1. ÆÄ¶ó¸ÞÅÍ & »ç¿ë¹ý ¶¿©·¯ºÐÀÌ ÆÄ¶ó¸ÞÅ͸¦ º¯°æÇÒ Çʿ䰡 ¾øÀ» ¼öµµ ÀÖÁö¸¸, TBF´Â ¸î°¡Áö ¼³Á¤°¡´ÉÇÑ ÆÄ¶ó¸ÞÅͰ¡ ÀÖ½À´Ï´Ù.
limit ¶Ç´Â latency
Limit´Â ÅäÅ«ÀÌ »ç¿ë°¡´ÉÇÏ°Ô µÇ±â¸¦ ±â´Ù¸®´Â ¹ÙÀÌÆ® ¼ö¸¦ ¸»ÇÕ´Ï´Ù. ¿©·¯ºÐÀº latency ÆÄ¶ó¸ÞÅ͸¦ ¼¼ÆÃÇÏ´Â ¹æ¹ýÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. latency ÆÄ¶ó¸ÞÅÍ´Â TBF³»¿¡ ÆÐŶÀÌ ±â´Ù¸®´Â ÃÖ´ë ½Ã°£À» ¸í½ÃÇÕ´Ï´Ù. À̰ÍÀº ¹öŶũ±â¿Í ÅäÅ«¹ß»ý·ü ±×¸®°í ÇÇÅ©À²(¸¸¾à ¼¼ÆÃÇÑ °æ¿ì)¸¦ °í·ÁÇÏ°Ô µË´Ï´Ù.
burst/buffer/maxburst
¹öŶÀÇ Å©±â(¹ÙÀÌÆ® ´ÜÀ§). À̰ÍÀº Çѹø¿¡ »ç¿ë°¡´ÉÇÑ ÅäÅ«ÀÇ ÃÖ´ë ÃÑ ¹ÙÀÌÆ®¼öÀÔ´Ï´Ù. ÀϹÝÀûÀ¸·Î, Å« ½¦ÀÌÇÎÀ²(shaping rate)ÀÇ °æ¿ì¿¡´Â Å« ¹öÆÛ¸¦ ¿ä±¸ÇÕ´Ï´Ù. ¸¸¾à 10MbpsÀÇ °æ¿ì, ¿©·¯ºÐÀº Àû¾îµµ 10k¹ÙÀÌÆ® ¹öÆÛ°¡ ÇÊ¿äÇÕ´Ï´Ù.
¸¸¾à ¹öÆÛ°¡ ³Ê¹« ÀÛÀ¸¸é, ÆÐŶÀº ¼Õ½ÇµÉ ¼ö ÀÖ½À´Ï´Ù. ¿Ö³ÄÇϸé, ¹öŶ¿¡ µé¾î°¥ ¼ö ÀÖ´Â ÅäÅ«¼öº¸´Ù ´õ ¸¹Àº ÅäÅ«ÀÌ ÇÊ¿äÇϱ⠶§¹®ÀÔ´Ï´Ù.
mpu
0 Å©±âÀÇ ÆÐŶÀÌ ´ë¿ªÆø 0À» Â÷ÁöÇÏ´Â °ÍÀº ¾Æ´Õ´Ï´Ù. ÀÌ´õ³ÝÀÇ °æ¿ì, 64¹ÙÀÌÆ®º¸´Ù ÀÛÀº ÆÐŶÀº ¾ø½À´Ï´Ù. ÃÖ¼Ò ÆÐŶ ´ÜÀ§´Â ÇÑ ÆÐŶ¿¡ ´ëÇÑ ÃÖ¼Ò ÅäÅ«À» °áÁ¤ÇÕ´Ï´Ù.
rate
¼Óµµ¸¦ ¸»ÇÕ´Ï´Ù. ¾Õ¿¡¼ ¸»ÇÑ limit¸¦ º¸½Ê½Ã¿À.
¸¸¾à ¹öŶÀÌ ÅäÅ«À» ´ã°í ÀÖ´Ù°¡ ºñ¿ì´Â °æ¿ì, ±âº»ÀûÀ¸·Î ¹«ÇÑ´ë ¼Óµµ·Î ¼öÇàµË´Ï´Ù. ¸¸¾à À̰ÍÀ» Àû¿ëÇÒ ¼ö ¾ø´Â °æ¿ì¿¡´Â ´ÙÀ½ µÎ ÆÄ¶ó¸ÞÅ͸¦ »ç¿ëÇϽʽÿÀ.
peakrate
ÅäÅ«ÀÌ »ç¿ë°¡´ÉÇÏ°í ÆÐŶÀÌ µµÂøÇÒ °æ¿ì, ÆÐŶÀº Áï½Ã(ÈçÈ÷ ¸»ÇÏ´Â ±¤¼ÓÀ¸·Î) Àü¼ÛµË´Ï´Ù. ±×·¯³ª ½ÇÁ¦·Î´Â ±×·¸Áö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.
peakrate´Â ¾ó¸¶³ª »¡¸® ¹öŶÀ» ºñ¿ï ¼ö ÀÖ´ÂÁö¸¦ ¼³Á¤ÇÕ´Ï´Ù. Á¤È®ÇϰԴÂ, ÆÐŶÀ» ÂÓº¸³½´ÙÀ½, Á» ÀÖ´Ù°¡, ´ÙÀ½ °ÍÀ» ÂÓº¸³À´Ï´Ù. °è»êÇÒ¶§´Â peakrate·Î º¸³»´Â °ÍÀ¸·Î ÇÕ´Ï´Ù.
±×·¯³ª, UnixÀÇ ±âº» 10msŸÀÌ¸Ó ¶§¹®¿¡, 10,000ºñÆ® Æò±Õ ÆÐŶµé¿¡ ´ëÇØ, 1Mbps·Î reakrate°¡ Á¦Çѵ˴ϴÙ.
mtu/minburst
1Mbps peakrate´Â ´ë¿ªÆøÀÌ Å¬ °æ¿ì¿¡´Â ¸Å¿ì À¯¿ëÇÏÁö ¸øÇÕ´Ï´Ù. ´õ Å« peakrate´Â timertick´ç ¿©·¯°³ÀÇ ÆÐŶÀ» º¸³»´Â ¹æ¹ýÀ¸·Î °¡´ÉÇÏ´Ù. À̰ÍÀº µÎ¹øÂ° ¹öŶÀ» »ç¿ëÇÏ¿© µ¿ÀÛÇϵµ·Ï ÇÏ¿´½À´Ï´Ù.
ÀÌ µÎ¹øÂ° ¹öŶÀº »ç½ÇÀº ¹öŶÀÌ ¾Æ´Ï°í ±âº»ÀûÀ¸·Î ÇϳªÀÇ ÆÐŶũ±âÀÔ´Ï´Ù.
ÃÖ´ë °¡´É peakrate¸¦ °è»êÇÏ·Á¸é, ¼³Á¤µÈ mtu¿¡ 100À» °öÇÕ´Ï´Ù. (¶Ç´Â ´õ Á¤È®ÇÏ°Ô HZ°ª - IntelÀÇ °æ¿ì 100, AlphaĨÀÇ °æ¿ì 1024)
9.2.2.2. ¿¹Á¦ ¼³Á¤ ¶°£´ÜÇÏÁö¸¸ À¯¿ëÇÑ ¼³Á¤ÀÌ ¿©±â ÀÖ½À´Ï´Ù.:
# tc qdisc add dev ppp0 root tbf rate 220kbit latency 50ms burst 1540 ±×·¸½À´Ï´Ù. ¿Ö À̰ÍÀÌ À¯¿ëÇÒ±î¿ä? ¸¸¾à ¿©·¯ºÐÀÌ Å« Å¥¸¦ °¡Áö°í ÀÖ´Â ³×Æ®¿öÅ· ÀåÄ¡(¿¹¸¦ µé¸é DSL ¸ðµ© ¶Ç´Â ÄÉÀÌºí ¸ðµ©)¸¦ °¡Áö°í ÀÖ°í, ÀÌ´õ³Ý ÀÎÅÍÆäÀ̽º °°Àº ºü¸¥ ÀåÄ¡¸¦ ÅëÇØ Åë½ÅÇÑ´Ù¸é, ¾÷·ÎµùÀÌ »óÈ£µ¿ÀÛÀ» ¸Á°¡¶ß¸®´Â °ÍÀ» ¾Ë ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
À̰ÍÀº ¾÷·ÎµùÀÌ ¸ðµ©¿¡¼ Å¥¸¦ °¡µæ ä¿ì±â ¶§¹®ÀÔ´Ï´Ù. ÀÌ Å¥´Â ¾Æ¸¶µµ ¸Å¿ì Ŭ °ÍÀÔ´Ï´Ù. ¿Ö³ÄÇÏ¸é ´õ ÁÁÀº ThroughputÀ» ¾òµµ·Ï µÇ¾î Àֱ⠶§¹®ÀÔ´Ï´Ù. ±×·¯³ª, ¿©·¯ºÐÀº ÀÌ·¯ÇÑ °ÍÀ» ¿øÇÏÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù. ¿©·¯ºÐÀº µ¥ÀÌÅ͸¦ º¸³»´Â µ¿¾È ´Ù¸¥ µ¿ÀÛÀ» ÇÒ ¼ö ÀÖµµ·Ï Å¥°¡ ³Ê¹« Å©Áö ¾Ê±â¸¦ ¿øÇÕ´Ï´Ù.
±×·¡¼ Àú À§ÀÇ ¿¹Á¦´Â Àü¼Û¼Óµµ¸¦ ³·Ãß¾î¼ ¸ðµ©¿¡¼ ÆÐŶÀÌ ½×ÀÌÁö ¾Êµµ·Ï ÇÕ´Ï´Ù. ÆÐŶÀº ¿ì¸®ÀÇ ¸®´ª½º³»ÀÇ Å¥¿¡¼ ½×ÀÏ °ÍÀ̸ç, ÀÌ Å¥´Â ¿ì¸®°¡ Å©±â¸¦ Á¦¾îÇÒ ¼ö ÀÖ½À´Ï´Ù.
¿¹Á¦ÀÇ 220kbit¸¦ ½ÇÁ¦ ¾÷¸µÅ© ¼Óµµ·Î ¼³Á¤Çغ¸¼¼¿ä. ¸¸¾à ¿©·¯ºÐÀÌ ¸Å¿ì ºü¸¥ ¸ðµ©À» °¡Áö°í ÀÖ´Ù¸é, burst¸¦ Á» ¿Ã·Áº¸½Ê½Ã¿À.
9.2.3. Stochastic Fairness Queuing ¶SFQ´Â fair queueing ¾Ë°í¸®Áòµé Áß¿¡ °£´ÜÇÑ ±¸ÇöÀÔ´Ï´Ù. À̰ÍÀº ´Ù¸¥ °Íµéº¸´Ù´Â Á¤È®ÇÏÁö´Â ¾ÊÁö¸¸, °è»ê·®ÀÌ Àû½À´Ï´Ù.
SFQÀÇ Çٽɾî´Â conversation ¶Ç´Â flowÀÔ´Ï´Ù. À̰ÍÀº º¸Åë TCP session À̳ª UDP stream¿¡ ºÎÇÕÇÕ´Ï´Ù. Æ®·¡ÇÈÀº ¸Å¿ì ¸¹Àº FIFOÅ¥·Î ³ª´¹´Ï´Ù. FIFOÅ¥ Çϳª´Â conversationÇϳª¸¦ ´ã´çÇÕ´Ï´Ù. Æ®·¡ÇÈÀº ÇÑÅÏ¿¡ Çѹø¾¿ ±âȸ¸¦ ¾ò´Â ¶ó¿îµå ·Îºó(round robin) ¹æ½ÄÀ¸·Î º¸³»Áý´Ï´Ù.
À̰ÍÀº ¸Å¿ì °øÆòÇÑ µ¿ÀÛÀ» Çϵµ·Ï Çϸç, ¾î¶² ÇϳªÀÇ conversationÀÌ ´Ù¸¥ °ÍµéÀ» ¸Á°¡¶ß¸®´Â °ÍÀ» ¸·½À´Ï´Ù. SFQ´Â "È®·üÀû"À̶ó°í ºÒ¸®¿ì´Â ÀÌÀ¯´Â °¢ ¼¼¼Ç¿¡ ´ëÇØ ½ÇÁ¦·Î Å¥¸¦ ÇÒ´çÇÏÁö´Â ¾Ê±â ¶§¹®ÀÔ´Ï´Ù. SFQ´Â ÇØ½Ì¾Ë°í¸®ÁòÀ» »ç¿ëÇÏ¿© Æ®·¡ÇȵéÀ» Á¦ÇÑµÈ ¼öÀÇ Å¥·Î ºÐ·ù¸¦ ÇÏ´Â ¾Ë°í¸®ÁòÀ» »ç¿ëÇÕ´Ï´Ù.
ÇØ½¬¸¦ »ç¿ëÇϱ⠶§¹®¿¡, ¿©·¯°³ÀÇ ¼¼¼ÇµéÀÌ µ¿ÀÏÇÑ Å¥·Î µé¾î°¥ ¼ö ÀÖ½À´Ï´Ù. ÀÌ´Â °¢ ¼¼¼ÇÀÇ ÆÐŶÀ» º¸³»´Â ±âȸ°¡ ³ª´µ¾îÁö°Ô µÇ¸ç, °á±¹ ½ÇÁ¦ ¼Óµµµµ ³ª´µ¾îÁö°Ô µË´Ï´Ù. ÀÌ·¯ÇÑ °ÍÀÌ Æ¼°¡ ³ª´Â °ÍÀ» ÇÇÇϱâ À§ÇÏ¿©, SFQ´Â ÇØ½¬¾Ë°í¸®ÁòÀ» ÀÚÁÖ ¹Ù²ß´Ï´Ù. ±×·¡¼ ¾î¶² µÎ °³ÀÇ ¼¼¼ÇÀÌ ¼öÃÊ Á¤µµ ³»¿¡¼¸¸ °°ÀÌ ÀÖ°Ô µË´Ï´Ù.
¿©·¯ºÐÀÇ outgoing ÀÎÅÍÆäÀ̽º°¡ ½ÇÁ¦·Î fullÀÌ ³¯ °æ¿ì¿¡ SFQ°¡ À¯¿ëÇÏ´Ù´Â »ç½ÇÀº Áß¿äÇÕ´Ï´Ù. ¸¸¾à ±×·¸Áö ¾Ê´Ù¸é, ¸®´ª½º¿¡´Â ÆÐŶÀÌ Å¥µÇÁö ¾ÊÀ» °ÍÀ̰í, SFQ´Â È¿°ú°¡ ¾øÀ» °ÍÀÔ´Ï´Ù. ¾çÂÊ »óȲ¿¡¼ ¾µ¼ö ÀÖµµ·Ï SFQ¸¦ ´Ù¸¥ Å¥±¸Á¶¿Í °°ÀÌ ¾²´Â °ÍÀ» ³ªÁß¿¡ ¼³¸íÇÒ °ÍÀÔ´Ï´Ù.
Ưº°È÷, ÄÉÀÌºí ¸ðµ©À̳ª DSL¶ó¿ìÅÍ¿¡ ¿¬°áµÇ¾î ÀÖ´Â ÀÌ´õ³Ý ÀÎÅÍÆäÀ̽º¿¡, Ãß°¡ÀûÀÎ shaping¾øÀÌ, SFQ¸¦ ¼³Á¤ÇÏ´Â °ÍÀº ¹«ÀǹÌÇÕ´Ï´Ù.
9.2.3.1. ÆÄ¶ó¸ÞÅÍ & »ç¿ë¹ý ¶SFQ´Â ÀÚü Æ©´×À» ÇÕ´Ï´Ù.
perturb
hashingÀ» ´Ù½ÃÇÒ Áֱ⸦ ÃÊ´ÜÀ§·Î ¼³Á¤ÇÕ´Ï´Ù. ¸¸¾à À̰ÍÀÌ ¼³Á¤µÇÁö ¾ÊÀ¸¸é, ÇØ½¬¸¦ º¯°æÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ·¸°Ô ¾²´Â °ÍÀ» ÃßõÇÏÁö ¾Ê½À´Ï´Ù. 10ÃÊ Á¤µµ°¡ ¾Æ¸¶µµ ÀûÀýÇÑ °ªÀÌ µÉ °ÍÀÔ´Ï´Ù.
quantum
´ÙÀ½ Å¥·Î ³Ñ¾î°¡±â Àü¿¡ Çã¶ôµÇ´Â Å¥¿¡¼ ²¨³»´Â ¹ÙÀÌÆ® ¼ö¸¦ ¼³Á¤ÇÕ´Ï´Ù. ±âº»°ªÀº MTU ¹ÙÀÌÆ® °ªÀÔ´Ï´Ù. MTUº¸´Ù ÀÛÀº °ªÀ» ¼³Á¤ÇÏÁö ¸¶½Ê½Ã¿À.
limit
SFQ¿¡ ÀÇÇØ Å¥µÇ´Â ÆÐŶÀÇ ÃÖ´ë °³¼ö¸¦ ¸»ÇÕ´Ï´Ù. ÀÌ °³¼ö¸¦ ³Ñ¾î¼´Â °æ¿ì ÆÐŶÀ» Æó±âµË´Ï´Ù.
9.2.3.2. ¿¹Á¦ ¼³Á¤ ¶¸¸¾à ¿©·¯ºÐÀÇ ÀåÄ¡°¡ ½ÇÁ¦ ´ë¿ªÆø°ú µ¿ÀÏÇÑ °æ¿ì, Áï ÀüÈ ¸ðµ© °°Àº °æ¿ì, ´ÙÀ½ ¼³Á¤Àº °øÆò¼ºÀ» °®°Ô Çϴµ¥ µµ¿òÀÌ µË´Ï´Ù.
# tc qdisc add dev ppp0 root sfq perturb 10 # tc -s -d qdisc ls qdisc sfq 800c: dev ppp0 quantum 1514b limit 128p flows 128/1024 perturb 10sec Sent 4812 bytes 62 pkts (dropped 0, overlimits 0) ¼ýÀÚ
800c: ´Â ÀÚµ¿À¸·Î ÇÒ´çµÈ ÇÚµé ¹øÈ£ÀÔ´Ï´Ù. limit´Â 128ÆÐŶÀÌ ÀÌ Å¥¿¡ µé¾î°¥ ¼ö ÀÖÀ½À» ³ªÅ¸³À´Ï´Ù. 1024ÇØ½¬ ¹öŶµéÀÌ °è»ê¿¡ »ç¿ëµÇ¸ç, ÀÌ Áß¿¡¼ 128°³°¡ »ç¿ëµÇ´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ¸Å 10Ãʸ¶´Ù, ÇØ½¬¸¦ ´Ù½Ã ±¸¼ºÇÕ´Ï´Ù.
9.3. °¢ Å¥¸¦ »ç¿ëÇÒ¶§ ÇÊ¿äÇÑ Á¶¾ð ¶¿ä¾àÇÏÀÚ¸é, ¾ÕÀÇ ´Ü¼øÇÑ Å¥µéÀº ÀçÁ¤·Ä, ´À¸®°ÔÇϱ⠶Ǵ ÆÐŶÀ» ¹ö¸²À¸·Î¼ ½ÇÁ¦·Î ÅëÇà·®À» °ü¸®ÇÑ´Ù.
¾Æ·¡¿¡ »ç¿ëÇÒ Å¥¸¦ °áÁ¤Çϴµ¥ µµ¿òÀÌ µÉ¸¸ÇÑ ¸î°¡Áö°¡ ÀÖ´Ù. ¶Ç 14Àå¿¡¼ ¼³¸íÇÏ´Â ¸î°¡Áö Å¥À× ±ÔÄ¢¿¡ ´ëÇØ¼ À̾߱â ÇÒ°ÍÀÌ´Ù.
13. Ä¿³Î ³×Æ®¿öÅ© ¸Å°³º¯¼ö ¶Ä¿³ÎÀº ´Ù¾çÇÑ È¯°æ¿¡ ¸Â°Ô Á¶Á¤ÇÒ ¼ö ÀÖ´Â ¸Å°³º¯¼öµéÀ» ´Ù¼ö °¡Áö°í ÀÖ½À´Ï´Ù. ¹°·Ð º¸Åë ±×·¸µí, ±âº»ÀûÀÎ ¸Å°³º¯¼öµé·Îµµ 99%ÀÇ ¼³Ä¡ ȯ°æ¿¡¼´Â ÃæºÐÇÕ´Ï´Ù¸¸, ¿ì¸®°¡ ±¦È÷ ÀÌ ±ÛÀ» Advanced HOWTO¶ó°í ÇÏ´Â °Ç ¾Æ´ÏÀݽÀ´Ï±î!
Èï¹Ì·Î¿î °ÍµéÀÌ
/proc/sys/net ³»¿¡ ÀÖÀ¸´Ï Çѹø µÑ·¯ º¸½Ê½Ã¿À. ¸ðµç ³»¿ëµéÀÌ Ã³À½ºÎÅÍ ¿©±â¿¡ ±â·ÏµÇÁö´Â ¾Ê°ÚÁö¸¸, °è¼Ó ÀÛ¾÷À» ÇØ ³ª°¥ °ÍÀÔ´Ï´Ù.
ÇÑÆí ¸®´ª½º Ä¿³Î ¼Ò½º¸¦ »ìÆìº¸°í ½ÍÀ» ¼öµµ ÀÖÀ» ÅÙµ¥,
Documentation/filesystems/proc.txt ÆÄÀÏÀ» Àоµµ·Ï ÇϽʽÿÀ. ´ëºÎºÐÀÇ ³»¿ëµéÀÌ °Å±â¿¡ ¼³¸íµÇ¾î ÀÖ½À´Ï´Ù.
(FIXME)
13.1. ¿ª°æ·Î ÇÊÅ͸µ(Reverse Path Filtering) ¶±âº»ÀûÀ¸·Î ¶ó¿ìÅÍ´Â ¹¹µçÁö, ½ÉÁö¾î 'ºÐ¸íÈ÷' ´ç½ÅÀÇ ³×Æ®¿öÅ©¿¡ ¼ÓÇÏÁö ¾Ê´Â ÆÐŶ±îÁöµµ ¶ó¿ìÆÃ ÇÕ´Ï´Ù. ½¬¿î ¿¹·Î »ç¼³ IP °ø°£ÀÌ ÀÎÅͳÝÀ¸·Î ºüÁ®³ª°¡´Â °É µé ¼ö ÀÖ½À´Ï´Ù. ¾î¶² ÀÎÅÍÆäÀ̽º·Î 195.96.96.0/24¶ó´Â ¶ó¿ìÆ®°¡ ÀÖ´Ù¸é ±× ÀÎÅÍÆäÀ̽º¿¡ 212.64.94.1¿¡¼ ¿Â ÆÐŶÀÌ µµÂøÇÒ °Å¶ó°í´Â »ý°¢ÇÏÁö ¾Ê½À´Ï´Ù.
¸¹Àº »ç¶÷µéÀÌ ÀÌ·¯ÇÑ Æ¯¼ºÀ» ²ø ¼ö Àֱ⸦ ¿øÇϱ⿡ Ä¿³Î ÇØÄ¿µéÀÌ ½±°Ô ±×·¸°Ô ÇÒ ¼ö ÀÖµµ·Ï ÇØµÎ¾ú½À´Ï´Ù.
/proc ³»¿¡´Â Ä¿³Î¿¡°Ô ±×·¸°Ô Ç϶ó°í ÇÒ ¼ö ÀÖ´Â ÆÄÀϵéÀÌ ÀÖ½À´Ï´Ù. ±×·¯ÇÑ ¹æ¹ýÀ» "¿ª°æ·Î ÇÊÅ͸µ"À̶ó°í ÇÕ´Ï´Ù. ±âº»ÀûÀ¸·Î ÆÐŶ¿¡ ´ëÇÑ ÀÀ´äÀÌ ±× ÆÐŶÀÌ µé¾î¿Â ÀÎÅÍÆäÀ̽º·Î ³ª°¡Áö ¾ÊÀ» °Í °°À¸¸é ÀÌ ÆÐŶÀº °¡Â¥ ÆÐŶÀÎ °ÍÀ̰í, µû¶ó¼ ¹«½ÃµË´Ï´Ù.
´ÙÀ½ ¸í·ÉÀº ÇöÀç¿Í ¹Ì·¡ÀÇ ¸ðµç ÀÎÅÍÆäÀ̽º¿¡ ´ëÇØ ÀÌ ¹æ¹ýÀ» Àû¿ëÇØ ÁÝ´Ï´Ù.
# for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do > echo 2 > $i > doneÀ§¿¡¼ÀÇ ¿¹¸¦ °¡Áö°í ÇÏÀÚ¸é, ¸®´ª½º ¶ó¿ìÅÍÀÇ eth1¿¡ µµÂøÇÑ ÆÐŶÀÌ ÀڱⰡ »ç¹«½Ç+ISP ¼ºê³Ý¿¡¼ ¿Ô´Ù°í ÁÖÀåÇÏ¸é ±× ÆÐŶÀº »ç¶óÁý´Ï´Ù. ¸¶Âù°¡Áö·Î »ç¹«½Ç ¼ºê³Ý¿¡¼ ÆÐŶÀÌ ¿Ô´Âµ¥ ÀÚ½ÅÀÌ ¹æÈº® ¹ÛÀÇ ¾îµò°¡¿¡¼ ¿Ô´Ù°í ÁÖÀåÇÏ¸é ¸¶Âù°¡Áö·Î »ç¶óÁö°Ô µË´Ï´Ù. À§¿¡ ÀÖ´Â °Ç Àüü ¿ª°æ·Î ÇÊÅ͸µÀÔ´Ï´Ù. ±âº»ÀûÀÎ µ¿ÀÛÀº Á÷Á¢ ¿¬°áµÇ¾î ÀÖ´Â ³×Æ®¿öÅ©ÀÇ IP ÁÖ¼Ò¿¡ ±â¹ÝÇØ¼ ÇÊÅ͸µ ÇÏ´Â °Í»ÓÀÔ´Ï´Ù. Àüü ÇÊÅ͸µÀ» ºñ´ëĪ ¶ó¿ìÆÃÀÇ °æ¿ì ¹®Á¦°¡ µÉ ¼ö ÀÖ½À´Ï´Ù. (ºñ´ëĪ ¶ó¿ìÆÃÀº À§¼º Åë½Å¿¡¼Ã³·³ ÇÑ ÂÊÀ¸·Î ÆÐŶÀÌ µé¾î¿À°í ´Ù¸¥ ÂÊÀ¸·Î ÆÐŶÀÌ ³ª°©´Ï´Ù. ³×Æ®¿öÅ©¿¡¼ µ¿Àû ¶ó¿ìÆÃ(bgp, ospf, rip)À» ÇÏ´Â °æ¿ìµµ ¸¶Âù°¡ÁöÀÔ´Ï´Ù. À§¼º Åë½ÅÀÇ °æ¿ì À§¼º Á¢½Ã¸¦ ÅëÇØ µ¥ÀÌÅͰ¡ ³»·Á¿À°í Á¤»óÀûÀÎ Áö»ó ȸ¼±À» ÅëÇØ ÀÀ´äÀÌ µ¹¾Æ°©´Ï´Ù.)
ÀÌ·¯ÇÑ ¿¹¿ÜÀûÀÎ °æ¿ì°¡ Àڽſ¡°Ô ÇØ´çµÈ´Ù¸é (±×·¸´Ù¸é ÀÌ¹Ì º»ÀÎÀÌ ±×°É ¾Ë°í ÀÖÀ» °Ì´Ï´Ù.) À§¼º µ¥ÀÌÅͰ¡ µé¾î¿À´Â ÀÎÅÍÆäÀ̽º¿¡¼ rp_filter¸¦ ²¨ÁÖ¸é µË´Ï´Ù. ÆÐŶÀÌ »ç¶óÁö°í ÀÖ´ÂÁö ¾Ë°í ½ÍÀº °æ¿ì °°Àº µð·ºÅ͸® ³»ÀÇ log_martians ÆÄÀÏÀÌ Ä¿³ÎÀÌ ±×·± ÆÐŶµéÀ» syslog¿¡ ±â·ÏÇϵµ·Ï ÇØÁÝ´Ï´Ù.
# echo 1 >/proc/sys/net/ipv4/conf/<interfacename>/log_martiansFIXME: conf/{default,all}/* ÆÄÀϵéÀ» ¼³Á¤Çϸé ÃæºÐÇÏÁö ¾Ê³ª¿ä? - martijn (¿ªÀÚÁÖ: ÃæºÐÇÏÁö ¾Ê½À´Ï´Ù. conf/all/* ÆÄÀÏÀº µ¿ÀÛ¿¡ ¿µÇâÀ» ÁÖÁö ¾ÊÀ¸¸ç, ÀÎÅÍÆäÀ̽ºº° µð·ºÅ͸® ³»ÀÇ ÆÄÀÏÀ» Á÷Á¢ Á¶ÀÛÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù.)
13.2. ¼û°ÜÁø ¼³Á¤µé ¶ÀÚ, º¯°æÇÒ ¼ö ÀÖ´Â ¸Å°³º¯¼öµéÀÌ Âü ¸¹ÀÌ ÀÖ½À´Ï´Ù. ¸ðµÎ¸¦ ³ª¿ÇØ º¼ °ÍÀÔ´Ï´Ù. ÀÌ´Â Documentation/ip-sysctl.txt¿¡(¿ªÀÚÁÖ: Documentation/networking/ip-sysctl.txt°¡ Á¤È®ÇÑ °æ·ÎÀÔ´Ï´Ù.) (ÀϺÎ) ¹®¼È µÇ¾î ÀÖ½À´Ï´Ù.
ÀÌ ¼³Á¤µé Áß ¸î¸îÀº Ä¿³ÎÀ» ÄÄÆÄÀÏ ÇÒ ¶§ 'È£½ºÆ® ´ë½Å ¶ó¿ìÅÍ·Î ±¸¼ºÇϱâ'(¿ªÀÚÁÖ: NETFILTER, IP_ADVANCED_ROUTER µî)¿¡ 'Yes'·Î ´ë´äÇߴ°¡¿¡ µû¶ó¼ ´Ù¸¥ ±âº»°ªÀ» °¡Áý´Ï´Ù.
Oskar Andreasson ¿ª½Ãµµ ÀÌ Ç÷¡±×µé ÀüºÎ¿¡ ´ëÇÑ ÆäÀÌÁö¸¦ °¡Áö°í ÀÖÀ¸¸ç ¿ì¸® °Íº¸´Ù ´õ ³ªÀº °Í °°À¸´Ï,
![]() 13.2.1. ipv4 ÀÏ¹Ý ¶ÀϹÝÀûÀ¸·Î ÁÖÀÇÇÒ °ÍÀº ´ëºÎºÐÀÇ ¼Óµµ Á¦ÇÑ ±â´ÉÀÌ ·çÇÁ¹é¿¡¼´Â µ¿ÀÛÇÏÁö ¾Ê´Â´Ù´Â °ÍÀÔ´Ï´Ù. ±×·¯´Ï ·ÎÄÿ¡¼ Å×½ºÆ® ÇÏÁö ¸¶½Ê½Ã¿À. Á¦ÇÑÀº 'jiffy' ´ÜÀ§ÀÌ¸ç ¾Õ¼ ¾ð±ÞÇÑ ÅäÅ« ¹öŶ ÇÊÅ͸¦ »ç¿ëÇØ Àû¿ëµË´Ï´Ù.
Ä¿³ÎÀº ÃÊ´ç 'HZ' ¹ø(Ȥ´Â HZ 'jiffies' ¸¸Å) ¶ÈµüÀÌ´Â ³»ºÎ ½Ã°è¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. IntelÀÇ °æ¿ì 'HZ'´Â ´ëºÎºÐ 100ÀÔ´Ï´Ù. µû¶ó¼ *_rate ÆÄÀÏÀ» 50À¸·Î ¼³Á¤Çϸé ÃÊ´ç 2°³ ÆÐŶÀ» Çã¿ëÇÏ°Ô µË´Ï´Ù. ÅäÅ« ¹öŶ ÇÊÅÍ´Â ÃæºÐÇÑ ÅäÅ«À» ¸ðÀº °æ¿ì ÃÖ´ë 6°³ ÆÐŶ±îÁö ÁýÁߵǴ °É Çã¿ëÇÕ´Ï´Ù.
´ÙÀ½ ¸ñ·ÏÀÇ ¸î¸î Ç׸ñÀº Alexey Kuznetsov <
![]() ![]()
13.2.2. ÀåÄ¡º° ¼³Á¤ ¶DEV´Â ½ÇÁ¦ ÀÎÅÍÆäÀ̽º, ¶Ç´Â 'all(Àüü)'À̳ª 'default(±âº»°ª)'À» ³ªÅ¸³À´Ï´Ù. ±âº»°ªÀº ¶ÇÇÑ »ý¼ºµÉ ÀÎÅÍÆäÀ̽º¿¡ ´ëÇÑ ¼³Á¤À» ¹Ù²ãÁÝ´Ï´Ù.
13.2.3. ÀÌ¿ô(neighbor) Á¤Ã¥ ¶DEV´Â ½ÇÁ¦ ÀÎÅÍÆäÀ̽º, ¶Ç´Â 'all(Àüü)'À̳ª 'default(±âº»°ª)'À» ³ªÅ¸³À´Ï´Ù. ±âº»°ªÀº ¶ÇÇÑ »ý¼ºµÉ ÀÎÅÍÆäÀ̽º¿¡ ´ëÇÑ ¼³Á¤À» ¹Ù²ãÁÝ´Ï´Ù.
13.2.4. ¶ó¿ìÆÃ ¼³Á¤ ¶
14. Àü¹®ÀûÀÌ°í ´ú »ç¿ëµÇ´Â Å¥ ±¸Á¶µé ¶¾Õ¿¡¼ ¾ð±ÞµÈ Å¥µé À̿ܿ¡, ¸®´ª½º Ä¿³ÎÀº ÀÌ Àå¿¡¼ ¾ð±ÞµÇ´Â Ưº°ÇÑ Å¥µéÀ» Æ÷ÇÔÇϰí ÀÖ´Ù.
14.1. bfifo/pfifo ¶bfifo¿Í pfifo´Â Ŭ·¡½º¾ø´Â(classless) Å¥±¸Á¶·Î, ³»ºÎÀûÀÎ ¹êµå¸¦ °®´Â pfifo_fastº¸´Ù´õ ´Ü¼øÇÑ °ÍÀÌ´Ù. Áï, ¸ðµç Æ®·¡ÇÈÀÌ µ¿ÀÏÇÏ°Ô Ãë±ÞµÈ´Ù. ÀÌ ±¸Á¶µéÀº ÇϳªÀÇ Áß¿äÇÑ ÀåÁ¡À» °®´Âµ¥, ¹Ù·Î ¾î¶² Åë°èÄ¡¸¦ °®´Â´Ù´Â °ÍÀÌ´Ù. ±×·¡¼, shaping ¶Ç´Â prioritizingÀÌ ¾øÀ» °æ¿ì¿¡, ¿©·¯ºÐÀÇ ÀÎÅÍÆäÀ̽ºÀÇ backlog(½×¿© ÀÖ´Â ÆÐŶ ¶Ç´Â µ¥ÀÌÅÍ·®)¸¦ °áÁ¤Çϴµ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
pfifo´Â ÆÐŶ °³¼ö·Î ±æÀ̸¦ °è»êÇϸç, bfifo´Â ¹ÙÀÌÆ®´ÜÀ§·Î ±æÀ̸¦ °è»êÇÕ´Ï´Ù.
14.1.1. ÆÄ¶ó¸ÞÅÍ & »ç¿ë¹ý ¶limit
Å¥ÀÇ ±æÀ̸¦ ¸í½ÃÇÕ´Ï´Ù. bfifo¿¡¼´Â ¹ÙÀÌÆ®´ÜÀ§·Î °è»êµÇ¸ç, pfifo¿¡¼´Â ÆÐŶ´ÜÀ§·Î °è»êµË´Ï´Ù. ±âº»°ªÀº ÀÎÅÍÆäÀ̽º txqueuelen ÆÐŶ±æÀ̰¡ µÇ¸ç(pfifo_fast ÀåÀ» Âü°í), bfifoÀÇ °æ¿ì¿¡´Â txqueuelen*mtu ¹ÙÀÌÆ®ÀÔ´Ï´Ù.
14.6. Generic Random Early Detection ¶GRED¿¡ ´ëÇØ ¸¹ÀÌ ¾Ë·ÁÁø °ÍÀÌ ¾ø½À´Ï´Ù. GRED´Â Diffserv tcindex¿¡ ±â¹ÝÇÑ ³»ºÎÀûÀΠť¸¦ °¡Áö°í ÀÖ½À´Ï´Ù.°ü·ÃµÈ ½½¶óÀ̵å´Â
![]() FIXME: Ãß°¡ÀûÀÎ Á¤º¸¸¦ Jamal ¶Ç´Â Werner¿¡°Ô ¾Ë·ÁÁÖ¼¼¿ä.
(softgear- GRED¿¡ ´ëÇØ¼´Â http://www.opalsoft.net/qos/DS.htm ¿¡¼ ´õ ¸¹Àº Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù)
14.8. Weighted Round Robin (WRR) ¶ÀÌ Å¥±¸Á¶´Â Ç¥ÁØ ¸®´ª½º Ä¿³Î¿¡´Â Æ÷ÇԵǾî ÀÖÁö ¾ÊÁö¸¸,
![]() ÀÌ Å¥±¸Á¶´Â ³»Àå ºÐ·ùÀÚ(classifier)¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. ÀÌ´Â ´Ù¸¥ Ŭ·¡½º³ª Àåºñ·ÎºÎÅÍ µé¾î¿À´Â ÆÐŶ ¶Ç´Â ³ª°¡´Â ÆÐŶ¿¡ ÇÒ´çÇÒ ¼ö ÀÖ½À´Ï´Ù. MAC ¶Ç´Â IP ±×¸®°í source ¶Ç´Â destinationÁÖ¼Ò¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª, MACÁÖ¼Ò´Â Linux box°¡ ethernet bridge·Î µ¿ÀÛÇÒ¶§¸¸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. Ŭ·¡½º´Â ÆÐŶ¿¡ Ç¥½ÃµÈ ÀåºñÀÇ ÁÖ¼Ò¿¡ µû¶ó ÀÚµ¿À¸·Î ÇÒ´çµË´Ï´Ù.
ÀÌ Å¥±¸Á¶´Â ¸¹Àº ÀÎÅÍ³Ý ¿¬°áÀÌ °øÀ¯µÇ´Â °÷¿¡¼ À¯¿ëÇÏ°Ô »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. WRR ¹èÆ÷ÆÇ¿¡´Â ÀÌ·¯ÇÑ °÷¿¡¼ µ¿ÀÛÇÒ ¼ö ÀÖ´Â ½ºÅ©¸³Æ®µéÀÌ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.
15.7. Circumventing Path MTU Discovery issues with MSS Clamping (for ADSL, cable, PPPoE & PPtP users) ¶20. Acknowledgements ¶DeleteMe ¿À·¡ Àü¿¡ lartc ¹ø¿ªÀ» ÇÏ´ø °ÍÀÌ ÀÖ½À´Ï´Ù. ¹ø¿ªÀÇ ½ÃÀÛÀ» kldp ÂÊÀ¸·Î ¹Ì¸® ¾Ë¸®Áö ¾Ê°í °³ÀÎÀûÀ¸·Î ÇÏ´ø ÀÛ¾÷ÀÌ¾î¼ due ¸¦ µÎÁö ¾Ê¾Ò´õ´Ï Áß´ÜµÈ »óų׿ä. Áö±ÝÀº revision ¾ó¸¶ÀÎÁö ¸ð¸£°ÚÁö¸¸ ÇÑ ÀÏ ³â ÀüÀÇ ¹®¼¸¦ ±âÁØÀ¸·Î ¹ø¿ªÇÑ °ÍÀÌ´Ï Âü°íÇϼ¼¿ä. ¾Æ·¡ ÁÖ¼Ò¿¡ ÀÖ½À´Ï´Ù.
¹ø¿ª ÀÛ¾÷À» ±×¸¸µÐ ÀÌÀ¯°¡.. ¾Æ¹«·¡µµ ¿ø¹®ÀÇ ¸À ±×´ë·Î¸¦ Çѱ¹¾î·Î ¿Å±ä´Ù´Â °ÍÀº Á¦ ´É·ÂÀ¸·Î ¹«¸®¿´´Ù´Â Á¡ÀÌ °¡Àå Å©Áö ¾Ê¾Ò³ª ÇÕ´Ï´Ù. -- ai
À½.. ¸¶¹«¸®¸¦ ÇϼÌÀ¸¸é ´õ ÁÁ¾ÒÀ» ÅÙµ¥¿ä.. ±×·¡µµ ¾Æ¿¹ ¾ø´Â °Í º¸´Ù´Â µÞ »ç¶÷À» À§Çؼ¶óµµ ÇÏ´Â°Ô ÁÁÁÒ..
°³ÀÎÀûÀ¸·Î QoS¿¡ ´ëÇØ¼ °ü½ÉÀÌ ¸¹¾Æ¼ ÀÌ ¹®¼¸¦ º¸´Ù°¡ À̰÷±îÁö ¿À°Ô µÇ¾ú½À´Ï´Ù. Âü.. ÈûµçÀÛ¾÷ ÇϽʴϴÙ... ¿ö³« ¾öû³ ÀÚ·áµéÀ̶ó¼.. °³ÀÎÀûÀ¸·Î³ª¸¶ Àúµµ docbook¿¡ ´ëÇØ °øºÎ¸¦ Çϰí ÇØ¼®À» ÇØ³ª°¡ º¸°Ú½À´Ï´Ù¸¸... µµ¿òÀÌ µÉÁö´Â ¹ÌÁö¼ö ÀÔ´Ï´Ù... -_-;; ±×·³ ¼ö°íµé ÇϽʽÿä..
-- SkullQ
![]() Çã¶ôµµ ¾øÀÌ °¨È÷ ³¢¾îµé¾ú½À´Ï´Ù.. ¿ö³«¿¡ ¹ø¿ª(?) ÇØº¸°í ½Í´ø ¹®¼¶ó¼¿ä.. ¾çÀÌ Á» ¸¹°í °è¼ÓÇØ¼ ¾÷µ¥ÀÌÆ® µÇ°í ÀÖ´Â ¹®¼¶ó Áß°£Áß°£ ««ÀÌ ³¢¾îµé°Ô¿ä.. ±×¸®°í LARTC ȨÆäÀÌÁö ¸µÅ©Çß½À´Ï´Ù.. ^^;;; -- scipione ±¦Âú½À´Ï´Ù.. ½ÃÀÛÀº ai ´ÔÀÌ ¸ÕÀú ÇϽŰŰí Àü ¾ÆÁ÷ ¿Å±â´Â µ¥µµ ½Ã°£ÀÌ ºÎÁ·Çؼ õõÈ÷ ÇØ ³ª°¥ »ý°¢ÀÌ´Ï Áøµµ°¡ ¾È³ª°¡°í ÀÖ±¸³ª ÇÏ°í »ý°¢µÇ¸é °è¼Ó ²¸µé¾î ÁÖ¼¼¿ä..
![]() |
His heart was yours from the first moment that you met. |