环境说明:

笔记本A、B均运行Ubuntu 14.04,两台笔记本通过无线网卡上网,用一根网线连接两台笔记本的有线网卡。

网络拓扑:

其中,vm1 vm2 S1位于笔记本A,vm3 vm4 S2位于笔记本B。

所有VM均为virtualBox虚拟机(CorePlus.iso是一个很轻量的Linux版本)。

操作步骤:

(1)在两台笔记本上安装OVS

sudo apt-get install openvswitch-switch

(2)在两台笔记本上新建网桥,并将有线网卡eth0添加到网桥中

(注意以下s1、s2分别是两个笔记本上创建的网桥的名字)

笔记本A:

sudo ovs-vsctl add-br s1

sudo ovs-vsctl add-port s1 eth0

笔记本B:

sudo ovs-vsctl add-br s2

sudo ovs-vsctl add-port s2 eth0

(3)在两台笔记本上创建虚拟机,并且连接到ovs交换机上

笔记本A:

以下脚本首先创建了两个虚拟网卡,并将此网卡桥接到ovs交换机中

#!/bin/bash

function add_port()
{
ovs=${};
node=${}; echo $ovs --tap port-- $node;
port=vnet-${ovs}-${node}; sudo ip tuntap add mode tap $port;
sudo ip link set $port up;
sudo ovs-vsctl add-port $ovs $port;
} add_port s1 h1;
add_port s1 h2;

运行脚本之后,ifconfig能看到vnet-s1-h1 vnet-s1-h2两块网卡。

然后在VirtualBox创建虚拟机vm1和vm2,每个虚拟机的网络配置为:

vm1、vm2的第一块网卡均选择NAT,这是为了虚拟机能够访问外网,以便安装软件等。

vm1的第二块网卡设置为桥接,然后网卡选择vnet-s1-h1;

vm2的第二块网卡设置为桥接,然后网卡选择vnet-s1-h2;

笔记本A上的两个虚拟机便创建好了。为两个vm设置ip为10.0.0.1和10.0.0.2。

笔记本B同上,只需把s1改为s2即可。为两个vm设置ip为10.0.0.3和10.0.0.4。

(4)虚拟机开起来之后,分别在A、B上设置网桥s1、s2的控制器地址:

运行控制器的机器需要A、B均能访问,所以在A、B上运行都行。

假设在A上运行控制器:

java -jar target/floodlight.jar

(floodlight是一个SDN控制器)

然后为A、B上的网桥s1、s2设置控制器地址:

A:

sudo ovs-vsctl set-controller s1 tcp:<controller_ip>:6653

B:

sudo ovs-vsctl set-controller s2 tcp:<controller_ip>:6653

其中,controller_ip是运行控制器的机器的ip。(此处即为A的IP地址)

注意:6653是floodlight控制器监听的端口,在1.0版本以前,监听端口为6633。

(5)访问<controller_ip>:8080/ui/index.html,在floodlight的web界面查看拓扑。

如:http://155.98.39.126:8080/ui/index.html

完。

