User Mode Linux
User Mode Linux HOWTO
ÀÛ¼º : User Mode Linux Core Team
2005.1.15 (Åä) 00:52:30 EDT
¹ø¿ª : ±è³²Çü
2005.9.8 (¸ñ) 12:04:00 KST
ÀÌ ¹®¼´Â Jeff Dike ÀÇ User Mode Linux ÀÇ »ç¿ë¹ýÀ» ¼³¸íÇÑ´Ù: User Mode Linux ¶õ ¸®´ª½º Ä¿³ÎÀ» ÀÏ¹Ý ¸®´ª½º ÇÁ·Î¼¼½ºÃ³·³ Æ÷ÆÃÇÑ °ÍÀÌ´Ù.
1.1. User Mode Linux ¶õ ¹«¾ùÀΰ¡? ¶User Mode Linux ´Â ¸®´ª½º³»¿¡¼ ¸®´ª½º¸¦ ½ÇÇàÇÒ ¼ö ÀÖµµ·Ï ÇØÁÖ´Â °ÍÀÌ´Ù! À̷νá ÀüÇô »õ·Î¿î °ÍµéÀ» ½ÇÇèÇØ º¼ ¼ö ÀÖ´Â ÈûÀ» °®°Ô µÈ´Ù.
User Mode Linux ´Â ¸®´ª½º¸¦ °¡»óÈÇؼ (ȤÀº - ÀϺΠ»ç¶÷µéÀÌ ¸»ÇÏ´Â °Íó·³ - ½Ã¹Ä·¹ÀÌÆ®Çؼ) ¸®´ª½º Àüü¸¦ ±×Àú º¸Åë ÇÁ·Î¼¼½º¸¦ ½ÇÇà½ÃÅ°´Â °Íó·³ ½ÇÇàÇÒ ¼ö ÀÖµµ·Ï ÇØÁØ´Ù.
ÀÌ¹Ì ÀÌ¿Í ºñ½ÁÇÑ ±â´ÉÀ» µé¾îº¸¾ÒÀ» Áöµµ ¸ð¸¥´Ù. µ¿ÀÏÇÑ (ȤÀº ¼·Î ´Ù¸¥) ¿î¿µÃ¼Á¦¸¦ Áßø (nest) Çϱâ À§ÇÑ ÇÁ·ÎÁ§Æ®°¡ ¸î°¡Áö ÀÖ´Ù: Linux on Linux, Windows on Linux, Linux on Windows, Linux/s390 on Linux/anythingelse µîµî. ȤÀº ±×³É x86 on anything, Áï 'x86' ÇÁ·Î±×·¥ (¿ªÁÖ: ¾Æ¸¶µµ Bochs³ª QEMU°°Àº ÇÁ·Î¼¼¼ ¿¡¹Ä·¹ÀÌ¼Ç ÇÁ·ÎÁ§Æ®) ÀÌ ¸®´ª½º µîÀÇ ¿î¿µÃ¼Á¦¸¦ ºÎÆà Çϵµ·Ï ¸¸µç ÇÁ·ÎÁ§Æ®µµ ÀÖ´Ù.
x86°ú °ü·ÃµÈ ºÎºÐ¿¡ ¼ö ¸¹Àº ³ë·ÂÀÌ ÁýÁߵǾú´Ù. ÀÌ HOWTO ¹®¼ÀÇ ¸¶Áö¸· ºÎºÐ¿¡¼ ´ë¾È (alternative) ÇÁ·ÎÁ§Æ®µéÀÇ ¸®½ºÆ®¸¦ º¸°Ô µÉ °ÍÀÌ´Ù. ¸¸¾à ´ç½ÅÀÇ ¸ñÀûÀÌ ´ÜÁö x86 ¸®´ª½º »ó¿¡ ¶Ç´Ù¸¥ x86 ¸®´ª½º¸¦ °ÅÀÇ ¼Õº¸Áö ¾Ê°í ÃÖ´ëÇÑ »¡¸® ½ÇÇàÇÏ´Â °ÍÀ̶ó¸é ¾Æ¸¶µµ UML (User Mode Linux) º¸´Ù´Â ÀÌ·± ÇÁ·ÎÁ§Æ®µé Áß Çϳª°¡ ´õ ³ªÀ» °ÍÀÌ´Ù.
1.2. User Mode Linux ´Â ¹«¾ùÀÌ ´Ù¸¥°¡? ¶User Mode Linux (UML) Àº ´Ù¸¥ ¸ðµç (»ó¿ëÀÌµç ¹«·áÀ̵ç) ¸®´ª½º °¡»óÈ ÇÁ·ÎÁ§Æ®¿Í´Â ´Ù¸£´Ù. UML Àº °¡´ÉÇÑÇÑ ÀÚ½ÅÀ» ÀϹÝÀûÀÎ ÇÁ·Î±×·¥°ú µ¿ÀÏÇÏ°Ô Ç¥ÇöÇϵµ·Ï ³ë·ÂÇÑ´Ù. ´ÙÀ½Àº ±×·¯ÇÑ Ã¶ÇÐÇÏ¿¡ ÀÌ·ç¾îÁø °á°úµéÀ» º¸¿©ÁØ´Ù:
1.3. UML Àº ¾î¶»°Ô µ¿ÀÛÇϴ°¡? ¶ÀϹÝÀûÀ¸·Î, ¸®´ª½º Ä¿³ÎÀº Çϵå¿þ¾î (ºñµð¿À Ä«µå, Å°º¸µå, ÇÏµå µå¶óÀÌºê µî) ¿Í Çϵå¿þ¾î¸¦ Á¦¾îÇϱâ À§ÇØ Ä¿³Î¿¡ ¿äûÇÏ´Â ¼ÒÇÁÆ®¿þ¾î¿Í Á÷Á¢ ´ëÈÇÑ´Ù. À̸¦ ±×¸²À¸·Î Ç¥ÇöÇÏ¸é ´ÙÀ½°ú °°´Ù:
+-----------+-----------+----+ | Process 1 | Process 2 | ...| +-----------+-----------+----+ | Linux Kernel | +----------------------------+ | Hardware | +----------------------------+ +----------------+ | Process 2 | ...| +-----------+----------------+ | Process 1 | User-Mode Linux| +----------------------------+ | Linux Kernel | +----------------------------+ | Hardware | +----------------------------+ 1.4. ¿Ö UML À» ¿øÇϴ°¡? ¶
2.1. Ä¿³Î ÄÄÆÄÀÏÇϱ⠶UML Ä¿³ÎÀ» ÄÄÆÄÀÏÇÏ´Â °ÍÀº ´Ù¸¥ Ä¿³ÎÀ» ÄÄÆÄÀÏ ÇÏ´Â °Í°ú µ¿ÀÏÇÏ´Ù. (ÀÌ ±ÛÀ» ¾²´Â ½ÃÁ¡¿¡¼) ÃֽŠĿ³ÎÀÎ 2.4.0-prelease ¸¦ ¿¹Á¦·Î Çؼ ÇÑ ´Ü°è¾¿ »ìÆ캸±â·Î ÇÏÀÚ: (2.6´ë Ä¿³Î »ç¿ëÀÚ´Â ÀÌ¹Ì Ä¿³Î¼Ò½º¿¡ Æ÷ÇԵǾî ÀÖÀ½À¸·Î º°µµÀÇ ÆÐÄ¡¾øÀÌ ¼Ò½º¸¦ ¹Þ¾Æ 5¹øºÎÅÍ ½ÃÀÛÇÑ´Ù)
/usr/src/linux µð·ºÅ丮¿¡¼ ºôµåÇÏÁö ¾Êµµ·Ï ÁÖÀÇÇ϶ó. ƯÁ¤ ¹èÆ÷ÆÇ¿¡¼´Â /usr/include/asm µð·ºÅ丮°¡ ÀÌ Ç® (pool) À» °¡¸®Å°´Â ¸µÅ©·Î µÇ¾îÀÖÀ¸¹Ç·Î UML À» ÀÌ µð·ºÅ丮¿¡¼ ºôµåÇÏ°Ô µÇ¸é ¸µÅ©°¡ °¡¸®Å°´Â °÷ÀÇ ³»¿ëÀÌ º¯ÈµÇ°í <asm/anything.h> ¸¦ Æ÷ÇÔÇÏ´Â °ÍµéÀº ÄÄÆÄÀÏÀÌ ÁßÁöµÉ °ÍÀÌ´Ù.
¼Ò½º ÆÄÀÏÀº ÀÌ ÇÁ·ÎÁ§Æ®ÀÇ CVS ÆäÀÌÁö¿¡¼µµ ¾òÀ» ¼ö ÀÖ´Ù. ÀÌ ÆäÀÌÁö¿¡¼´Â ¼Ò½º¸¦ ¾ò´Â ¹æ¹ýÀ̳ª CVS Ç®¿¡ ´ëÇÑ Á¤º¸µéµµ ¾òÀ» ¼ö ÀÖ´Ù.
cvs -d:pserver:anonymous@www.user-mode-linux.org:/cvsroot/user-mode-linux cvs command ¸¸¾à ÃÖ½ÅÀÇ Ä¿³Î Ç®À» °¡Áö°í ÀÖÁö ¾Ê´Ù¸é ÇØ´çÇÏ´Â user-mode ¼Ò½º´Â ´ÙÀ½°ú °°ÀÌ ¾òÀ» ¼ö ÀÖ´Ù:
host% cvs co -r v_2_3_x linux x ´Â Ç® (pool) ÀÇ ¹öÀüÀÌ´Ù. ÀÌÈÄÀÇ ¸±¸®Áî¿¡ Æ÷ÇÔµÈ ¹ö±× ¼öÁ¤À̳ª °³¼± »çÇ×µîÀº ¾òÀ» ¼ö ¾ø´Ù´Â °Í¿¡ ÁÖÀÇÇÏÀÚ.
¸¸¾à ÀڽŸ¸ÀÇ Ä¿³ÎÀ» ºôµåÇß°í ±×°ÍÀ» ÀÌ »çÀÌÆ®¿¡¼ ¹èÆ÷ÇÏ´Â ÆÄÀÏ ½Ã½ºÅÛµé ÁßÀÇ Çϳª¿¡¼ ºÎÆýÃÅ°°í ½Í´Ù¸é °ÅÀÇ ´ëºÎºÐÀÇ °æ¿ì Ä¿³Î¿¡
devfs ¸¦ Æ÷ÇÔ½ÃÄѼ ÄÄÆÄÀÏÇÏ°í ºÎÆýÿ¡ ¸¶¿îÆ®µÇµµ·Ï ¼³Á¤ÇØ¾ß ÇÑ´Ù. ÀÌ¿¡ ´ëÇÑ ¿¹¿Ü°¡ ¹Ù·Î tomsrtbt ÆÄÀÏ ½Ã½ºÅÛÀ¸·Î¼ ÀÌ °æ¿ì, devfs °¡ Ä¿³Î¿¡ Æ÷ÇԵǾî ÀÖÁö ¾Ê°Å³ª Ä¿³Î ¸í·ÉÇà¿¡¼ "devfs=nomount" °¡ ¹Ýµå½Ã ÀԷµǾî¾ß ÇÑ´Ù. devfs »ç¿ë¿¡ ÀÖ¾î¼ÀÇ ºÎÆõǴ ÆÄÀÏ ½Ã½ºÅÛ°ú Ä¿³Î °£ÀÇ ºÒÀÏÄ¡´Â single-user mode °¡ ¾Æ´Ò¶§ ºÎÆÃÀÌ µÇÁö ¾Êµµ·Ï ÇÒ °ÍÀÌ´Ù.
¸¸¾à
devfs ¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù¸é ´ÙÀ½°ú °°ÀÌ /dev/ubd ÀåÄ¡ ÆÄÀϵéÀ» ¸¸µé¾î¼ /dev µð·ºÅ丮¿¡ º¹»çÇÏ¸é µÈ´Ù:
UML# for i in 0 1 2 3 4 5 6 7; do mknod ubd$i b 98 $[ $i * 16 ]; done /etc/fstab °ú /etc/inittab À» ¼öÁ¤ÇÏ¿© devfs °¡ ¾Æ´Ñ ÀåÄ¡¸¦ °¡¸®Å°µµ·Ï ÇÑ´Ù.
2.2. ¸ðµâ ÄÄÆÄÀÏ°ú ¼³Ä¡Çϱ⠶UML ÀÇ ¸ðµâÀº È£½ºÆ® Ä¿³ÎÀÇ ¸ðµâ°ú µ¿ÀÏÇÑ ¹æ¹ýÀ¸·Î ¼³Ä¡µÈ´Ù. (UML À» À§Çؼ´Â Ç×»ó
ARCH=um À» ¸í½ÃÇØ¾ß ÇÑ´Ù´Â °Í¸¸ÀÌ ´Ù¸£´Ù)
host% make modules ARCH=um ¶Ç´Â ftp ³ª ±×¹ÛÀÇ º¹»ç ÇÁ·Î±×·¥µîÀ» ÀÌ¿ëÇØ °¡»ó ¸Ó½ÅÀ¸·Î º¹»çÇÑ ÈÄ
/lib/modules/\ uname -r\ µð·ºÅ丮·Î ¿Å°ÜµÎ´Â ¹æ½ÄÀ¸·Îµµ ¸ðµâÀ» ¼³Ä¡ÇÒ ¼ö ÀÖ´Ù.
¶Ç´Â Ä¿³Î ºôµå °úÁ¤¿¡¼ ´ÙÀ½°ú °°ÀÌ ¼³Ä¡ÇÒ ¼ö ÀÖ´Ù:
modules_install À» ½ÇÇàÇÏ´Â ¹æ¹ýÀÌ ÀÖ´Ù:
depmod ´Â unresolved symbols ¿¡ °üÇÑ ºÒÆòÀ» ÇÒ¼öµµ Àִµ¥ ÀÌ°ÍÀº UML ÆÄÀÏ ½Ã½ºÅÛ ³»¿¡ ¼³Ä¡µÈ System.map ÆÄÀÏÀÌ À߸øµÇ¾ú°Å³ª ¾ø±â ¶§¹®ÀÌ´Ù. ÇÏÁö¸¸ ÀÌ·Î ÀÎÇÑ ¹®Á¦´Â ¾øÀ» °ÍÀÌ´Ù. ÇöÀç insmod ³ª modprobe µîÀº Àß µ¿ÀÛÇÑ´Ù.
½Ã½ºÅÛÀÌ ºÎÆÃµÉ ¶§, Ä¿³Î ³»¿¡ ¸ðµâÀ» ·ÎµåÇϱâ À§Çؼ
insmod ¸¦ ÁÖ·Î »ç¿ëÇÏ°Ô µÉ °ÍÀÌ´Ù. ¸¹Àº °ÍµéÀÌ (ƯÈ÷ ÆÄÀÏ ½Ã½ºÅÛÀ̳ª ³×Æ®¿öÅ© ÇÁ·ÎÅäÄÝ, ÇÊÅÍ µî) ¸ðµâ·Î¼ UML ¿¡ ·ÎµåµÈ´Ù. ±×·¯¹Ç·Î ´ëºÎºÐÀÇ ÇÊ¿äÇÑ ½Éº¼µéÀº ¾Æ¸¶µµ ÀͽºÆ÷Æ® µÇ¾î ÀÖÀ» °ÍÀÌ´Ù. ÇÏÁö¸¸ ÀͽºÆ÷Æ® µÉ ÇÊ¿ä°¡ ÀÖ´Â ½Éº¼À» ´õ ã°Ô µÈ °æ¿ì¿¡´Â ¿ì¸®¿¡°Ô ¾Ë·ÁÁÖ¸é ó¸®Çϵµ·Ï ÇÏ°Ú´Ù.
¸¸¾à UML Æ®¸®³»¿¡ Á¸ÀçÇÏÁö ¾Ê´Â ¿ÜºÎ ¸ðµâÀ» ºôµåÇÑ´Ù¸é, include ÆÄÀϵéÀ» ãÀ» ¼ö ¾ø´Ù°í ¿¡·¯¸¦ ³»¸ç ÄÄÆÄÀϵÇÁö ¾ÊÀ» °ÍÀÌ´Ù. ¸ðµâÀÇ Makefile À̳ª ½ºÅ©¸³Æ®¿¡¼ ºôµå´Â µÇ¾ú´õ¶óµµ ½ÇÇàµÇÁö ¾Ê´Â CFLAGS ¿¡ °ü·ÃµÈ ¸î°¡Áö ¹®Á¦Á¡µéÀÌ ÀÖ´Ù. À̸¦ ÇØ°áÇϱâ À§Çؼ´Â UML Ä¿³ÎÀ» ºôµåÇÒ ¶§ »ç¿ëÇß´ø °Í°ú µ¿ÀÏÇÑ CFLAGS ¿É¼ÇÀ» »ç¿ëÇØ¾ß ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù.
UML ÀÇ CFLAGS ¸¦ ¾ò´Â ÁÁÀº ¹æ¹ýÀ¸·Î´Â ´ÙÀ½°ú °°Àº °ÍÀÌ ÀÖ´Ù:
cd uml-tree ; make script 'SCRIPT=@echo $(CFLAGS)' ARCH=um $(CC) $(CFLAGS) file CFLAGS=`cd uml-tree ; make script 'SCRIPT=@echo $(CFLAGS)' ARCH=um` CFLAGS=$(shell cd uml-tree ; make script 'SCRIPT=@echo $$(CFLAGS)' ARCH=um) 2.3. UML À¯Æ¿¸®Æ¼ ÄÄÆÄÀÏ°ú ¼³Ä¡Çϱ⠶UML Ä¿³ÎÀÇ ¸¹Àº ±â´ÉµéÀº »ç¿ëÀÚ °ø°£¿¡¼ µ¿ÀÛÇÏ´Â µµ¿ì¹Ì ÇÁ·Î±×·¥À» ÇÊ¿ä·Î ÇÑ´Ù. ±×·¯¹Ç·Î ÀÌ·¯ÇÑ ±â´ÉÀ» ¼öÇàÇϱâ À§Çؼ Ä¿³Î ÆÐÄ¡¿Í´Â º°µµ·Î uml_utilities ÆÐÅ°Áö°¡ ¹èÆ÷µÈ´Ù. ÀÌ´Â ´ÙÀ½°ú °°Àº °ÍµéÀ» Æ÷ÇÔÇÑ´Ù:
host# make && make install 3.1. UML ½ÇÇàÇϱ⠶UML Àº Ä¿³Î¹öÀü 2.2.15 ȤÀº ±× ÀÌÈÄÀÇ ¹öÀüÀ̳ª, ¸ðµç 2.4 °ú 2.6 Ä¿³Î¿¡¼ µ¿ÀÛÇÑ´Ù.
UML ÀÇ ºÎÆÃÀº °£´ÜÇÏ´Ù. ´Ü¼øÈ÷
linux ¶ó°í ÀÔ·ÂÇÏ¸é µÈ´Ù: ÀÌ °æ¿ì UML Àº ÇöÀç µð·ºÅ丮ÀÇ root_fs ¶ó´Â ÆÄÀÏÀ» ¸¶¿îÆ®ÇÏ·Á°í ÇÒ °ÍÀÌ´Ù. ÀÌ ÀÛ¾÷À» root ±ÇÇÑÀ¸·Î ¼öÇàÇØ¾ß ÇÒ ÇÊ¿ä´Â ¾ø´Ù. ¸¸¾à ·çÆ® ÆÄÀÏ ½Ã½ºÅÛÀÇ À̸§ÀÌ root_fs °¡ ¾Æ´Ï¶ó¸é ¸í·ÉÇà¿¡¼ ubd0=root_fs_´Ù¸¥À̸§ À̶ó°í Àû¾îÁÖ¸é µÈ´Ù.
UML À» ºÎÆýÃÅ°±â À§Çؼ´Â ÆÄÀÏ ½Ã½ºÅÛÀÌ ÇÊ¿äÇÏ´Ù. ÀÌ ÆÄÀÏ ½Ã½ºÅÛµéÀº ¿©±â ¿¡¼ ´Ù¿î·Îµå ¹ÞÀ» ¼ö ÀÖ´Ù. ¹Ìµð¾î·Î ºÎÅÍ Á÷Á¢ UML ¿¡ ȣȯµÇ´Â ÆÄÀÏ ½Ã½ºÅÛ À̹ÌÁö¸¦ »ý¼ºÇØÁÖ´Â ¿©·¯°¡Áö µµ±¸µé µµ Á¸ÀçÇÑ´Ù.
ÀÌ·¸°Ô Ä¿³ÎÀÌ ºÎÆÃµÇ¸é ·Î±×ÀÎ ÇÁ·ÒÇÁÆ®°¡ ³ªÅ¸³¯ °ÍÀÌ´Ù.
ÁÖÀÇ: È£½ºÆ® ½Ã½ºÅÛÀÇ ÁÖ¼Ò°ø°£ÀÌ ÀϹÝÀûÀÎ 3G/1G ±¸ºÐÀÌ ¾Æ´Ñ 2G/2G ±¸ºÐÀ¸·Î ¼³Á¤µÇ¾î ÀÖ´Ù¸é ÆÐÅ°Áö·Î µé¾îÀÖ´Â UML ½ÇÇà ÆÄÀϵéÀº µ¿ÀÛÇÏÁö ¾Ê°í ¹Ù·Î segment fault ¸¦ ÀÏÀ¸Å³ °ÍÀÌ´Ù. ÀÌ·¯ÇÑ ½Ã½ºÅÛ¿¡¼ UML À» ½ÇÇà½ÃÅ°±â À§Çؼ´Â 4Àå 2G/2G È£½ºÆ®¿¡¼ UML ½ÇÇàÇϱ⠸¦ Âü°íÇ϶ó.
3.2. ·Î±×ÀÎ Çϱ⠶¹Ì¸® ÆÐÅ°Áö·Î ¸¸µé¾îÁø ÆÄÀÏ ½Ã½ºÅÛÀº Æнº¿öµå°¡
root ·Î ¼³Á¤µÈ root °èÁ¤°ú Æнº¿öµå°¡ user ·Î ¼³Á¤µÈ user °èÁ¤À» °¡Áø´Ù. ÀϹÝÀûÀ¸·Î ·Î±×ÀÎ ¹è³Ê°¡ ·Î±×ÀÎÇÏ´Â ¹æ¹ýÀ» ¾Ë·ÁÁÙ °ÍÀÌ´Ù. ±×´ë·Î µû¶óÇÏ¸é °¡»ó ¸Ó½Å »óÀ¸·Î ·Î±×ÀÎÇØ µé¾î°¥ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀÌ ÆÄÀÏ ½Ã½ºÅÛ¿¡´Â ¸¹Àº Ä¿¸Çµå¿Í µµ±¸µéÀÌ ¼³Ä¡µÇ¾î ÀÖÀ¸¸ç (¶ÇÇÑ ´õ Ãß°¡ÇÏ´Â °Íµµ ¸Å¿ì ½±´Ù), ½Ã½ºÅÛÀ» ÀÚ¼¼È÷ »ìÆ캼 ¼ö ÀÖ´Â ¿©·¯°¡Áö µµ±¸µéµµ °¡Áö°Ô µÉ °ÍÀÌ´Ù.
·Î±×ÀÎÀº ´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Îµµ ÇÒ ¼ö ÀÖ´Ù:
halt ¸¦ ½ÇÇàÇ϶ó. ±×·¯¸é Ä¿³ÎÀº ÀÚ½ÅÀ» Á¾·áÇÏ°í ÇÁ·Î¼¼½º¸¦ Á¾·á½Ãų °ÍÀÌ´Ù.
4.1. ¼Ò°³ ¶´ëºÎºÐÀÇ ¸®´ª½º ¸Ó½ÅÀº 4G ÀÇ ÁÖ¼Ò°ø°£ Áß¿¡¼ Ä¿³ÎÀÌ »óÀ§ 1G (0xc0000000 - 0xffffffff) ¸¦ »ç¿ëÇÏ°í, ÇÁ·Î¼¼½º°¡ ÇÏÀ§ 3G (0x00000000 - 0xbfffffff) ¸¦ »ç¿ëÇϵµ·Ï ¼³Á¤µÇ¾î ÀÖ´Ù. ÇÏÁö¸¸ ƯÁ¤ÇÑ ¸Ó½Å¿¡¼´Â Ä¿³ÎÀÌ »óÀ§ 2G (0x80000000 - 0xffffffff) ¸¦ »ç¿ëÇÏ°í, ÇÁ·Î¼¼½º°¡ ÇÏÀ§ 2G (0x00000000 - 0x7fffffff) ¸¦ »ç¿ëÇÏ´Â 2G/2G ±¸ºÐÀ¸·Î ¼³Á¤µÇ¾î ÀÖ´Ù.
4.2. ¹®Á¦Á¡ ¶UML »çÀÌÆ®¿¡¼ Á¦°øÇÏ´Â ¹Ì¸® ºôµåµÈ UML ½ÇÇàÆÄÀÏÀº ÀÌ·¯ÇÑ 2G/2G È£½ºÆ®¿¡¼´Â µ¿ÀÛÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù. ¿Ö³ÄÇϸé UML Àº ÇÁ·Î¼¼½ºÀÇ 3G ÁÖ¼Ò°ø°£ Áß¿¡¼ »óÀ§ 0.5G (0xa0000000 - 0xbfffffff) ¸¦ »ç¿ëÇϵµ·Ï ¼³Á¤µÇ¾î Àֱ⠶§¹®ÀÌ´Ù. 2G/2G È£½ºÆ®¿¡¼ ÀÌ´Â ºÐ¸í Ä¿³Î ÁÖ¼Ò°ø°£ÀÇ ÇÑ°¡¿îµ¥¿¡ À§Ä¡ÇÏ°Ô µÇ¹Ç·Î, UML Àº ·ÎµåµÇÁö ¾Ê°í Áï½Ã segfault ¸¦ ÀÏÀ¸Å³ °ÍÀÌ´Ù.
4.3. ÇØ°áÃ¥ ¶ÀÌ·¯ÇÑ ¹®Á¦Á¡À» ÇØ°áÇϱâ À§Çؼ´Â UML ¼Ò½º¸¦ ºôµåÇÒ ¶§ (
General Setup ¹ØÀÇ) 2G/2G host address space split ¸¦ ¼±ÅÃÇÏ¿© CONFIG_HOST_2G_2G ¸¦ ¼³Á¤ÇÏ¸é µÈ´Ù. ±×·¯¸é UML Àº 2G ·Î ÁÙ¾îµç ÇÁ·Î¼¼½º ÁÖ¼Ò°ø°£ÀÇ »óÀ§ 0.5G ºÎºÐ¿¡ ·ÎµåµÇ¾î µ¿ÀÛÇÒ °ÍÀÌ´Ù. UML À» ¼Ò½º·ÎºÎÅÍ ºôµåÇÏ´Â ¹æ¹ýÀº 2Àå Ä¿³Î°ú ¸ðµâÀÇ ÄÄÆÄÀÏ ºÎºÐÀ» ÂüÁ¶Çϱ⠹ٶõ´Ù.
5. ½Ã¸®¾ó ¶óÀΰú ÄÜ¼Ö ¼³Á¤Çϱ⠶¸í·ÉÇà ¿É¼ÇÀ» ÅëÇØ UML ÀÇ ½Ã¸®¾ó ¶óÀΰú ÄܼÖÀ» ¸¹Àº Á¾·ùÀÇ È£½ºÆ® I/O ä³Î (ptys, ttys, ÆÄÀÏ µð½ºÅ©¸³ÅÍ, Æ÷Æ® µî) ¿¡ ¿¬°á (attach) ÇÒ ¼ö ÀÖ´Ù. ÀÌ´Â ´ÙÀ½°ú °°Àº ÀÛ¾÷À» °¡´ÉÇÏ°Ô ÇØÁØ´Ù.
ÀåÄ¡=ä³Î ÀÇ ÇüÅÂÀÌ´Ù.
5.1. ÀåÄ¡ ÁöÁ¤Çϱ⠶ÀåÄ¡´Â
con À̳ª ssl ÀÇ ÇüÅ·ΠÁöÁ¤ÇÑ´Ù (°¢°¢ Äְܼú ½Ã¸®¾ó ¶óÀο¡ ÇØ´ç). ƯÁ¤ ÀåÄ¡¸¦ ÁöÁ¤ÇÏ°í ½ÍÀº °æ¿ì¿¡´Â ¿É¼ÇÀ¸·Î ÀåÄ¡ ¹øÈ£¸¦ ¸í½ÃÇÒ ¼ö ÀÖ´Ù.
´ÜÁö
con À̳ª ssl À̶ó°í¸¸ ÁöÁ¤ÇÑ °æ¿ì¿¡´Â ¸ðµç ÄܼÖÀ̳ª ½Ã¸®¾ó ¶óÀÎÀ» ¸»ÇÏ°Ô µÈ´Ù. ¸¸¾à 3¹ø ÄܼÖÀ̳ª 10¹ø ½Ã¸®¾ó ¶óÀÎÀ» ÁöÁ¤ÇÏ°í ½ÍÀº °æ¿ì¶ó¸é con3 À̳ª ssl10 À̶ó°í ¸í½ÃÇØ¾ß ÇÑ´Ù.
ÁöÁ¤µÈ ÀåÄ¡ À̸§Àº ÀϹÝÀûÀÎ
con= À̳ª ssl= ÀÇ ¼³Á¤À» µ¤¾î¾²°Ô (override) µÉ °ÍÀÌ´Ù. ¿¹¸¦ µé¾î óÀ½ÀÇ 2°³¸¦ Á¦¿ÜÇÑ ½Ã¸®¾ó ¶óÀÎÀ» pty ¿¡ ÇÒ´çÇÏ°í ½ÍÀº °æ¿ì´Â ´ÙÀ½°ú °°ÀÌ ÇÒ ¼ö ÀÖ´Ù:
ssl=pty ssl0=tty:/dev/tty0 ssl1=tty:/dev/tty1 5.2. ä³Î ÁöÁ¤Çϱ⠶UML ÀåÄ¡°¡ ¿¬°áµÉ ¼ö ÀÖ´Â ¿©·¯ ŸÀÔÀÇ Ã¤³ÎµéÀÌ ÀÖ°í, °¢°¢Àº Á¤È®È÷ ¾î¶² ÀåÄ¡µéÀÌ ¿¬°áµÉ Áö¸¦ ÁöÁ¤ÇÏ´Â ¹æ¹ýÀÌ ¼·Î ´Ù¸£´Ù.
¸¸¾à ÁöÁ¤ÇÑ tty °¡ tty/pty ½ÖÀÇ ½½·¹À̺ê¶ó¸é ´Ù¸¥ °÷¿¡¼ ÇØ´ç pty ¸¦ ÀÌ¹Ì open ÇÑ »óÅ¿©¾ß µ¿ÀÛÇÒ °ÍÀÌ´Ù..?? - If the tty that you specify is the slave end of a tty/pty pair, something else must have already opened the corresponding pty in order for this to work.
¸ðµç ½Ã¸®¾ó ¶óÀÎÀ» 9000 ¹ø Æ÷Æ®¿¡ ¿¬°áÇÏ´Â °Íµµ µ¿ÀÏÇÑ ¹æ¹ýÀ¸·Î ÇÒ ¼ö ÀÖ´Ù:
ssl=port:9000 telnet À» ÀÌ¿ëÇØ ÇØ´ç Æ÷Æ®·Î Á¢¼ÓÇÏ¸é µÈ´Ù. °¢°¢ÀÇ È°¼ºÈµÈ ÅÚ³Ý ¼¼¼ÇÀº ¼·Î ´Ù¸¥ ÀåÄ¡¸¦ ¾ò°Ô µÈ´Ù. ¸¸¾à ¿¬°áµÈ ÀåÄ¡º¸´Ù ¸¹Àº ÅÚ³Ý Á¢¼ÓÀÌ ¿äûµÈ´Ù¸é ÀÌÈÄÀÇ ÅÚ³Ý ¼¼¼ÇµéÀº ±âÁ¸ÀÇ Á¢¼ÓÀÌ ÇØÁ¦µÇ°Å³ª (/etc/inittab ¿¡ ÀÇÇØ ÁöÁ¤µÈ) ´Ù¸¥ ÀåÄ¡°¡ È°¼ºÈ µÉ ¶§±îÁö ºí·°µÈ´Ù.
ÀÌ·¯ÇÑ Ã¤³ÎÀº ¿©·¯ UML ÀåÄ¡µéÀ» Çϳª¿¡ ¿¬°áÇÒ ¼ö ÀÖ°Ô ÇÏ°í UML ºÎÆ® ·Î±×¸¦ ÀÐÁö ¾Ê°íµµ Á¢±ÙÇÏ´Â ¹æ¹ýÀ» ¾Ë ¼ö ÀÖ°Ô ÇÏ´Â µÎ°¡Áö ÀåÁ¡À» °¡Áø´Ù. ¶ÇÇÑ UML ÀÌ ³×Æ®¿öÅ©¿¡ ¹°·ÁÀÖÁö ¾ÊÀº »óÅ¿¡¼µµ ¿ø°Ý ¸Ó½Å¿¡¼ UML ¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÌ Á¸ÀçÇÑ´Ù. ÀÌ´Â UML ¿¡ °ø°³ÀûÀ¸·Î Á¢±Ù (public access) ÇÒ ¼ö ÀÖµµ·Ï ÇÒ ¶§ À¯¿ëÇÏ°Ô »ç¿ëµÉ ¼ö ÀÖ´Ù. ¿Ö³ÄÇÏ¸é ³×Æ®¿öÅ©¸¦ ÅëÇØ UML¿¡ Á¢±ÙÇÒ ¼ö ÀÖÁö¸¸ UML ÀÚü·Î´Â ³×Æ®¿öÅ©¿¡ ¿¬°áµÇÁö ¾ÊÀº »óÅÂÀ̱⠶§¹®¿¡ ÀÌ¿¡ ´ëÇÑ ¾î¶² ³×Æ®¿öÅ© ÇÊÅ͸µµµ ¼öÇàÇÏÁö ¾Ê±â ¶§¹®ÀÌ´Ù. ¸¸¾à ¸ÞÀÎ ÄܼÖÀ» portal(Æ÷Æ®?) ¿¡ ¿¬°áÇÑ´Ù¸é UML ºÎÆÃÀº ¸ØÃçÀÖ°Ô (hang) µÉ °ÍÀÌ´Ù. ½ÇÁ¦·Î ÀÌ°ÍÀº ÅÚ³Ý Á¢¼ÓÀ» ±â´Ù¸®°Ô µÇ°í Á¢¼ÓÀÌ ÀÌ·ç¾îÁö´Â ½ÃÁ¡¿¡¼ ºÎÆÃÀº °è¼Ó ÁøÇàµÉ °ÍÀÌ´Ù. ssl3=tty:/dev/tty2,xterm /dev/tty2 À» ÅëÇØ ÀÔ·ÂÀ» ¹Þ¾ÆµéÀÌ°í xterm ¿¡ Ãâ·ÂÀ» º¸¿©ÁÙ °ÍÀÌ´Ù. À§ÀÇ ¿¹Á¦´Â ¼³¸íÀ» À§ÇØ µç °ÍÀÏ »ÓÀÌ°í ÀÌ·¯ÇÑ ±â´ÉÀ» ÁÖ·Î »ç¿ëÇÏ´Â °ÍÀº À§¿¡¼ ¼³¸íÇßµíÀÌ ¸ÞÀÎ ÄܼÖÀ» Ç¥ÁØ ÀÔÃâ·ÂÀ¸·Î ´Ù½Ã ÁöÁ¤ÇÒ ¶§ÀÌ´Ù.
¸¸¾à ¸ÞÀÎ ÄܼÖÀ» Ç¥ÁØ ÀÔÃâ·Â¿¡¼ Á¦°ÅÇϱâ·Î Çß´Ù¸é ÃʱâÀÇ ºÎÆ® ¸Þ½ÃÁö´Â UML ÀÌ µ¿ÀÛÇÏ´Â Å͹̳Π»ó¿¡ Ç¥½ÃµÉ °ÍÀÌ´Ù. ÇÏÁö¸¸ ÄÜ¼Ö µå¶óÀ̹ö°¡ Á¤½ÄÀ¸·Î ÃʱâÈ µÇ¸é ºÎÆ® ¸Þ½ÃÁö´Â 0¹ø ÄַܼΠÁöÁ¤ÇÑ °÷À¸·Î Ãâ·ÂµÉ °ÍÀÌ´Ù. ÀÌÈÄÀÇ ¸ðµç Ãâ·ÂÀº ÇØ´ç ÀåÄ¡°¡ ¹Þ°ÔµÉ °ÍÀÌ´Ù.
5.3. ¿¹Á¦ ¶ÀÌ·¯ÇÑ ±â´ÉÀ» ÀÌ¿ëÇØ ÇÒ ¼ö ÀÖ´Â ¸î°¡Áö Èï¹Ì·Î¿î ÀϵéÀÌ ÀÖ´Ù.
¸ÕÀú ¸Þ½ÃÁö°¡ ³ÑÃijª´Â ÄÜ¼Ö Å͹̳Π(bleeding console xterm) À» È£½ºÆ® °¡»ó Å͹̳ο¡ ¿¬°áÇÔÀ¸·Î¼ Á¦°ÅÇÏ´Â ¹æ¹ýÀÌ´Ù:
con=pty con0=fd:0,fd:1 con1=tty:/dev/tty6 ¸ÕÀú ÇϳªÀÇ UML À» pty ¿¡ ¿¬°áµÈ ½Ã¸®¾ó ¶óÀÎÀ¸·Î µ¿ÀÛ½ÃŲ´Ù.
ssl1=pty /dev/ptyp1 À» ¾ò¾ú´Ù°í °¡Á¤ÇÑ´Ù)
¶Ç´Ù¸¥ UML À» ÇØ´çÇÏ´Â tty ¿¡ ½Ã¸®¾ó ¶óÀÎÀ» ¿¬°áÇÏ¿© ºÎÆÃÇÑ´Ù
ssl1=tty:/dev/ttyp1 getty °¡ ¿¬°áµÇ¾î ÀÖÁö ¾ÊÀ½À» È®ÀÎÇÏ°í, minicom °ú °°Àº Å͹̳ΠÇÁ·Î±×·¥À» ÇØ´ç ½Ã¸®¾ó ¶óÀÎÀ¸·Î ¿¬°áÇÏ¸é ´Ù¸¥ °¡»ó ¸Ó½ÅÀÇ ·Î±×ÀÎ ÇÁ·ÒÇÁÆ®¸¦ º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
6. ³×Æ®¿öÅ© ¼³Á¤Çϱ⠶À̹ø Àý¿¡¼´Â ´Ù¾çÇÑ Àü¼Û ¹æ¹ýÀÇ ¼³Á¤°ú UML ÇÁ·Î±×·¥À» È£½ºÆ®³ª ·ÎÄà ³×Æ®¿öÅ© »óÀÇ ´Ù¸¥ ¸Ó½Åµé, ±×¸®°í ÀÎÅÍ³Ý »óÀÇ ¸Ó½Åµé¿¡¼ Á¢±ÙÇÒ ¼ö ÀÖµµ·Ï ¼³Á¤ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.
Ä¿³Î ¹öÀü 2.4.5 ¿¡ À̸£·¯ UML ³×Æ®¿öÅ·Àº ¼³Á¤À» °£ÆíÇÏ°Ô ÇÏ°í ¹ö±×¸¦ ¼öÁ¤ÇÏ°í »õ·Î¿î ±â´ÉÀ» Ãß°¡ÇÏ¿© ¿ÏÀüÈ÷ »õ·Î ¾²¿©Á³´Ù.
»õ·Î¿î ÇïÆÛ ÇÁ·Î±×·¥À¸·Î
uml_net ÀÌ ÀÖ¾î¼, È£½ºÆ®ÀÇ ¼³Á¤À» µµ¿ÍÁÖ¸ç À̸¦ ½ÇÇàÇϱâ À§Çؼ´Â ¼öÆÛ À¯Àú ±ÇÇÑÀÌ ÇÊ¿äÇÏ´Ù.
ÇöÀç´Â UML °¡»ó ¸Ó½ÅÀÌ ´Ù¸¥ È£½ºÆ®¿Í ÆÐŶÀ» ±³È¯Çϱâ À§ÇÑ ¹æ¹ýÀ¸·Î 5 °¡ÁöÀÇ Àü¼Û ŸÀÔÀÌ ÀÖ´Ù:
pcap Àü¼ÛÀº ÅëÇÕÀûÀÎ Àбâ Àü¿ë ÀÎÅÍÆäÀ̽º·Î¼ libpcap ÀÇ ÆÄÀÏÀ» ÀÌ¿ëÇÏ¿© È£½ºÆ®ÀÇ ÀÎÅÍÆäÀ̽º¿¡¼ ÆÐŶÀ» ¸ð¾Æ¼ ÇÊÅ͸µÇÑ´Ù. ÀÌ°ÍÀº ¹Ì¸® ¼³Á¤µÈ Æ®·¡ÇÈ ¸ð´ÏÅͳª ½º´ÏÆÛ¸¦ ±¸ÃàÇϴµ¥ À¯¿ëÇÏ´Ù.
´ë¸ó°ú ¸ÖƼ ij½ºÆ® Àü¼ÛÀº ´Ù¸¥ °¡»ó ¸Ó½Å¿¡ ´ëÇÑ ¿ÏÀüÇÑ °¡»ó ³×Æ®¿öÅ©¸¦ Á¦°øÇÑ´Ù. ÀÌ·¯ÇÑ ³×Æ®¿öÅ©´Â ÇϳªÀÇ °¡»ó ¸Ó½ÅÀÌ °ÔÀÌÆ® ¿þÀ̷μ µ¿ÀÛÇÏÁö ¾Ê´Â ÇÑ ½ÇÁ¦ÀÇ ³×Æ®¿öÅ©¿Í ¿ÏÀüÈ÷ ºÐ¸®µÈ´Ù.
ÀÌ·¸°Ô ¸¹Àº Àü¼Û ŸÀÔ Áß¿¡¼ ¾î¶°ÇÑ °ÍÀ» »ç¿ëÇÏ¿©¾ß ÇÒ±î? ¿©±â¿¡ °¢ »óȲ¿¡ ¸Â°Ô »ç¿ëÇÒ ¼ö Àִ ŸÀÔ¿¡ ´ëÇÑ ¼³¸íÀÌ ÀÖ´Ù:
6.1. ÀÏ¹Ý ¼³Á¤ ¶¸ÕÀú UML ³»ÀÇ °¡»ó ³×Æ®¿öÅ©¸¦ ¼³Á¤ÇØ¾ß ÇÑ´Ù. ÀÌ ½ÎÀÌÆ®¿¡¼ ¹Ì¸® ºôµåµÈ Ä¿³ÎÀ» ¹Þ¾Æ¼ »ç¿ëÇÑ´Ù¸é ÀÌ¹Ì ¸ðµç °ÍÀÌ ¼³Á¤µÇ¾î ÀÖÀ» °ÍÀÌ´Ù. ¸¸¾à ½º½º·Î Ä¿³ÎÀ» ºôµåÇÏ´Â °æ¿ì¶ó¸é "Network device menu" ¾Æ·¡ÀÇ "Network device menu" °ú ¼¼°¡Áö Àü¼Û ŸÀÔ¿¡ ´ëÇÑ ¿É¼ÇÀ» ¼±ÅÃÇÏÀÚ.
´ÙÀ½ ´Ü°è´Â °¡»ó ¸Ó½Å¿¡°Ô ³×Æ®¿öÅ© ÀåÄ¡¸¦ Á¦°øÇÏ´Â ÀÏÀÌ´Ù. ÀÌ°ÍÀº Ä¿³ÎÀÇ ¸í·ÉÇà ¿É¼ÇÀ» ÅëÇØ °¡´ÉÇϸç ÀϹÝÀûÀÎ ÇüÅ´ ¾Æ·¡¿Í °°´Ù:
eth <n> = <Àü¼Û ŸÀÔ> , <Àü¼Û ŸÀÔ¿¡ µû¸¥ ÀÎÀÚ> eth0=ethertap,tap0,fe:fd:0:0:0:1,192.168.0.254 /dev/tap0 ÀåÄ¡¿¡ ¿¬°áÇÏ°í, eth0 ÀåÄ¡ÀÇ ÀÌ´õ³Ý ÁÖ¼Ò¿Í È£½ºÆ®ÀÇ tap0 ÀåÄ¡ÀÇ IP ÁÖ¼Ò¸¦ ÇÒ´çÇÑ´Ù.
¿©±â¼ ÁÖÀÇÇÒ °ÍÀº È£½ºÆ® ÃøÀÇ tap ÀåÄ¡¿¡ ÇÒ´çÇÑ IP ÁÖ¼Ò¿Í UML ³»ÀÇ eth ÀåÄ¡¿¡ ÇÒ´çÇÑ IP ÁÖ¼Ò°¡ ¹Ýµå½Ã ´Þ¶ó¾ß ÇÑ´Ù´Â Á¡ÀÌ´Ù. ¸¸¾à IP ÁÖ¼Ò°¡ ºÎÁ·ÇÏ¿© UML ´ç 2 °³ÀÇ IP ÁÖ¼Ò¸¦ ÇÒ´çÇÏ°í ½ÍÁö ¾ÊÀº °æ¿ì¿¡´Â È£½ºÆ® ÃøÀÇ tap ÀåÄ¡¿¡ È£½ºÆ®ÀÌ eth ÀåÄ¡¿Í °°Àº IP ÁÖ¼Ò¸¦ ÇÒ´çÇÒ ¼ö ÀÖ´Ù. ³»ºÎÀûÀ¸·Î °¢°¢ÀÇ UML Àº ÀÚ½ÅÀÇ eth ÀåÄ¡¿¡ ´ëÇØ °íÀ¯ÇÑ IP ÁÖ¼Ò¸¦ °¡Á®¾ß ÇÑ´Ù. ¶ÇÇÑ UML ÀåÄ¡¿¡°Ô »ç¼³ IP (192.168.x.x ȤÀº 10.x.x.x) ¸¦ ÇÒ´çÇÏ°í È£½ºÆ®¿¡¼ À̸¦ ¸Å½ºÄ¿·¹À̵ù(masquerading) ÇÏ´Â ¹æ¹ýµµ °¡´ÉÇÏ´Ù. ÀÌ ¹æ¹ýÀ» ÀÌ¿ëÇÏ¸é ¿ÜºÎ·Î ³ª°¡´Â ÆÐŶ¿¡ ´ëÇؼ´Â Àß µ¿ÀÛÇÏÁö¸¸ Æ÷Æ® Æ÷¿öµù°ú °°ÀÌ ³»ºÎ·Î µé¾î¿À´Â ÆÐŶ¿¡ ´ëÇؼ´Â µ¿ÀÛÇÏÁö ¾Ê°Ô µÈ´Ù.
±×¸®°í È£½ºÆ® ÃøÀÇ ÀåÄ¡µéÀ» ¼³Á¤ÇÒ ¶§´Â, ±×°ÍÀÌ °ÔÀÌÆ® ¿þÀÌ·Î µ¿ÀÛÇÑ´Ù´Â °ÍÀ» ¸í½ÉÇÏÀÚ. ÇØ´ç ÀåÄ¡¿¡ ´ëÇØ ·ÎÄÿ¡¼ ping À» º¸³»¸é ÀÀ´äÀ» ÇÏÁö¸¸, ÀÌ°ÍÀº È£½ºÆ® ÀåÄ¡À̱⠶§¹®¿¡ ¾Æ¹« Àǹ̰¡ ¾ø´Ù. Áï, ÀÌ ÀåÄ¡¸¦ ÅëÇØ ping À» º¸³»´õ¶óµµ UML °ú Åë½ÅÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó´Â ¸»ÀÌ´Ù.
¶ÇÇÑ UML ÀÌ µ¿ÀÛÇÏ´Â Áß¿¡µµ µ¿ÀûÀ¸·Î ÀåÄ¡¸¦ Ãß°¡Çϰųª Á¦°ÅÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº °ü¸® ÄÜ¼Ö ºÎºÐÀ» ÂüÁ¶Çϱ⠹ٶõ´Ù.
´ÙÀ½¿¡ ³ª¿À´Â Àý¿¡¼´Â °¢°¢ÀÇ ¹æ¹ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀ» ÇÒ °ÍÀÌ´Ù.
ÀÏ´Ü ÀåÄ¡¸¦ ¾î¶»°Ô ¼³Á¤ÇÒ Áö °áÁ¤Çß´Ù¸é, UML À» ºÎÆýÃÅ°°í ·Î±×ÀÎ ÇÏ¿© UML ÃøÀÇ ÀåÄ¡¸¦ ¼³Á¤ÇÑ µÚ, ¿ÜºÎ·Î ³ª°¡´Â ¶ó¿ìÆà Á¤º¸¸¦ ¼³Á¤ÇÑ´Ù. ÀÌ ¶§ºÎÅÍ ³×Æ®¿öÅ© »óÀÇ ´Ù¸¥ ¸Ó½Åµé(°¡»óÀÌ°Ç ½ÇÁ¦ ¸Ó½ÅÀÌ°Ç)°ú Åë½ÅÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
¸¸¾à UML ³»ÀÇ
ifconfig ¸í·ÉÀÌ ½ÇÆÐÇÏ°í ³×Æ®¿öÅ© ±â´ÉÀÌ µ¿ÀÛÇÏÁö ¾Ê´Â´Ù¸é, dmesg ¸í·ÉÀ» ½ÇÇàÇÏ¿© ¸Ç ¸¶Áö¸· ºÎºÐÀÇ Ä¿³Î ·Î±×¸¦ »ìÆ캸±â ¹Ù¶õ´Ù. º¸ÅëÀÇ ¹®Á¦µéÀº ¿©±â¿¡¼ ¿øÀÎÀ» ãÀ» ¼ö ÀÖÀ» °ÍÀÌ´Ù.
6.2. »ç¿ëÀÚ ¿µ¿ª µ¥¸ó ¶¾Æ¸¶µµ setuid µµ¿ì¹Ì ÇÁ·Î±×·¥À̳ª, ½ºÀ§Ä¡ µ¥¸ó, ȤÀº µÑ ´Ù°¡ ÇÊ¿äÇÒ °ÍÀÌ´Ù. À̵éÀº RPM °ú deb ¸¦ ÅëÇØ ¼³Ä¡µÇ¹Ç·Î, µÑ ÁßÀÇ Çϳª¸¦ ÅëÇØ ¼³Ä¡Çß´Ù¸é ÀÌ ÀýÀÇ ³ª¸ÓÁö ºÎºÐÀº °Ç³Ê¶Ù¾îµµ ÁÁ´Ù.
±×·¸Áö ¾Ê´Ù¸é CVS ¿¡¼ üũ ¾Æ¿ôÇؼ ºôµåÇÑ ÈÄ¿¡ ¼³Ä¡ÇØ¾ß ÇÑ´Ù. µµ¿ì¹Ì ÇÁ·Î±×·¥Àº
uml_net ÀÌ°í CVS ³»ÀÇ /tools/uml_net ¿¡¼ ¹ÞÀ» ¼ö ÀÖÀ¸¸ç, ½ºÀ§Ä¡ µ¥¸óÀº uml_switch ÀÌ°í CVS ³»ÀÇ /tools/uml_router ¿¡¼ ¹ÞÀ» ¼ö ÀÖ´Ù. À̵éÀº ¸ðµÎ ´Ü¼øÈ÷ make ¸í·ÉÀ» ÅëÇؼ ºôµåµÈ´Ù. À̵éÀº ´ç½ÅÀÇ path ¿¡ ÁöÁ¤µÈ µð·ºÅ丮 ³»¿¡ ¼³Ä¡µÇ¾î¾ß ÇÑ´Ù - /usr/bin À» Ãßõ. ±×¸®°í ¹«¾ùº¸´Ù uml_net Àº setuid root ±ÇÇÑÀÌ ÇÊ¿äÇÏ´Ù.
6.3. ÀÌ´õ³Ý ÁÖ¼Ò ÁöÁ¤Çϱ⠶ÀÌÈÄÀÇ TUN/TAP, ethertap, µ¥¸ó ÀÎÅÍÆäÀ̽º¿¡ ´ëÇÑ ºÎºÐ¿¡¼ °¡»óÀÇ ÀÌ´õ³Ý ÀåÄ¡¿¡ ´ëÇØ Çϵå¿þ¾î ÁÖ¼Ò¸¦ ÁöÁ¤ÇÏ´Â °ÍÀ» º¸°Ô µÉ °ÍÀÌ´Ù. ÀÌ°ÍÀº ÀϹÝÀûÀ¸·Î ºÒÇÊ¿äÇÑ ºÎºÐÀÌ´Ù. ¸¸¾à Çϵå¿þ¾î ÁÖ¼Ò¸¦ ÁöÁ¤ÇØ¾ß Çϴ Ưº°ÇÑ ÀÌÀ¯¸¦ °¡Áö°í ÀÖÁö¸¸ ¾Ê´Ù¸é ÁöÁ¤ÇÏÁö ¸»¾Æ¾ß ÇÑ´Ù. ¸í·ÉÇà¿¡¼ Çϵå¿þ¾î ÁÖ¼Ò¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é µå¶óÀ̹ö´Â ÀåÄ¡ÀÇ IP ÁÖ¼Ò¸¦ ÅëÇØ ÀÚµ¿ÀûÀ¸·Î Çϵå¿þ¾î ÁÖ¼Ò¸¦ ÇÒ´çÇÑ´Ù. ¸¸¾à ÀåÄ¡ÀÇ IP ÁÖ¼Ò°¡
nn.nn.nn.nn ÀÎ °æ¿ì¿¡´Â fe:fd:nn:nn:nn:nn ¿Í °°Àº ÇüÅ·ΠÁÖ¼Ò°¡ ÇÒ´çµÈ´Ù. °ÅÀÇ ´ëºÎºÐÀÇ °æ¿ì ÀÌ ¹æ¹ýÀ» ÅëÇØ ÀåÄ¡¿¡°Ô °íÀ¯ÇÑ Çϵå¿þ¾î ÁÖ¼Ò¸¦ ºÎ¿©ÇÏ´Â °ÍÀÌ °¡´ÉÇÏÁö¸¸ ´ÙÀ½°ú °°Àº ¿¹¿Ü »çÇ×ÀÌ ÀÖ´Ù:
UML# ifconfig eth0 192.168.0.250 up 6.4. UML ÀÎÅÍÆäÀ̽º ¼³Á¤ ¶ÀÏ´Ü ³×Æ®¿öÅ© ÀåÄ¡°¡ ¸í·ÉÇà ¿É¼ÇÀ¸·Î ÁöÁ¤µÇ¸é UML À» ºÎÆÃÇÏ°í ·Î±×ÀÎ ÇÑ´Ù.
¸ÕÀú ÀåÄ¡¸¦ ½ÃÀÛ½ÃŲ´Ù.
UML# ifconfig ethn ip-address up ¿ÜºÎÀÇ ³×Æ®¿öÅ©¿¡ ¿¬°áÇϱâ À§Çؼ´Â ±âº» ¶ó¿ìÅ͸¦ È£½ºÆ®·Î ¼³Á¤ÇÑ´Ù.
UML# route add default gw <È£½ºÆ®ÀÇ IP ÁÖ¼Ò> UML# route add default gw 192.168.0.4 ÁÖÀÇ: ¸¸¾à ½ÇÁ¦ ÀÌ´õ³Ý »óÀÇ ´Ù¸¥ È£½ºÆ®µé°ú Åë½ÅÇÒ ¼ö ¾ø´Ù¸é, ¾Æ¸¶µµ ÀÚµ¿ ¼³Á¤µÈ ³×Æ®¿öÅ© ¶ó¿ìÆ® Á¤º¸ ¶§¹®ÀÏ °ÍÀÌ´Ù.
route -n ¸í·ÉÀ» ½ÇÇàÇÏ¸é ´ÙÀ½°ú °°Àº ³»¿ëÀÌ Ç¥½ÃµÈ´Ù:
Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 UML# route del -net 192.168.0.0 dev eth0 netmask 255.255.255.0 UML# route add -host 192.168.0.4 dev eth0 6.5. ¸ÖƼij½ºÆ® ¶¿©·¯ °³ÀÇ UML °£ÀÇ °¡»ó ³×Æ®¿öÅ©¸¦ ¼³Á¤ÇÏ´Â °¡»ó ½¬¿î ¹æ¹ýÀº ¸ÖƼij½ºÆ® Àü¼ÛÀ» ÀÌ¿ëÇÏ´Â °ÍÀÌ´Ù. ÀÌ°ÍÀº Harald Welte °¡ ÀÛ¼ºÇÏ¿´À¸¸ç, UML ¹öÀü 2.4.5-5um ÀÌÈÄ¿¡¼ »ç¿ë°¡´ÉÇÏ´Ù. À̸¦ À§Çؼ´Â ½Ã½ºÅÛÀÇ Ä¿³ÎÀÌ ¸ÖƼij½ºÆ®¸¦ Áö¿øÇØ¾ß Çϸç È£½ºÆ®ÀÇ ³×Æ®¿öÅ© ÀåÄ¡¿¡¼µµ ¸ÖƼij½ºÆ®¸¦ Áö¿øÇØ¾ß ÇÑ´Ù. ¿©±â¿¡¼´Â eth0 À» °¡Áö°í ¼³¸íÇßÁö¸¸ ÀϹÝÀûÀ¸·Î È£½ºÆ® ³»¿¡ ÀÌ´õ³Ý ÀåÄ¡°¡ ¾ø´Â °æ¿ì¿¡´Â UML »ó¿¡¼ ÀåÄ¡¸¦ È°¼ºÈ ½Ãų ¶§ (bring up) ÀÌ»óÇÑ ¿¡·¯ ¸Þ½ÃÁö¸¦ º¸°Ô µÉ °ÍÀÌ´Ù.
À̸¦ »ç¿ëÇϱâ À§Çؼ´Â ´ÙÀ½°ú °°Àº ¸í·ÉÇà ¿É¼ÇÀ» ÁÖ¾î UML À» ½ÃÀÛÇÑ´Ù:
eth0=mcast UML1# ifconfig eth0 192.168.0.254 UML2# ifconfig eth0 192.168.0.253 ÀÌ Àü¼Û ŸÀÔ¿¡ ´ëÇÑ ¿ÏÀüÇÑ ¸í·ÉÇà ¿É¼ÇÀº ´ÙÀ½°ú °°´Ù:
ethn=mcast,<ÀÌ´õ³Ý ÁÖ¼Ò>,<¸ÖƼij½ºÆ® ÁÖ¼Ò>,<¸ÖƼij½ºÆ® Æ÷Æ®>,ttl 6.6. uml_helper ¸¦ ÀÌ¿ëÇÑ TUN/TAP ¶TUN/TAP Àº 2.4 ¹öÀü¿¡¼ È£½ºÆ®¿Í Åë½ÅÇÏ´Â °æ¿ì¿¡ »ç¿ëÇÏ´Â ´õ ³ªÀº ¹æ¹ýÀÌ´Ù. TUN/TAP ¹é¿£µå´Â 2.4.9-3um ¹öÀüºÎÅÍ UML ³»¿¡ Æ÷ÇԵǾú´Ù.
ÀÌ°ÍÀ» ¼³Á¤ÇÏ°í µ¿ÀÛ½ÃÅ°´Â °¡Àå ½¬¿î ¹æ¹ýÀº setuid °¡ ¼³Á¤µÈ
uml_net À̶ó´Â µµ¿ì¹Ì ÇÁ·Î±×·¥À» ÀÌ¿ëÇÏ¿© È£½ºÆ®¸¦ ¼³Á¤ÇÏ´Â °ÍÀÌ´Ù. ÀÌ°ÍÀº ÇÊ¿äÇÑ °æ¿ì tun.o ¸ðµâÀ» insmod ÇÏ°í, ÀåÄ¡¸¦ ¼³Á¤ÇÑ ÈÄ¿¡ IP Æ÷¿öµù, ¶ó¿ìÆÃ, ÇÁ·Ï½Ã arp µîÀ» ¼³Á¤ÇÑ´Ù. óÀ½ UML ³×Æ®¿öÅ·À» »ç¿ëÇÏ´Â °æ¿ì¿¡´Â ¸ÕÀú ÀÌ ¹æ¹ýÀ» »ç¿ëÇϱ⸦ ±ÇÇÑ´Ù. ¸¸¾à ÀÌ setuid µµ¿ò¹Ì ÇÁ·Î±×·¥À¸·Î ÀÎÇÑ º¸¾È »óÀÇ ¹®Á¦¸¦ °í·ÁÇÏ´Â °æ¿ì¿¡´Â, ¿ì¼± À̸¦ ÀÌ¿ëÇÏ¿© ¼³Á¤ ÀÛ¾÷°ú µ¿ÀÛÀ» ½ÃŲ ÈÄ, ´ÙÀ½ Àý¿¡ ³ª¿À´Â uml_net À» »ç¿ëÇÏÁö ¾Ê°í ¹Ì¸® ¼³Á¤µÈ tap ÀåÄ¡¸¦ »ç¿ëÇÏ´Â ¹ýÀ» Àо±â ¹Ù¶õ´Ù.
¸¸¾à È£½ºÆ® Ãø ÀåÄ¡ÀÇ IP ÁÖ¼Ò¸¦ ÁöÁ¤ÇÑ °æ¿ì¿¡´Â,
uml_net µµ¿ì¹Ì ÇÁ·Î±×·¥Àº È£½ºÆ® ¼³Á¤¿¡ ÇÊ¿äÇÑ ¸ðµç ÀÛ¾÷À» ó¸®ÇØ ÁÙ °ÍÀÌ´Ù - ¿ÀÁ÷ ÇÊ¿äÇÑ °ÍÀº Ä¿³Î¿¡ Æ÷ÇÔµÈ ÇüÅÂÀ̵ç tun.o ¸ðµâÀÇ ÇüÅÂÀ̵ç Ä¿³Î¿¡¼ TUN/TAP À» »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ¼³Á¤ÇÏ´Â ÀÏÀÌ´Ù.
TUN/TAP ÀåÄ¡¿¡ ÀåÄ¡¸¦ ¿¬°áÇÏ´Â ¸í·ÉÇà ¿É¼ÇÀº ´ÙÀ½°ú °°´Ù:
eth <n> =tuntap,,, <È£½ºÆ® IP ÁÖ¼Ò> ifconfig ·Î ÇÒ´çÇÑ IP ÁÖ¼Ò¸¦ ±â¹ÝÀ¸·Î ÇÏ¿© ÀÌ´õ³Ý ÁÖ¼Ò¸¦ ÇÒ´çÇÑ´Ù.
eth0=tuntap,,,192.168.0.254 uml_net À» »ç¿ëÇÑ °æ¿ì¿¡´Â UML ÀÇ IP ÁÖ¼Ò¸¦ ¹Ù²Ù°Ô µÇ¸é uml_net Àº ¸ÅÄ¡¸¦ À§ÇÑ È£½ºÆ®ÀÇ ¶ó¿ìÆà Á¤º¸¿Í arp Á¤º¸¸¦ ¹Ù²Ù°Ô µÈ´Ù. ±×·¡¼ UML ³»¿¡ ¾ÇÀÇ°¡ ÀÖ´Â »ç¿ëÀÚ°¡ ÀÖ´Â °æ¿ì, uml_net À» »ç¿ëÇÏ´Â °ÍÀº À§ÇèÀÇ ¿ä¼Ò¸¦ Æ÷ÇÔÇÏ°Ô µÈ´Ù. uml_net À» »ç¿ëÇÏ´Â °ÍÀº Æí¸®ÇÏÁö¸¸
UML À» ³×ÀÓ ¼¹ö³ª ¸ÞÀÏ ¼¹öó·³ º¸ÀÌ°Ô ÇÒ ¼öµµ ÀÖ´Ù. ÀÌ °æ¿ì È£½ºÆ®´Â ¿©ÀüÈ÷ ±×·¯ÇÑ ¼¹ö¿¡°Ô ÆÐŶÀ» º¸³»·Á°í ÇÏÁö¸¸ ÀÌ´Â UML ·Î Àü´ÞµÉ °ÍÀÌ´Ù. º¸¾ÈÀ» °í·ÁÇÏ¿© ³×Æ®¿öÅ©¸¦ ¼³Á¤ÇÏ·Á°í ÇÑ´Ù¸é ´ÙÀ½ ÀýÀ» Àо±â ¹Ù¶õ´Ù.
2.4 ¹öÀüÀÇ È£½ºÆ® Ä¿³Î¿¡¼ TUN/TAP Àü¼ÛÀ» »ç¿ëÇÏ´Â °Í¿¡´Â µÎ °¡ÁöÀÇ ÀáÀçÀûÀÎ ¹®Á¦Á¡ÀÌ ³²¾Æ ÀÖ´Ù:
|