Qemu Networking
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

¼Ò°³

°¡»óÈ­¿¡ ÁÖ·Î »ç¿ëÇÏ´Â ÅøµéÀÌ Xen, VMware, Virtualbox µîÀ¸·Î Qemu¿Í °¡»óÈ­´Â º°·Î »ó°üÀÌ ¾ø´Â °Í °°¾Æ º¸ÀÔ´Ï´Ù. ±×³É º¯µÎ¸®¿¡¼­ »ç¿ëÇÏ´Â °ø°³ °¡»óÈ­ Åø Á¤µµ·Î »ý°¢ÇÒ ¼öµµ ÀÖ°Ú°í, öÁö³­ °í´ëÀÇ °¡»óÈ­ Åø Á¤µµ·Î »ý°¢ÇÒ ¼öµµ ÀÖÀ» °Í °°½À´Ï´Ù.

óÀ½¿£ Àú ¿ª½Ã ±×·¸°Ô »ý°¢Çß½À´Ï´Ù¸¸ Xen, KVMÀ» °øºÎÇÏ´Ù º¸´Ï Qemu¸¦ ¸¸³ª°Ô µÇ´õ±º¿ä. Xen, KVMÀÇ Àü°¡»óÈ­°¡ Qemu¸¦ ±â¹ÝÀ¸·Î Çϰí Àֱ⠶§¹®ÀÔ´Ï´Ù. ¿î¿µÃ¼Á¦ ·¹º§ °¡»óÈ­ ÅøÀÎ virtualboxµµ Qemu¸¦ ±â¹ÝÀ¸·Î Çϰí ÀÖ°í, gns3 °°Àº ³×Æ®¿öÅ© ½Ã¹Ä·¹ÀÌ¼Ç ÇÁ·Î±×·¥µµ Qemu¸¦ ±â¹ÝÀ¸·Î Çϰí ÀÖ´õ±º¿ä. Àü°¡»óÈ­ ÂÊÀ» º¸·Á¸é ÁÁµç ½Èµç Qemu¸¦ ¸¸³ª°Ô µË´Ï´Ù.

±×·¡ ÀÌ¿Õ ÀÌ·¸°Ô µÈ°Å Çѹø °øºÎÇØº¸ÀÚ ÇØ¼­ Qemu¸¦ ½ÃÀÛÇÏ°Ô µÆ½À´Ï´Ù. À̹øÀº µÎ¹øÂ° ½Ã°£À¸·Î QemuÀÇ networkÀÔ´Ï´Ù.

ȯ°æ

ÀÌ ¹®¼­ÀÇ ³»¿ëÀº ¾Æ·¡ÀÇ È¯°æ¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù.
  • Host ¿î¿µÃ¼Á¦ : ubuntu 11.10
  • kernel : 3.0.9
  • °Ô½ºÆ® ¿î¿µÃ¼Á¦ : ubuntu 11.04-server-i386

¿É¼Çµé


-net ¿É¼ÇÀ» ÀÌ¿ëÇØ¼­ ³×Æ®¿öÅ© Ä«µå¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ³×Æ®¿öÅ© ¼³Á¤À» À§Çؼ­´Â µÎ°³ÀÇ -net ¿É¼ÇÀ» ÀÌ¿ëÇØ¾ß ÇÑ´Ù. ±âº» °ªÀº -net nic -net user ÀÌ´Ù.

vlan ¼³Á¤Àº ´ÙÀ½°ú °°´Ù.
-net nic,vlan=1 -net user,vlan=1 
 
ÀÌÁ¦ ÀÌ ³×Æ®¿öÅ©´Â VID¸¦ 1·Î ÇÏ´Â VLANÀ¸·Î ±¸¼ºµÈ´Ù.

°Ô½ºÆ® ¿î¿µÃ¼Á¦¿¡¼­ »ç¿ëÇÒ ³×Æ®¿öÅ© Ä«µåÀÇ Á¾·ù¸¦ ÁöÁ¤ÇÒ ¼öµµ ÀÖ´Ù.
-net nic,mode=ne2k_pci -net user 
-net nic,mode=rtl8139 -net user 
-net nic,mode=pcnet -net user 
 
³×Æ®¿öÅ© Ä«µå¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀ» °æ¿ì rtl8139°¡ ÁöÁ¤µÈ´Ù.