两台笔记本搭建openvswitch网络的更多相关文章

  1. 局域网两台笔记本如何使用svn

    前几天我要和朋友一起开发一个网站,但是都是两台笔记本,连局域网搞的很麻烦,后来就用了git,今天突然想到要用svn,就在网上找了这个办法,结果一试便可以了,很开心 很感谢楼主,下面是我做的步骤绝对给力 ...

  2. centos 7 两台机器搭建三主三从 redis 集群

    参考自:https://linux.cn/article-6719-1.htmlhttp://blog.csdn.net/xu470438000/article/details/42971091 ## ...

  3. FastDFS 分布式文件系统的安装与使用---两台服务器搭建FastDFS环境

    写在前面 有不少小伙伴在实际工作中,对于如何存储文件(图片.视频.音频等)没有一个很好的解决思路.都明白不能将文件存储在单台服务器的磁盘上,也知道需要将文件进行副本备份.如果自己手动写文件的副本机制, ...

  4. 使用spacedesk实现两台笔记本的双屏显示

    转自:https://blog.csdn.net/qq_28106269/article/details/79297132 共屏软件:https://spacedesk.net/

  5. 两台Linux系统之间传输文件

    用CRT分别连上两台需要传输文件的linux系统服务器,并检查防火墙是否关闭. 查看防火墙状态: /etc/init.d/iptables status 若防火墙启用,暂时关闭防火墙: /etc/in ...

  6. 两台装有Ubuntu系统的服务器搭建VPN(一台为本地服务器,另一台为云服务器)

    我们搭建VPN采用的是openvpn,搭建过程总体需要经过三大步骤:   1.openvpn的安装与配置    2.端口转发    3.系统重启iptables规则自动生效  注意:以下所有名令在ro ...

  7. 网络中两台主机的通信过程(TCP)

    两台主机通信有两种情况:1.在同一网段中 2.不在同一网段中 (1.)在同一网段的通信过程 主机在应用层上的操作: TCP/IP协议上tcp的端口对应的各种应用程序,客户机要访问某个应用程序就会要求打 ...

  8. Winpcap网络编程十之Winpcap实战,两台主机通过中间主机通信

    注:源码等等的我不会全然公开的,此篇文章写出来为大家的网络编程或者课程设计提供一定的思路.. 好,本次我们须要完毕的任务是: 完毕两台主机通过中间主机的数据通信(网络层) 添加基于IP地址的转发功能 ...

  9. 两台linux完美实现双机热备【来源网络尚未实践】

    [来源:http://rainbird.blog.51cto.com/211214/225541/]       一直想做基于linux的双机热备,一直没有时间和机会.一直以为只要做双机热备的实验就必 ...

随机推荐

  1. java数据结构和算法------合并排序

      package iYou.neugle.sort; public class Merge_sort { public static void MergeSort(double[] array, i ...

  2. js之基本包装类型

    为了便于操作“基本类型值”,JS 提供了 三个 特殊的引用类型:Boolean.Number.String.这些类型和其他引用类型相似,但同时 也具备 与各自基本类型相应的特殊行为. 实际上:每当读取 ...

  3. 项目结队开发---NABC分析(成员)

    一.简介 项目名称:校园导航 特点:手机app,简便易用,适合对铁大地形不了解.路痴者使用. 二.NABC分析 N(need):对于新生报到,学生家长参观校园等想要了解校园路线者,本app软件将带给你 ...

  4. android sdk manager无法更新(2014-11-6测试OK)--自己收藏用

    问题描述: Android SDK Manager 无法下载更新,或者更新速度超慢,或者待安装包列表不显示. 解决方法:     第一,我们先修改下hosts文件.该文件的位置在系统盘(一般为C盘), ...

  5. 了解Git

           对于计算机软件初学者来说Git并没有太多了解, 以前没有接触过,但是老师说对其进行了解,也没有什么概念,只有通过上网进行了解 . 了解到的大概内容如下:                 ...

  6. 【转】Basic C# OOP Concept

    This Article will explain a very simple way to understand the basic C# OOP Concept Download ShanuBas ...

  7. Leetcode#133 Clone Graph

    原题地址 方法I,DFS 一边遍历一边复制 借助辅助map保存已经复制好了的节点 对于原图中每个节点,如果已经复制过了,直接返回新节点的地址,如果没复制过,则复制并加入map中,接着依次递归复制其兄弟 ...

  8. Leetcode#148 Sort List

    原题地址 链表归并排序 真是恶心的一道题啊,哇了好多次才过. 代码: void mergeList(ListNode *a, ListNode *b, ListNode *&h, ListNo ...

  9. TGL站长关于常见问题的回复

    问题地址: http://www.thegrouplet.com/thread-112923-1-1.html 问题: 网站配有太多的模板是否影响网站加载速度 月光答复: wp不需要删除其他的模板,不 ...

  10. Understanding Convolution in Deep Learning

    Understanding Convolution in Deep Learning Convolution is probably the most important concept in dee ...