
将OpenvSwitch安装在Ubuntu或Debian上虽然OVS以程序包的方式出现在Ubuntu或Debian上,但我在此还是通过源代码来构建OVS,这将拥有最新的功能特性和修正版。首先,安装用于构建OVS的依赖项。$sudoapt-getinstallbuild-essentiallibssl-devlinux-headers-$(uname-r)通过源代码来构建OVS,如下所示。下列步骤将构建OVS内核模块以及OVS用户空间工具。$wgethttp//openvswitchorg/releases/openvswitch-1.9.3.tar.gz$tarxvfvzopenvswitch-1.9.3.tar.gz$cdopenvswitch-1.9.3$./configure--with-linux=/lib/modules/`uname-r`/build$make接下来,继续在/usr/local/share/下安装OVS用户空间组件:$sudomakeinstall下一步是,测试OVS内核模块(安装该模块之前)。为此,先在内核中装入内核模块。$sudoinsmod./datapath/linux/openvswitch.ko证实OVS内核模块已成功装入。$lsmodgrepopenvswitchopenvswitch979340一旦你证实openvswitch.ko已成功装入到内核中,继续安装内核模块,如下所示。$sudomakemodules_install配置和
启动OpenvSwitch创建一个框架式OVS配置数据库。$sudomkdir/etc/openvswitch$sudoovsdb-toolcreate/etc/openvswitch/conf.db./vswitchd/vswitch.ovsschema启动OVS数据库服务器。$sudoovsdb-server--remote=punix:/usr/local/var/run/openvswitch/db.sock-remote=db:Open_vSwitch,manager_options--pidfile--detachOVS配置数据库初始化。$sudoovs-vsctl--no-waitinit最后,启动OVS守护程序。$sudoovs-vswitchd--pidfile--detach将KVM安装在Ubuntu或Debian上使用apt-get
命令,安装KVM和必要的用户空间工具。$sudoapt-getinstallqemu-kvmlibvirt-binbridge-utilsvirt-manager将一个普通的非根用户(如alice)添加到libvirtd群组,那样该用户不需要根用户权限,就能启动
虚拟机。$sudoadduseralicelibvirtd退出,重新以该用户身份登录,让群组成员的变更生效。运行下面这个命令。如果你看到空空如也的虚拟机列表,这意味着KVM已成功设置完毕。$virsh-cqemu:///systemlistIdNameState为KVM配置OpenvSwitch现在是时候创建OVS网桥启动脚本了,那样启动或终止虚拟机时,OVS就能自动配置。安装依赖项(用户模式Linux实用工具),这些依赖项将用于处理Linux网桥模式。$sudoapt-getinstalluml-utilities创建网桥启动脚本,如下所示。$sudovi/etc/openvswitch/ovs-ifup#!/bin/shswitch='br0'/sbin/ifconfig$10.0.0.0upovs-vsctladd-port${switch}$1$sudovi/etc/openvswitch/ovs-ifdown#!/bin/shswitch='br0'/sbin/ifconfig$10.0.0.0downovs-vsctldel-port${switch}$1$sudochmod+x/etc/openvswitch/ovs-if*然后,创建一个默认的网桥br0,并添加一个物理网络接口,虚拟机将通过这个接口与外部网络进行联系。在该教程中,我假设这类网络接口是eth5。$sudoovs-vsctladd-brbr0$sudoovs-vsctladd-portbr0eth5借助KVM启动虚拟机现在你可以准备启动访客虚拟机了。我假设,你已经准备好了一个访客虚拟机映像(比如ubuntu-client.img)。使用下面这个命令,启动访客虚拟机。$sudokvm-m1024-netnic,macaddr=11:11:11:EE:EE:EE-nettap,script=/etc/openvswitch/ovs-ifup,downscript=/etc/openvswitch/ovs-ifdown-vnc:1-drivefile=/home/dev/images/ubuntu-client.img,boot=on这会创建并启动一个访客虚拟机;一旦访客虚拟机启动,其虚拟接口就自动添加到OVS网桥br0。你可以使用ovs-vsctl这个命令,核实OVS的状态这是已启动的虚拟机的远程桌面会话。前段时间,在学一个东西。学到使用qemu的时候,老是出错。原因有两个:一是我用的linux比较新,和书上的版本有差距,所以/etc/network/interfaces失效;二是我用的无线网卡上网,和书上的以太网不同,这就造成桥接的时候需要先桥接到以太网再转发到无线网卡(我在网上看见,wifi联盟的标准是不能无线桥接),而我还是个小白,所以做起来比较费劲。
utuntu17以后,/etc/network/interfaces失效,由netplan代管。但是我也试过netplan,我还是用不来。最好时直接用ip命令或者nmcli命令,免得麻烦。
以下以下是我总结的两个方法。步骤都差不多。方法1使用了老命令,方法2使用了新命令。
ubuntu下如何安装tap虚拟网络设备: https://www.jianshu.com/p/b1d315ea002e
为qemu虚拟机添加桥接网络和路由
在虚拟机的/etc/network/interfaces里面进行配置
重启虚拟机网络
实验:使用ip命令创建网桥,并调通网络
实验目的:ifconfig和tunctl等命令已经或者即将被淘汰,我必须找到官方公布的替代者,以保证以后还能使用这些命令写成的脚本。
添加网卡到网桥,网桥的状态必须时打开
注:两个从属网卡开启混杂模式,目的是让两个从属网卡可以通信。
在虚拟机的/etc/network/interfaces里面进行配置
1.ip命令能够替代ifconfig进行设置,并且能够替代tunctl和brctl进行工作。是一个十分强大的命令
2.网桥是一种特殊的连接。虽不不能明确个中缘由,但是从其拥有两张网卡可以窥知一二,同时命令nmcli和ip都把他归为连接,从这点也可以映证。
评论列表(0条)