Ubuntu 11.04¸¦ -net nic -net user ¿É¼ÇÀ¸·Î ¿Ã¸°´ÙÀ½ ³×Æ®¿öÅ© Ä«µåÁ¤º¸¸¦ È®ÀÎÇÑ °á°ú´Ù. lshw´Â ¸ðµç Çϵå¿þ¾î Á¤º¸¸¦ º¸¿©ÁÖ´Â ¸®´ª½º ÇÁ·Î±×·¥ÀÌ´Ù.
# lshw 
..... 
       *-network 
           description: Ethernet interface 
           product: RTL-8139/8139C/8139C+ 
           vecdor: Realtek Semiconductior Co., Ltd. 
           physical id: 3 
           bus info: pci@0000:00:03.0 
           logical name: eth0 
           version: 20 
           serial: 52:54:00:12:34:56 
           size: 100Mbit/s 
           capacity: 100Mbit/s 
           width: 32bits 
           clock: 33MHZ 
.... 
 

Áö¿øÇÏ´Â ³×Æ®¿öÅ© Ä«µå

NE2000 PCI, NE2000 ISA, RTL 8139, PCNETÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. -net nic,modelÀ» ÀÌ¿ëÇØ¼­ °Ô½ºÆ® ¿î¿µÃ¼Á¦¿¡ Á¦°øÇÒ ³×Æ®¿öÅ© Ä«µå¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.
-net nic,model=ne2k_pci -net user 
-net nic,model=ntl8139 -net user 
-net nic,model=pcnet -net user 
 

ISA Ä«µå¸¦ »ç¿ëÇÒ °æ¿ì -M ¿É¼ÇÀ» ÀÌ¿ëÇØ¾ß ÇÑ´Ù.

ÀÚµ¿ ¼³Á¤

NE2000 PCIÄ«µå´Â Qemu 0.6.0ºÎÅÍ Áö¿øÇϰí ÀÖ´Ù. °Ô½ºÆ® ¿î¿µÃ¼Á¦°¡ NE2000À» Áö¿øÇÑ´Ù¸é ÀÚµ¿À¸·Î µå¶óÀ̹ö°¡ ¿Ã¶ó°¥ °ÍÀÌ´Ù. ±×¸®°í DHCP Ŭ¶óÀÌ¾ðÆ®°¡ ÀÚµ¿À¸·Î IP±îÁö ¼³Á¤ÇÒ °ÍÀÌ´Ù. ¿äÁò ³ª¿À´Â ¸®´ª½º´Â NE2000À» ±âº»À¸·Î Áö¿øÇÏÁö¸¸ Ȥ½Ã NE2000À» ÀνÄÇÏÁö ¸øÇÑ´Ù¸é, ¼öµ¿À¸·Î ¸ðµâÀ» ¿Ã·ÁÁà¾ß ÇÑ´Ù.
$ modprobe ne2k-pci 
$ dhclient eth0 
 

±âº» ³×Æ®¿öÅ© ȯ°æ Å×½ºÆ®

-net nic,model-ne2k_pci -net user ¿É¼ÇÀ¸·Î °Ô½ºÆ® ¿î¿µÃ¼Á¦¸¦ ½ÇÇàÇÑ ÈÄ ¸ðµâÀ» È®ÀÎÇß´Ù.
# lsmod 
Module                  Size  Used by 
ppdev                  12849  0  
psmouse                59039  0  
parport_pc             32111  1  
serio_raw              12990  0  
i2c_piix4              13095  0  
lp                     13349  0  
parport                36746  3 ppdev,parport_pc,lp 
floppy                 60032  0  
ne2k_pci               13389  0  
8390                   18429  1 ne2k_pci 
 

irq´Â 11À̰í io ¸Þ¸ð¸® ÁÖ¼Ò´Â 0xc100ÀÌ´Ù.
# cat /proc/interrupts 
           CPU0        
  0:         58   IO-APIC-edge      timer 
  1:       1281   IO-APIC-edge      i8042 
  6:          2   IO-APIC-edge      floppy 
  7:          0   IO-APIC-edge      parport0 
  8:          1   IO-APIC-edge      rtc0 
  9:          0   IO-APIC-fasteoi   acpi 
 11:        728   IO-APIC-fasteoi   eth0 
 12:       4598   IO-APIC-edge      i8042 
 14:       2072   IO-APIC-edge      ata_piix 
 15:         58   IO-APIC-edge      ata_piix 
