Virtualization
LXC:Linux 容器工具
|
虚拟机桥接联网指南
虚拟机是Linuxer常用的一个软件,因为有些应用在Linux是无法完成,必须在虚拟机内完成。不过虚拟机联网确实是一个比较麻烦的问题。NAT虽然简单,但是不能和宿主机通信确实一个遗憾。所以桥接联网可以算是现在最好的方式。 eth0为静态IP的情况下 首先安装bridge-utils和tunctl su -c 'yum install bridge-utils tunctl'然后查看tun模块是否已经被加载 lsmod | grep tun如果没有,则需要手动加载tun模块 su -c 'modprobe tun' 一切完成以后,则可以开始搭建桥接网络。首先是新建一个名为tap0的虚拟网卡,所有者为当前用户。 su -c ‘tunctl -t tap0 -u $USERNAME’新建一个名为br0的网桥 su -c 'brctl br0'使eth0进入promiscuous模式,不过执行此步之前最好记录原来eth0的IP,避免后面出现IP冲突。 su -c 'ifconfig eth0 0.0.0.0 promisc'将eth0加入br0 su -c 'brctl addif br0 eth0'设定br0的IP,最好使用原来eth0的IP,假设原来eth0的IP为192.168.1.1 su -c 'ifconfig br0 192.168.1.1 netmask 255.255.255.0'删除原来旧的网关,设定新的网关,假定网关为192.168.1.1 su -c 'route del default'将tap0加入br0 su -c ‘brctl addif br0 tap0’ 激活tap0 su -c 'ifconfig tap0 up'设定tun设备的读写权限 su -c 'chmod a+rw /dev/net/tun'然后在虚拟机的选择tap0作为网卡即可。 eth0为动态IP的情况下 eth0为动态IP的情况跟在静态IP的情况。基本一致。在保证dhclient已经被安装后,只需要把“设定br0的IP”、“删除旧网关”和“设定新网关”这三步替换为如下两步即可。 激活br0 su -c ‘ifconfig br0 up’ 获取br0的IP su -c ‘dhclient br0’开机后自动搭建桥接网络 因为当机器重启或者关闭以后,设定的桥接网络就会自动被系统移除。所以当机器每一次重启的时候,都搭建一次桥接网络,就显得麻烦了。不过我们可以借用bash脚本来实现开机后自动搭建桥接网络。 以eth0为动态获取IP,桥接两个虚拟网卡为例 在$HOME目录新建一个vmbridge.sh文件,打开后把以下内容复制粘贴下去,并保存 #!/bin/bash然后添加vmbridge.sh的执行权限 su -c ‘chmod +x $HOME/vmbridge.sh’把该脚本添加到rc.local开机脚本去,实现开机自动构建桥接网络 su -c 'echo "$HOME/vmbridge.sh" >> /etc/rc.local'注意事项
|
VirtualBox使用指南
VirtualBox是德国一家软件公司InnoTek(现已被Sun收购)所开发的虚拟系统软件,它不仅具有丰富的特色,而且性能
也很优异。更是开源的,成为了一个发布在GPL许可之下的自由软件。VirtualBox 可以在 Linux 和 Windows
主机中运行,并支持在其中安装 Windows (NT 4.0、2000、XP、Server 2003、Vista)、DOS/Windows
3.x、Linux (2.4 和 2.6)、OpenBSD 等系列的客户操作系统。假如你曾经有用过虚拟机软件的经历的话,相信使用
VirtualBox 不在话下。即便你是一个新手,也没有关系。VirtualBox 提供了详细的文档,可以助你在短期内入门。 本文基于的是 Linux版本的VirtualBox-2.1.4 1.安装VirtualBox 打开VirtualBox的下载页面,下载相应版本的VirtualBox。 下载地址是:http://www.virtualbox.org/wiki/Downloads 下载完成后,根据各个Linux发行版的软件包管理方式,安装VirtualBox,以下是Fedora 9和Fedora 10的安装办法 打开终端,输入命令: su -c ‘yum localinstall --nogpg VirtualBox-2.1.4_42893_fedora9-1.i386.rpm’ 稍等片刻。当命令执行结束后再次输入命令 su -c '/etc/init.d/vboxdrv setup' 此步骤为重新编译VirtualBox的内核模块,以适应当前内核使用。执行此命令需要如下这些软件包:make、automake、autoconf、gcc、kernel-devel、dkms。如果未能确认你已经是否安装了这些软件包,请在终端执行一次如下命令。 su -c 'yum install make automake autoconf gcc kernel-devel dkms' 把当前用户加入到vboxusers组 su -c 'usermod -a -G vboxusers $USERNAME' 修正SELinux Permissions su -c 'chcon -t textrel_shlib_t /usr/lib/virtualbox/VirtualBox.so' 这样,VirtualBox就基本能用了。 2.设置VirtualBox允许加载USB设备 新建一个usbfs组,并指定gid为502 su -c 'groupadd -g 502 usbfs' 把当前用户加入到usbfs组 su -c 'usermod -a -G vboxusers $USERNAME' 为USB设备重新设置权限 su -c 'echo"none /proc/bus/usb usbfs devgid=1002,devmode=774 0 0" >> /etc/fstab' 最后,在虚拟机的设置里启用USB控制器即可。 3.用USB设备启动虚拟机 假定你的USB设备是/dev/sdc 先添加USB的可读写权限 su -c ‘chmod o+rw /dev/sdc’ 为USB设备建立虚拟硬盘镜像 su -c ‘VBoxManage internalcommands createrawvmdk -filename ~/.VirtualBox/VDI/UsbDisk.vmdk -rawdisk /dev/sdc -register’ 最后,在Virtual Media Manager注册UsbDisk.vmdk,并设置为启动优先盘即可。 4.网络连接设定 A.NAT方式 NAT是最简洁的接入方式,只须点击两下鼠标,即可把虚拟机连接到外网。但是NAT方式并不能使Host机和Guest机通讯,这是NAT的方式的一个弊端。 在虚拟机设置里,点击网络的选项卡,在连接方式选择NAT,确定即可。
B.Host Interface方式 这 种方式又称之为桥接接入。以前VirtualBox使用桥接接入是十分麻烦的。但是自从Sun重新编写了VirtualBox的网络部分以后,一切变得简 单。桥接方式的最大好处在于虚拟机能直接接入到局域网,获得一个真实的局域网IP,与宿主机平等,并且能够和宿主机通讯。 现在的方法很简单,只需要把连接方式的选项卡设定为Host Interface,然后在下面Host Interface的选项卡选取你要把虚拟机桥接到哪个网卡,然后确定即可。
由于Virtualbox还不够完善,把虚拟机桥接到无线网卡,可能会出现失败的情况。具体情况请留意最新版本的VirtualBox用户手册。 C.Interal Network方式 Interal Network方式是把各个虚拟机连接起来的一个方式。由于较少人使用,所以这里就不再详述了。 5.安装增强工具包 安装增强工具包,可以使虚拟机运行得更畅顺,并且可以让你使用VirtualBox特有的无缝模式,摆脱虚拟机的条条框框,虚拟机运行的程序犹如置身于宿主机里。 1.如果虚拟机里安装的是Windows操作系统,则只需要虚拟机窗口上的设备,然后点击“安装增强功能...”,虚拟机系统就会自动弹出一个安装程序。用户按着提示安装,然后重启虚拟机即可。 2.如果虚拟机里安装的是Linux/UNIX系统,则先需要安装内核的相关库、头文件和编译器,然后点击“安装增强功能...”。虚拟机就会自动挂在一张增强功能的虚拟光盘,用户把对应的bin软件包编译了即可。 无缝模式的启动关闭键皆为Host+L,VirtualBox把右边的Ctrl建定义为Host键。 如以后有所更新,则另行通报。 |