fre*_*wra 2 ubuntu bridge kvm-virtualization
我用 Ubuntu+KVM 制作虚拟环境。
是下面的构成,但是是DHCPD借给ubuntu02的IP(192.168.1.2),貌似是借给ubuntu03的IP
router/dhcpd - ubuntu01(host) 192.168.1.100
- ubuntu02(kvm) 192.168.1.2
- ubuntu03(kvm) 192.168.1.2?
Run Code Online (Sandbox Code Playgroud)
怎么了?
ubuntu01:/etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet static
address 192.168.1.100
network 192.168.1.0
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
bridge_ports eth0
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off
Run Code Online (Sandbox Code Playgroud)
ubuntu0[23]:/etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
Run Code Online (Sandbox Code Playgroud)
我通常执行这个shell命令 sudo kvm -hda ubuntu.img -m 512 -localtime -net nic,model=pcnet -net tap,script=/etc/qemu-ifup -daemonize -nographic
/etc/qemu-ifup
#!/bin/sh
#sudo -p "Password for $0:" /sbin/ifconfig $1 172.20.0.1
sudo /sbin/ifconfig $1 0.0.0.0 promisc up
sudo /usr/sbin/brctl addif br0 $1
sleep 2
Run Code Online (Sandbox Code Playgroud)
小智 6
LapTop006 是正确的。您的两个 VM 具有相同的 MAC 地址,导致您的 DHCP 服务器为两个 VM 分配相同的 IP 地址。
启动每个虚拟机时,需要添加命令行选项
-net nic,macaddr=aa:bb:cc:dd:ee:ff
这样每个 VM 都会收到一个唯一的 MAC 地址。替换aa:bb:cc:dd:ee:ff您的网络中未使用的任何有效 MAC 地址。我只00:00:00:00:00:01用于第一个虚拟机,00:00:00:00:00:02第二个虚拟机等等。
我最终创建了一个单独的 shell 脚本来启动每个 VM。例如,要启动我的 OpenSolaris VM,我使用...
#!/bin/bash
vdeq kvm \
-localtime \
-hda /data/kvm/opensolaris_hda.raw \
-hdb /data/kvm/opensolaris_hdb.raw \
-hdd /data/kvm/opensolaris_hdd.raw \
-m 1024 \
-no-acpi \
-usb \
-usbdevice tablet \
-net nic,macaddr=00:00:00:00:00:04 \
-net tap,script=/etc/kvm/kvm-ifup \
-cdrom /usr/local/src/CD/osol-0811.iso \
-boot c
Run Code Online (Sandbox Code Playgroud)