NMI:          0   Non-maskable interrupts 
LOC:      55062   Local timer interrupts 
SPU:          0   Spurious interrupts 
PMI:          0   Performance monitoring interrupts 
 

# cat /proc/ioports 
0000-001f : dma1 
0020-0021 : pic1 
0040-0043 : timer0 
0050-0053 : timer1 
0060-0060 : keyboard 
0064-0064 : keyboard 
0070-0071 : rtc0 
0080-008f : dma page reg 
00a0-00a1 : pic2 
00c0-00df : dma2 
00f0-00ff : fpu 
c000-c00f : 0000:00:01.1 
  c000-c00f : ata_piix 
c100-c1ff : 0000:00:03.0 
  c100-c11f : ne2k-pci 
 

³×Æ®¿öÅ© Ä«µå ¼³Á¤ Á¤º¸
# ifconfig 
eth0      Link encap:Ethernet  HWaddr 52:54:00:12:34:56   
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0 
          inet6 addr: fe80::5054:ff:fe12:3456/64 Scope:Link 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 
          RX packets:310 errors:0 dropped:0 overruns:0 frame:0 
          TX packets:362 errors:0 dropped:0 overruns:0 carrier:0 
          collisions:0 txqueuelen:1000  
          RX bytes:43315 (43.3 KB)  TX bytes:44761 (44.7 KB) 
          Interrupt:11 Base address:0xc100  
 
lo        Link encap:Local Loopback   
          inet addr:127.0.0.1  Mask:255.0.0.0 
          inet6 addr: ::1/128 Scope:Host 
          UP LOOPBACK RUNNING  MTU:16436  Metric:1 
          RX packets:2 errors:0 dropped:0 overruns:0 frame:0 
          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0 
          collisions:0 txqueuelen:0  
          RX bytes:224 (224.0 B)  TX bytes:224 (224.0 B) 
 
 

¶ó¿ìÆÃ Å×À̺í Á¤º¸
# route -n 
Kernel IP routing table 
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface 
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0 
0.0.0.0         10.0.2.2        0.0.0.0         UG    100    0        0 eth0 
 

°ÔÀÌÆ®¿þÀÌ·Î ping
# ping 10.0.2.2 
PING 10.0.2.2 (10.0.2.2) 56(84) bytes of data. 
64 bytes from 10.0.2.2: icmp_req=1 ttl=255 time=0.497 ms 
64 bytes from 10.0.2.2: icmp_req=2 ttl=255 time=1.38 ms 
64 bytes from 10.0.2.2: icmp_req=3 ttl=255 time=1.41 ms 
 
--- 10.0.2.2 ping statistics --- 
3 packets transmitted, 3 received, 0% packet loss, time 2000ms 
rtt min/avg/max/mdev = 0.497/1.100/1.414/0.426 ms 
 

DNS ¼­¹ö ÁÖ¼Ò

µµ¸ÞÀÎ ÁÖ¼Ò¸¦ »ç¿ëÇÏ·Á¸é DNS ¼­¹ö¸¦ ¼³Á¤ÇØ¾ß ÇÑ´Ù. /etc/resolv.conf¿¡ »ç¿ëÇÒ DNS ¼­¹ö¸¦ ³ª¿­ÇÏ¸é µÈ´Ù. ±âº» ÁÖ¼Ò´Â 10.0.2.3 À¸·Î È£½ºÆ® ¿î¿µÃ¼Á¦´Ù.

Qemu Network

Redirecting ports

Qemu´Â °Ô½ºÆ® ¿î¿µÃ¼Á¦¿¡ ´ëÇÑ Æ÷Æ® ¸®´ÙÀÌ·ºÆ® ±â´ÉÀ» Á¦°øÇÑ´Ù. ÀÌ ±â´ÉÀ» ÀÌ¿ëÇϸé È£½ºÆ® ¿î¿µÃ¼Á¦ÀÇ Æ÷Æ®¿¡ Á¢¼ÓÇÏ´Â °ÍÀ¸·Î °Ô½ºÆ® ¿î¿µÃ¼Á¦¿¡ Á¢¼ÓÇÒ ¼ö ÀÖ´Ù.

