zoukankan      html  css  js  c++  java
  • Ubuntu12.04 配置KVM,使用网卡桥接模式。

            以前因为Ubuntu Server 做 kvm 没有解决网卡桥接,就改了Centos6。Centos6配置桥接倒是比较容易,对 Virtual Machine Manager支持也很好,但是偏偏只能用root管理虚拟机,这非常不理想(后经人指点,可以用sudo为普通用户分配权限,有点麻烦)。

            现在重新尝试配置Ubuntu Server 网卡桥接,发现其实很简单

     1.  安装

    最小安装Ubuntu Server 12.04,只启用OPEN SSH。装好后:
    superv@kvmserver:~$ sudo apt-get update ; sudo apt-get upgrade -y
    superv@kvmserver:~$ sudo apt-get install bridge-utils kvm libvirt-bin
    [sudo] password for superv: 
    正在读取软件包列表... 完成
    正在分析软件包的依赖关系树       
    正在读取状态信息... 完成       
    将会安装下列额外的软件包:
      cgroup-lite cpu-checker dnsmasq-base ebtables gawk kvm-ipxe libaio1
      libapparmor1 libasound2 libasyncns0 libavahi-client3 libavahi-common-data
      libavahi-common3 libcaca0 libflac8 libjson0 libnetfilter-conntrack3 libnspr4
      libnss3 libnuma1 libogg0 libpulse0 librados2 librbd1 libsdl1.2debian
      libsigsegv2 libsndfile1 libvirt0 libvorbis0a libvorbisenc2 libxenstore3.0
      libxml2-utils libyajl1 msr-tools qemu-common qemu-kvm qemu-utils seabios
      vgabios
    建议安装的软件包:
      libasound2-plugins libasound2-python pulseaudio policykit-1 radvd
      mol-drivers-macosx openbios-sparc ubuntu-vm-builder uml-utilities
    下列【新】软件包将被安装:
      bridge-utils cgroup-lite cpu-checker dnsmasq-base ebtables gawk kvm kvm-ipxe
      libaio1 libapparmor1 libasound2 libasyncns0 libavahi-client3
      libavahi-common-data libavahi-common3 libcaca0 libflac8 libjson0
      libnetfilter-conntrack3 libnspr4 libnss3 libnuma1 libogg0 libpulse0
      librados2 librbd1 libsdl1.2debian libsigsegv2 libsndfile1 libvirt-bin
      libvirt0 libvorbis0a libvorbisenc2 libxenstore3.0 libxml2-utils libyajl1
      msr-tools qemu-common qemu-kvm qemu-utils seabios vgabios
    升级了 0 个软件包,新安装了 42 个软件包,要卸载 0 个软件包,有 3 个软件包未被升级。
    需要下载 11.5 MB 的软件包。
    解压缩后会消耗掉 39.9 MB 的额外空间。
    您希望继续执行吗?[Y/n]n
     
    ......
     
     
     
    2. 用虚拟系统管理器(Virtual Machine Manager)测试连接,得到错误提示:

    Unable to connect to libvirt:

    End of file while reading data: : 输入/输出错误
    Verify that:
     - The 'libvirt-bin' package is installed
     - The 'libvirtd' daemon has been started
     - You are member of the 'libvirtd' group
    检查一下,然后新建一个帐号:

    superv@kvmserver:~$ sudo service libvirt-bin status

    libvirt-bin start/running, process 2487

    superv@kvmserver:~$ sudo adduser vmuser
    正在添加用户"vmuser"...
    正在添加新组"vmuser" (1001)...
    正在添加新用户"vmuser" (1001) 到组"vmuser"...
    创建主目录"/home/vmuser"...
    正在从"/etc/skel"复制文件...
    输入新的 UNIX 密码: 
    重新输入新的 UNIX 密码: 
    passwd: password updated successfully
    Changing the user information for vmuser
    Enter the new value, or press ENTER for the default
    Full Name []: vmuser
    Room Number []: 
    Work Phone []: 
    Home Phone []: 
    Other []: 
    这些信息是否正确? [Y/n] y
     
    superv@kvmserver:~$ sudo usermod -aG libvirtd vmuser
     
    superv@kvmserver:~$ groups vmuser
    vmuser : vmuser libvirtd
     
    3. 配置桥接
    编辑 /etc/network/interfaces
    将默认的eth0改为 br0,再增加几行bridge指令,编辑好的文件如下:

    auto lo

    iface lo inet loopback

    auto br0
    iface br0 inet static
            address 192.168.0.10
            network 192.168.0.0
            netmask 255.255.255.0
            broadcast 192.168.0.255
            gateway 192.168.0.1
            bridge_ports eth0
            bridge_fd 9
            bridge_hello 2
            bridge_maxage 12
            bridge_stp off
    dns-nameservers 202.106.196.115
     
     
    重启网络,用brctl show 指令查询已建立的网桥,并查看ifconfig信息,我们注意到eth0已经没有IP地址了。
    注意,virbr0是安装kvm时系统建立的,为NAT网络专用,跟我们要使用的桥接完全不同。

    superv@kvmserver:~$ sudo /etc/init.d/networking restart


    superv@stack3650a:~$ brctl show
    bridge namebridge idSTP enabledinterfaces
    br08000.001a64c5efb4noeth0
    virbr08000.000000000000yes

    superv@kvmserver:~$ ifconfig
    br0       Link encap:以太网  硬件地址 00:1a:64:c5:ef:b4  
              inet 地址:192.168.0.10  广播:192.168.0.255  掩码:255.255.255.0
              inet6 地址: fe80::21a:64ff:fec5:efb4/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  跃点数:1
              接收数据包:3316 错误:0 丢弃:0 过载:0 帧数:0
              发送数据包:2608 错误:0 丢弃:0 过载:0 载波:0
              碰撞:0 发送队列长度:0 
              接收字节:528299 (528.2 KB)  发送字节:646207 (646.2 KB)

    eth0      Link encap:以太网  硬件地址 00:1a:64:c5:ef:b4  
              UP BROADCAST RUNNING MULTICAST  MTU:1500  跃点数:1
              接收数据包:27844 错误:0 丢弃:0 过载:0 帧数:0
              发送数据包:20396 错误:0 丢弃:0 过载:0 载波:0
              碰撞:0 发送队列长度:1000 
              接收字节:14423283 (14.4 MB)  发送字节:3709218 (3.7 MB)
              中断:16 Memory:ce000000-ce012800 

    lo        Link encap:本地环回  
              inet 地址:127.0.0.1  掩码:255.0.0.0
              inet6 地址: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:16436  跃点数:1
              接收数据包:3 错误:0 丢弃:0 过载:0 帧数:0
              发送数据包:3 错误:0 丢弃:0 过载:0 载波:0
              碰撞:0 发送队列长度:0 
              接收字节:290 (290.0 B)  发送字节:290 (290.0 B)

    virbr0    Link encap:以太网  硬件地址 fa:5b:77:83:32:0f  
              inet 地址:192.168.122.1  广播:192.168.122.255  掩码:255.255.255.0
              UP BROADCAST MULTICAST  MTU:1500  跃点数:1
              接收数据包:0 错误:0 丢弃:0 过载:0 帧数:0
              发送数据包:0 错误:0 丢弃:0 过载:0 载波:0
              碰撞:0 发送队列长度:0 
              接收字节:0 (0.0 B)  发送字节:0 (0.0 B)
     
     
    4.我们用虚拟系统管理器打开Ubuntu Server。
    虚拟系统管理器
     
     
     
    双击服务器,打开详细信息,在“网络接口”部分看到这样一个提示。。。
    虚拟系统管理器
     
    在Centos6里面,这里可是有完整的网络配置功能的呀。
     
    怎么弄呢?搜索了很多,没有找到合适的解决办法。这时候我们发扬了不撞南墙不回头的精神,装一个虚拟机试试!
    嘿嘿,安装到第四步的时候,乐了,很简单嘛,桥已经好用了,在等着你呢。
     
     
     
    5. 就这样按部就班,装好了一台,再把原来Centos下的磁盘镜像复制过来,直接“Import existing disk image”,齐活儿。而且,更令人欣喜的是,安装Windows虚拟机也非常成功,控制台图形性能没有任何问题,比Centos强。
     
    复制光盘、磁盘镜像指令:

    superv@kvmserver:/opt/iso# sudo scp root@192.168.0.9:/isoimg/*.* .

    superv@kvmserver:/opt/iso# sudo scp root@192.168.0.9:/kvmimg/*.* .
     
     

    参考

    https://help.ubuntu.com/12.04/serverguide/libvirt.html
    https://help.ubuntu.com/12.04/serverguide/network-configuration.html#bridging
     
  • 相关阅读:
    day7随笔
    day6随笔
    day5笔记
    uniapp 全屏蒙版下的其他view禁止滑动
    uniapp scroll-view 组件右侧的滚动条
    uni 组件 头部
    根据两点的经纬度查询两点间的距离
    仅供学习使用的一些 相关vue类
    仅供学习使用的一些样式+行为
    百度地图简单调用
  • 原文地址:https://www.cnblogs.com/panblack/p/Ubuntu_KVM_with_Bridged_Network.html
Copyright © 2011-2022 走看看