我想通过kvm将guest os的某些服务导出到主机os,同样学习一些关于networking的东西。 我已经尝试了以下命令:
$ sudo tunctl -u ascobol Set 'tap0' persistent and owned by uid 2401 $ sudo ifconfig tap0 192.168.2.1 netmask 255.255.255.0 broadcast 192.168.2.255
ifconfig命令返回:
$ /sbin/ifconfig tap0 Link encap:Ethernet HWaddr 3e:4e:e3:cc:bc:92 inet addr:192.168.2.1 Bcast:192.168.2.255 Mask:255.255.255.0 inet6 addr: fe80::3c4e:e3ff:fecc:bc92/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:17 overruns:0 carrier:0 collisions:0 txqueuelen:500 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) $ route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 tap0
然后我运行虚拟机(Ubuntu的服务器10.4):
$ sudo kvm -hda ubuntuserver104.qcow2 -net nic -net tap,name=tap0,script=no
(我使用sudo,因为没有它失败,以下消息:)
警告:无法configuration/ dev / net / tun:没有虚拟networking仿真
用sudo虚拟机引导,我只是得到这个消息:
pci_add_option_rom:未能findromfile“pxe-rtl8139.bin”
$ ifconfig eth0 192.168.2.2 netmask 255.255.255.0 broadcast 192.168.2.255
现在,如果我运行:
$ ssh 192.168.2.2
我刚刚得到一个
没有到主机的路由
这个设置有什么问题? 谢谢 !
pci_add_option_rom: failed to find romfile "pxe-rtl8139.bin"
意味着你没有安装pxe bootrom映像。 尝试安装它们,或者在/ usr / share / qemu或/ usr / share / gpxe中查找它们
虚拟机启动时的问题:
$ sudo kvm -hda ubuntuserver104.qcow2 -net nic -net tap,name=tap0,script=no
我replace了
name=tap0
通过
ifname=tap0
它的工作