°Ô½ºÆ® ¿î¿µÃ¼Á¦·Î Ubuntu¸¦ ½ÇÇà Çß´Ù. ÀÌ °Ô½ºÆ® ¿î¿µÃ¼Á¦ÀÇ ¾ÆÀÌÇÇ´Â 10.0.2.15À¸·Î, È£½ºÆ® ¿î¿µÃ¼Á¦¿¡¼­´Â Á÷Á¢ Á¢±ÙÇÒ ¼ö°¡ ¾ø´Ù. ¿¹ÄÁµ¥ °Ô½ºÆ® ¿î¿µÃ¼Á¦¸¦ Á¦¾îÇϱâ À§Çؼ­ ssh ¿¬°áÀ» ÇÒ ¼ö ¾ø´Ù. Æ÷Æ® ¸®´ÙÀÌ·ºÆ® ±â´ÉÀ» °£´ÜÇÏ°Ô °Ô½ºÆ® ¿î¿µÃ¼Á¦·Î Á¢±ÙÇÒ ¼ö ÀÖ´Ù.
# qemu-system-i386 -k en-us -hda ubuntu11-server.vhd -redir tcp:5555::22 
 
È£½ºÆ® ¿î¿µÃ¼Á¦ÀÇ 5555¹ø Æ÷Æ®¸¦ °Ô½ºÆ® ¿î¿µÃ¼Á¦ÀÇ 22¹øÈ£Æ®·Î ¸®´ÙÀÌ·ºÆ® Çß´Ù. ÀÌÁ¦ È£½ºÆ® ¿î¿µÃ¼Á¦ÀÇ 5555¹ø Æ÷Æ®·Î Á¢±ÙÇÏ´Â °ÍÀ¸·Î °Ô½ºÆ® ¿î¿µÃ¼Á¦ÀÇ 22¹ø Æ÷Æ®¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Ù.
# ssh localhost -p 5555 
yundream@localhost's password:  
Welcome to Ubuntu 11.04 (GNU/Linux 2.6.38-8-generic-pae i686) 
 
 * Documentation:  https://help.ubuntu.com/ 
 
  System information as of Tue Dec 13 22:42:59 KST 2011 
 
  System load:  0.0               Processes:           64 
  Usage of /:   22.7% of 3.27GB   Users logged in:     1 
  Memory usage: 8%                IP address for eth0: 10.0.2.15 
  Swap usage:   0% 
 
  Graph this data and manage this system at https://landscape.canonical.com/ 
New release 'oneiric' available. 
Run 'do-release-upgrade' to upgrade to it. 
 
Last login: Tue Dec 13 22:36:34 2011 from 10.0.2.2 
 

TUN/TAP ÀåÄ¡¸¦ ÀÌ¿ëÇÑ Network ȯ°æ ±¸Ãà

TUN/TAP ÀåÄ¡¸¦ ÀÌ¿ëÇϸé qemu·Î ¿ÏÀüÇÑ (°¡»ó)³×Æ®¿öÅ© ȯ°æÀ» ±¸ÃàÇÒ ¼ö ÀÖ´Ù. TUN/TAPÀ» ÀÌ¿ëÇϸé À¯Àú ¿µ¿ª¿¡ ÆÐŶÀ» Àü¼Û/¼ö¼ÛÇϱâ À§ÇÑ Point-to-Point ÀÎÅÍÆäÀ̽º¸¦ ¸¸µé ¼ö ÀÖ´Ù. °£´ÜÈ÷ ¸»Çؼ­ °¡»óÀÇ ÀÌ´õ³Ý ÀåÄ¡¸¦ ¸¸µé ¼ö ÀÖ´Ù. ¿î¿µÃ¼Á¦ °¡»óÈ­ + ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º °¡»óÈ­.. ¿ØÁö ±ÃÇÕÀÌ Àß ¸ÂÀ» °Í °°´Ù. TAPÀº Layer 2 ÆÐŶÀ» ´Ù·ç°í TUNÀº Layer 3 ÆÐŶÀ» ´Ù·é´Ù.

