kvm vlan 网桥bridge的问题

Kvm、VMware、Virtualbox、Xen、Qemu 等
回复
foriany
帖子: 41
注册时间: 2007-06-22 11:55

kvm vlan 网桥bridge的问题

#1

帖子 foriany » 2012-06-18 17:09

运行下面命令时会出错,提示找不到设备

代码: 全选

#ifconfig vlan1
vlan1: error fetching interface information: Device not found
如果解决呀?

kvm命令

代码: 全选

kvm -m 512 -net nic,vlan=1,macaddr=00:11:22:33:44:00 -net tap,vlan=1,script=no,downscript=no -drive file=kvm.img
需要解决的问题是

想在一台主机host(ubuntu 12.04)上用kvm建立4个VM,处于两个不同的vlan中,分别为vlan1, vlan2
其中VM1,VM2的地址为192.168.10.1, 192.168.10.2, 处于vlan1中
VM3,VM4的地址为192.168.20.1, 192.168.20.2 处于vlan2 中
这样的话vlan1 中VM1 和VM2之间可以ping通
同样vlan2 中 VM3和VM4之间也可以ping通

为了让VM1,VM2 和VM3,VM4之间能通信, 现在需要把vlan1和vlan2连接起来?
这时候用网桥应该怎么设置?

一个方案是假如我可以给vlan1 分配地址 192.168.10.254
在host主机上运行

代码: 全选

ifconfig vlan1 192.168.10.254 netmask 255.255.255.0
同样

代码: 全选

ifconfig vlan2 192.168.20.254 netmask 255.255.255.0
在主机中网桥设置, 把vlan1 和 vlan2 桥接起来

代码: 全选

brctl addbr br0
brctl addif vlan1
brctl addif vlan2
然后在vm1, vm2中运行,

代码: 全选

route add default gw 192.168.10.254
在vm3,vm4中运行

代码: 全选

route add default gw 192.168.20.254
这样的话能够使得vm1, vm2, vm3, vm4 都能够互相通信吗?

即使可以的话,怎么创建vlan1 和 vlan2 呀?
运行下面命令时会出错,提示找不到设备

代码: 全选

#ifconfig vlan1
vlan1: error fetching interface information: Device not found
如果解决呀?
头像
jinhongchao@gmail.com
帖子: 286
注册时间: 2008-06-24 21:00

Re: kvm vlan 网桥bridge的问题

#2

帖子 jinhongchao@gmail.com » 2012-06-19 21:25

我是这样建了两个tap的


#!/bin/bash
#apt-get install uml-utilities
echo mmm|sudo -S tunctl -t tap0 -u jin
echo mmm|sudo -S tunctl -t tap1 -u jin
echo mmm|sudo -S chmod 0666 /dev/net/tun
echo mmm|sudo -S ifconfig tap0 192.168.17.1 netmask 255.255.255.0 up
echo mmm|sudo -S ifconfig tap1 192.168.18.1 netmask 255.255.255.0 up
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
echo mmm|sudo -S iptables -t nat -I POSTROUTING -j MASQUERADE

虚拟主机是这样运行的
echo mmm|sudo \
kvm \
-m 512 \
-drive file=/home/jin/kvm/xp ,cache=writeback,boot=on \
-net nic,model=virtio \
-net tap,ifname=tap1,script=no \
-usbdevice tablet \
-nographic \
-usbdevice host:12d1:1009
#-usbdevice host:148f:3070 \

互相都可以ping通。或许并不是你要的答案,或许你能看出点什么来。
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: kvm vlan 网桥bridge的问题

#3

帖子 自由建客 » 2012-06-19 22:01

代码: 全选

-net tap,ifname=tap1
这样的用法才对嘛。用之前还要先创建 tap1。
回复