2015-12-15 QEMU Network Setup
来源:互联网 发布:ubuntu kernel 地址 编辑:程序博客网 时间:2024/05/20 21:21
QEMU Network Setup
QEMU Network Setting
上周配置QEMU的网络设置用了很大功夫,终于彻底弄明白了。
需求:首先要清楚,因为我要修改QEMU代码,所以不能用virsh来自动配置,因为它采用的是qemu-kvm,进行了特殊的订制,可能会有不必要的麻烦。我需要自己make install
之后,用qemu-system-x86_64
来手动启动虚拟机。
结构:在Host中,创建桥接网络virbr0,并且将eth0连入此桥接网络。然后在Guest中,修改network-scripts
,正确识别并设置QEMU的网卡e1000。最后,编写Host中的QEMU启动脚本,将Guest连入virbr0。
- Host Setting
- REMEMBER TO CHECK NETWORK CABLE CONNECTION FIRST!!!我浪费了好多时间在配置脚本上,总是无法正确设置网络,结果发现网线松动了。
- Enter
/etc/sysconfig/network-scripts/
- Add ifcfg-virbr0
- Edit ifcfg-eth0(maybe enp3s0,enp2s0),add it to virbr0
service network restart
brctl show //To ensure correctness
- QEMU scripts
- Edit runkvm for correct img path
- Edit qemu-ifup for correct bridge name
- Guest Setting
- Run
runkvm
to start guest and enter it with root cd /etc/udev/rules.d/
cat 70-persistent-net.rules
- PCI device e1000 is QEMU network adapter,remember its NAME(eth0/1/2) and ATTR
- Add eth0/1/2 scripts under network-scripts:
cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-eth1(If qemu network adapter is eth0,normal setting should work,and we don't need to edit,just ifconfig to check network connection.)
vim ifcfg-eth1
- Change HWADDR to ATTR in
70-persistent-net.rules
service network restart
- Explanation: 因为之前都是在做Xen的虚拟化,所以这个镜像中配置的
network-scripts
是指定的Xen的网卡作为eth0,现在采用QEMU了,缺少对应的网络配置脚本,那么直接在network-scripts
中加入新的脚本配置QEMU网卡就可以了。
- Run
Setting files
ifcfg-virbr0
TYPE=BridgeSTP=yesBOOTPROTO=noneNAME=virbr0UUID=cc49c39a-8713-4c88-b877-557a462ab738DEVICE=virbr0ONBOOT=yesDNS1=162.105.129.26DEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=noDELAY=0BRIDGINS_OPTS=priority=32768IPADDR=172.17.2.131PREFIX=16GATEWAY=172.17.1.1NM_CONTROLLED=no
ifcfg-enp3s0
BRIDGE=virbr0BOOTPROTO=noneNAME=enp3s0UUID=cc49c39a-8713-4c88-b877-557a462ab738DEVICE=enp3s0ONBOOT=yesNM_CONTROLLED=no
runkvm
#!/bin/bashqemu-system-x86_64 -enable-kvm -nographic -m 8192 -smp 3,sockets=3,cores=1,threads=1 -device e1000,netdev=net0 -netdev tap,id=net0,script=./qemu-ifup -device virtio-balloon-pci,id=balloon0,bus=pci.0 /root/richard/test/centos6.img
qemu-ifup
#!/bin/shset -xswitch=virbr0if [ -n "$1" ];then echo "qemu-ifup argument: interface "$1 #/usr/bin/sudo /usr/sbin/tunctl -u `whoami` -t $1 /usr/bin/sudo /sbin/ip link set $1 up sleep 0.5s /usr/bin/sudo /usr/sbin/brctl addif $switch $1 exit 0else echo "Error: no interface specified" exit 1fi
0 0
- 2015-12-15 QEMU Network Setup
- 2015-12-23 QEMU Network Scripts
- QEMU NETWORK --- Usage
- embedded system network setup
- setup network and route
- chromium network proxy setup
- qemu network backend的初始化
- qemu network backend的初始化
- turtlebot PC ros network setup
- qemu:/etc/qemu-ifup:could not launch network script
- Start qemu/kvm in network bridge
- QEMU KVM Libvirt手册(9): network
- QEMU/KVM Bridged Network with TAP interfaces
- Qemu之Network Device全虚拟方案
- Setup Network for Bochs Virutal Mchine (Windows)
- Virtualbox network setup with no public IP
- VirtualBox network / study environment setup for RHEL
- How to Setup network on centos 7
- jstl库标签核心标签
- iOS学习之UICollectionVuew基本使用
- 银行卡号矫正
- jq实现表格自动增行
- linux查看CPU是否支持64位
- 2015-12-15 QEMU Network Setup
- 腾讯微博Android客户端实例开发教程by若水
- cocos2d-lua里 如何绑定按钮button的点击事件click
- 【选择排序】简单选择排序
- BitMap优化
- android view的宽高通过代码进行设置---dp和sp之间互转
- jquery中监控input文本框值的变化触发函数
- 解密“设计模式”
- Implementing the skip list data structure