°èȹÀº ÀÌ·¸´Ù.
  1. È£½ºÆ® ¿î¿µÃ¼Á¦¿¡ TAP ÀÎÅÍÆäÀ̽º¸¦ ¸¸µç´Ù.
  2. TAP ÀÎÅÍÆäÀ̽º¿¡ IP¸¦ ÇÒ´çÇÑ´Ù. °Ô½ºÆ® ¿î¿µÃ¼Á¦´Â ÀÌ TAP ÀÎÅÍÆäÀ̽º¿Í L2 ·¹º§¿¡¼­ ¿¬°áµÈ´Ù.
  3. °Ô½ºÆ® ¿î¿µÃ¼Á¦´Â TAPÀÇ IP¸¦ gateway·Î ÇÑ´Ù.
    • °Ô½ºÆ® ¿î¿µÃ¼Á¦´Â µÎ °³¸¦ ¸¸µç´Ù. Çϳª´Â ubuntu-qemu-01 ´Ù¸¥ Çϳª´Â ubuntu-qemu-02´Ù.
  4. È£½ºÆ® ¿î¿µÃ¼Á¦´Â °Ô½ºÆ® ¿î¿µÃ¼Á¦°¡ ÀÎÅͳÝÀ¸·Î ³ª°¥ ¼ö ÀÖµµ·Ï SNAT ¼³Á¤À» ÇÑ´Ù.

TAP µå¶óÀ̹ö ¿Ã¸±·Á°í ±¦È÷ ³ë°¡´Ù ÇÏÁö ¸»ÀÚ. openvpnÀ¸·Î °£´ÜÈ÷ ¿Ã¸± ¼ö ÀÖ´Ù. tapÀ» ¿Ã¸° ÈÄ ifconfig·Î ³×Æ®¿öÅ©¸¦ ¼³Á¤Çß´Ù.
# openvpn --mktun --dev tap1 
# ifconfig tap0 192.168.105.1 up 
# ifconfig  
... 
... 
tap1      Link encap:Ethernet  HWaddr 3a:ef:5b:41:07:b9   
          inet addr:192.168.105.1  Bcast:192.168.105.255  Mask:255.255.255.0 
          UP BROADCAST MULTICAST  MTU:1500  Metric:1 
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0 
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 
          collisions:0 txqueuelen:100  
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B) 
 

¾Õ¼­ ¸¸µç tap1À» ÀÌ¿ëÇØ¼­ ubuntu-qemu-01 ¿î¿µÃ¼Á¦¸¦ ¿Ã¸°´Ù.
# qemu-system-i386 -k en-us -hda ubuntu11-server.vhd -net nic -net tap,ifname=tap1,script=no -net socket,listen=localhost:1234 
 
°Ô½ºÆ® ¿î¿µÃ¼Á¦ÀÇ network ¼³Á¤ÀÌ´Ù.
# cat /etc/network/interface 
iface eth0 inet static 
address 192.168.105.2 
netmask 255.255.255.0 
gateway 192.168.105.1 
auto eth0 
 

µÎ ¹øÂ° °Ô½ºÆ® ¿î¿µÃ¼Á¦ ubuntu-qemu-02¸¦ ¿Ã¸°´Ù. qemu´Â ±âº» macÀ¸·Î "52:54:00:12:34:56"À» ·ÎµùÇÑ´Ù. ±×·¯¹Ç·Î µÎ ¹øÂ° ¿Ã¸®´Â °Ô½ºÆ® ¿î¿µÃ¼Á¦ ºÎÅÍ´Â macÀÌ Áߺ¹µÇÁö ¾Êµµ·Ï Á÷Á¢ macÁÖ¼Ò¸¦ ¼³Á¤ÇØ¾ß ÇÑ´Ù.
# qemu-system-i386 -k en-us -hda ubuntu11-server2.vhd -net nic,macaddr=52:54:00:12:34:57 -net socket,connect=localhost:1234 
 

°Ô½ºÆ® ¿î¿µÃ¼Á¦ÀÇ network ¼³Á¤ÀÌ´Ù.
# cat /etc/network/interface 
iface eth0 inet static 
address 192.168.105.3 
netmask 255.255.255.0 
gateway 192.168.105.1 
auto eth0 
 

¹®Á¦ ¾øÀÌ ³×Æ®¿öÅ©°¡ ±¸¼ºµÉ°Å´Ù. ÀÌÁ¦ SNAT¸¦ ¼³Á¤Çؼ­ °Ô½ºÆ® ¿î¿µÃ¼Á¦µéÀÌ ÀÎÅͳÝÀ¸·Î ³ª°¥ ¼ö ÀÖ°Ô ÇÑ´Ù. SNAT ¼³Á¤Àº NAT ¼³Á¤¹®¼­¸¦ Âü°íÇÑ´Ù.

Bridge·Î ³×Æ®¿öÅ© ±¸Ãà


Âü°í ¹®Çå


EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.