专项技能训练五《云计算网络技术与应用》实训8-1:建立基于OpenvSwitch的GRE隧道

news2024/11/27 14:38:16

文章目录

  • 建立基于OpenvSwitch的GRE隧道
        • 1. 使用VMware安装2个CentOS 7虚拟机,安装时记得都开启CPU虚拟化,第一台命名为“Docker”,第二台命名为“KVM”。
        • 2. 安装完虚拟机后,进入虚拟机,修改网络配置(onboot改为yes)并重启网络服务,查看相应IP地址,并使用远程连接软件进行连接。
        • 3. 把老师所给Packages包、centos的docker镜像以及cirros镜像使用winSCP传送至虚拟机(centos6.5传送至docker虚拟机,cirros传送至KVM虚拟机),并解压Packages包至/opt目录下。
        • 4. 两台虚拟机都配置默认镜像yum源,并且把Packages包也一起配置到本地yum源当中。
        • 5. 修改主机名,方便区分。第一台虚拟机(命名为Docker那台)修改主机名为docker,第二台虚拟机(命名为KVM那台)修改主机名为kvm。如下图所示。
    • 配置虚拟机Docker
        • 6. 修改网络配置,新增一行NM_CONTROLLER=no,如下图所示:
        • 7. 关闭防火墙
        • 8. 开启内核转发
        • 9. 安装openvswitch、bridge-utils、tunctl、docker-io服务
        • 10. 更新下路由,看是否有最新路由版本。
        • 11. 启动openvswitch服务以及docker服务。
        • 12. 检查OVS是否安装好。
        • 13. 创建br0网桥,并创建名字为br-int的OVS开放虚拟交换机,并重启网络。
        • 14. 安装net-tools,并给br0设置地址为30.1.0.1/24
        • 15. 把br0桥接到br-int上
        • 16. 把br0桥接到br-int上
        • 17. 在OVS交换机br-int上创建gre接口,地址指向kvm虚拟机IP
        • 18. 启动br0和br-int;
        • 19. 添加一条路由信息,使30.2.0.0网段的路由指向kvm虚拟机的ens33网卡
        • 20. 修改docker配置信息。配置完成后启动docker。
        • 21. 把开始上传的镜像包导入docker,并添加tag。
        • 22. 启动docker,并查看docker的CONTAINER ID
        • 23. 进入docker,查看docker的IP
    • 配置虚拟机KVM
        • 24. 进入网络配置目录,复制一个网络配置文件,命名为ifcfg-br-ex,并修改其配置,如下图所示
        • 25. 修改ens33网卡配置,如下图所示
        • 25. 关闭防火墙规则
        • 26. 开启内核转发
        • 27. 关闭防火墙
        • 28. 更新路由到最新版本
        • 28. 安装openvswitch、qemu-kvm、libvirt、dnsmasq、net-tools服务
        • 29. 开启openvswitch服务,并新建br-int虚拟交换机
        • 30. 给br-int设置ip地址为30.2.0.1/24并开启
        • 31. 在br-int上新添加gre接口,使其指向docker虚拟宿主机
        • 32. 新增一条路由信息,指向docker虚拟宿主机的IP地址
        • 33. 配置dnsmasq;
        • 34. 重新启动dnsmasq;
        • 35. 新建ovs-ifup和if-down脚本。
        • 36. 给两个脚本赋予执行权限
        • 37. 为防止冲突,删除tap0接口
        • 38. 启动kvm虚拟机
        • 39. 使用给的账号密码登录进入
        • 40. 查看kvm虚拟机ip地址
    • 测试连通性
        • 1.kvm虚拟宿主机ping docker虚拟宿主机网桥br0的IP(30.1.0.1),证明两个主机间连通。
        • 2.docker虚拟宿主机ping kvm虚拟宿主机网桥br0的IP(30.2.0.1),证明两个主机间连通。
        • 3.docker中ping kvm虚拟宿主机IP。
        • 4.docker中ping docker宿主机IP。
        • 5.kvm虚拟机中ping通docker
        • 6.docker虚拟机中ping通kvm

建立基于OpenvSwitch的GRE隧道

实验前准备:编辑虚拟机网络配置,使VMnet8处在192.168.10.0网段。

1. 使用VMware安装2个CentOS 7虚拟机,安装时记得都开启CPU虚拟化,第一台命名为“Docker”,第二台命名为“KVM”。
2. 安装完虚拟机后,进入虚拟机,修改网络配置(onboot改为yes)并重启网络服务,查看相应IP地址,并使用远程连接软件进行连接。
3. 把老师所给Packages包、centos的docker镜像以及cirros镜像使用winSCP传送至虚拟机(centos6.5传送至docker虚拟机,cirros传送至KVM虚拟机),并解压Packages包至/opt目录下。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. 两台虚拟机都配置默认镜像yum源,并且把Packages包也一起配置到本地yum源当中。

镜像yum源配置教程详见:CentOS如何配置本地yum源。
Packages包本地yum源配置详见:实训5-1

5. 修改主机名,方便区分。第一台虚拟机(命名为Docker那台)修改主机名为docker,第二台虚拟机(命名为KVM那台)修改主机名为kvm。如下图所示。

docker那台:
在这里插入图片描述
KVM那台:
在这里插入图片描述

配置虚拟机Docker

6. 修改网络配置,新增一行NM_CONTROLLER=no,如下图所示:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7. 关闭防火墙

在这里插入图片描述

在这里插入图片描述

8. 开启内核转发

小知识:为什么我们需要开启内核转发?
linux服务器经常被用来提供防火墙、路由器、NAT等功能,在这些场景下,linux内核需要将网卡上收到的报文转发给其他网络设备。linux内核提供了ip_forward参数用于开关内核的报文转发功能,只有这个开关被打开时,内核才会执行报文的转发。
在这里插入图片描述

9. 安装openvswitch、bridge-utils、tunctl、docker-io服务

在这里插入图片描述
在这里插入图片描述

10. 更新下路由,看是否有最新路由版本。

在这里插入图片描述

11. 启动openvswitch服务以及docker服务。

在这里插入图片描述
在这里插入图片描述

12. 检查OVS是否安装好。

在这里插入图片描述

13. 创建br0网桥,并创建名字为br-int的OVS开放虚拟交换机,并重启网络。

在这里插入图片描述
在这里插入图片描述

14. 安装net-tools,并给br0设置地址为30.1.0.1/24

在这里插入图片描述
在这里插入图片描述

15. 把br0桥接到br-int上

在这里插入图片描述

16. 把br0桥接到br-int上

在这里插入图片描述

17. 在OVS交换机br-int上创建gre接口,地址指向kvm虚拟机IP
ovs-vsctl add-port br-int gre0 -- set interface gre0 type=gre options:remote_ip=192.168.10.*(这里为KVM宿主机IP地址)
18. 启动br0和br-int;

在这里插入图片描述

19. 添加一条路由信息,使30.2.0.0网段的路由指向kvm虚拟机的ens33网卡
ip route add 30.2.0.0/24 via 192.168.10.*(这里为kvm虚拟宿主机IP地址) dev ens33
20. 修改docker配置信息。配置完成后启动docker。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

21. 把开始上传的镜像包导入docker,并添加tag。

在这里插入图片描述

22. 启动docker,并查看docker的CONTAINER ID

在这里插入图片描述

23. 进入docker,查看docker的IP

在这里插入图片描述

配置虚拟机KVM

24. 进入网络配置目录,复制一个网络配置文件,命名为ifcfg-br-ex,并修改其配置,如下图所示

在这里插入图片描述
在这里插入图片描述

25. 修改ens33网卡配置,如下图所示

在这里插入图片描述

25. 关闭防火墙规则

在这里插入图片描述

26. 开启内核转发

在这里插入图片描述

27. 关闭防火墙

(执行 setenforce 0 时,它会关闭 SELinux 防火墙。SELinux 是一个内核模块,它提供了访问控制安全策略,以防止未授权的进程访问系统资源。)
在这里插入图片描述

28. 更新路由到最新版本

在这里插入图片描述

28. 安装openvswitch、qemu-kvm、libvirt、dnsmasq、net-tools服务

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

29. 开启openvswitch服务,并新建br-int虚拟交换机

在这里插入图片描述

30. 给br-int设置ip地址为30.2.0.1/24并开启

在这里插入图片描述

31. 在br-int上新添加gre接口,使其指向docker虚拟宿主机
ovs-vsctl add-port br-int gre0 -- set interface gre0 type=gre options:remote_ip=192.168.10.*(这里为docker虚拟宿主机的IP地址)
32. 新增一条路由信息,指向docker虚拟宿主机的IP地址

在这里插入图片描述

33. 配置dnsmasq;
/usr/sbin/dnsmasq --strict-order --bind-interfaces --interface=br-int --except-interface=lo --pid-file=/var/run/qdhcp.pid --leasefile-ro --dhcp-range=30.2.0.3,30.2.0.254,255.255.255.0,12h --conf-file=
34. 重新启动dnsmasq;

在这里插入图片描述

35. 新建ovs-ifup和if-down脚本。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

36. 给两个脚本赋予执行权限

在这里插入图片描述

37. 为防止冲突,删除tap0接口

在这里插入图片描述

38. 启动kvm虚拟机
/usr/libexec/qemu-kvm -m 512 -drive file=cirros-0.3.3-x86_64-disk.img,if=virtio -net nic,model=virtio -net tap,script=ovs-ifup -nographic -vnc :1 

在这里插入图片描述

39. 使用给的账号密码登录进入

在这里插入图片描述

40. 查看kvm虚拟机ip地址

在这里插入图片描述

测试连通性

1.kvm虚拟宿主机ping docker虚拟宿主机网桥br0的IP(30.1.0.1),证明两个主机间连通。

在这里插入图片描述

2.docker虚拟宿主机ping kvm虚拟宿主机网桥br0的IP(30.2.0.1),证明两个主机间连通。

在这里插入图片描述

3.docker中ping kvm虚拟宿主机IP。

在这里插入图片描述

4.docker中ping docker宿主机IP。

在这里插入图片描述

5.kvm虚拟机中ping通docker

在这里插入图片描述

6.docker虚拟机中ping通kvm

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1650519.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

stable-diffusion-webui配置

源码地址 https://github.com/AUTOMATIC1111/stable-diffusion-webui.git报错Fresh install fail to load AttributeError: NoneType object has no attribute _id pydantic降级 pip uninstall pydantic pip install pydantic1.10.11记得要把clip-vit-large-patch14放在opena…

SSM+Vue+Element-UI实现教资考前指导系统

前言介绍 对于本教资考前指导系统的设计来说,系统开发主要是采用java语言技术,在整个系统的设计中应用MySQL数据库来完成数据存储,具体根据教资考前指导系统的现状来进行开发的,具体根据现实的需求来实现四六级在线考试系统网络化…

展开说说:Android线程池解析

何谓线程池?本人理解是存放和管理线程的一个容器。 线程池存在的意义是什么? 第一:前面博客提到过创建和销毁线程的操作本身是有性能开销的,如果把使用的线程对象存起来下次用的时候直接取出来用就省去了一次创建和销毁的成本&a…

Windows安装Cygwin

背景介绍 在Windows上安装Python包时,就算启用了指定的虚拟环境,安装都会被安装到系统的Python环境中,为了避免污染系统Python环境,所以决定在Windows上安装Cygwin使用Linux相关命令创建Python虚拟环境。 安装Cygwin 下载Cygwin安装包 我…

618挑选家用洗地机,需要注意哪些事项?有哪些家用洗地机值得买?

近年来,智能清洁家电越来越受到消费者的欢迎,洗地机作为清洁家电的新宠,凭借其集扫地、拖地、杀菌清洗于一体的强大功能,成为市场上的热销产品。那么,这类洗地机真的好用吗?怎么挑选到好用的家用的洗地机呢…

【DeepLearning.AI】吴恩达系列课程——使用ChatGPT API构建系统(持续更新中——)

目录 前言一、Language Models, the Chat Format and Tokens(LLM,交互形式)1-1、加载api-key1-2、使用辅助函数(即指令调整LLM)1-2、使用辅助函数(聊天格式)1-3、辅助函数修改(输出字…

Spring - 6 ( 9000 字 Spring 入门级教程 )

一: SpringBoot 配置文件 1.1 配置文件作用 配置文件通常是一个文本文件,其中包含了程序或系统的各种设置、选项和参数。比如C:\Users, C:\Windows 文件夹, 以及各种 .config, .xml 文件 配置文件主要是为了解决硬编码(代码写死&#xff0…

数据分析必备:一步步教你如何用numpy改变数据处理(6)

介绍: NumPy 广播(Broadcasting)是指当两个形状不同的数组进行运算时,NumPy 有能力灵活地改变其中某个(些)数组的形状从而使得运算可以正常进行。 广播的规则主要包括以下几点: 当一个数组是一个…

C语言----汉诺塔问题

1.什么是汉诺塔问题 简单来说,就是有三个柱子,分别为A柱,B柱,C柱。其中A柱从上往下存放着从小到大的圆盘,我们需要借助B柱和C柱,将A柱上的所有圆盘转移到C柱上,并且一次只能移动一个圆盘&#…

【区块链】智能合约简介

智能合约起源 智能合约这个术语至少可以追溯到1995年,是由多产的跨领域法律学者尼克萨博(NickSzabo)提出来的。他在发表在自己的网站的几篇文章中提到了智能合约的理念。他的定义如下:“一个智能合约是一套以数字形式定义的承诺&a…

我独自升级崛起一键下载 我独自升级崛起一键下载安装教程

将于5月8日向全球绽放的《我独自升级:崛起》,标志着动作角色扮演类游戏的新纪元。它深挖同名动漫与网络漫画的丰富底蕴,誓言以无尽的魅力引导玩家涉足一个深广莫测、波澜壮阔的奇幻领域。该游戏巧妙地植根于一个前所未有的赛博武侠天地间&…

19_Scala集合概述

文章目录 集合回顾javaScala集合三大类String & StringBuilderScala集合两大类 集合 回顾java scala与Java有所不同 函数式编程语言更侧重集合本身提供的哪些功能; Scala集合三大类 1.Seq 存储有序数据可重复 类比 List 2.Set 存储无序数据不可重复 3.Map…

拥抱新质生产力,助力新型工业化!CMM电子展暨IARS机器人展5月东莞盛大起航

2024年5月15-17日,东浩兰生会展集团旗下CMM电子展&IARS机器人展将在广东现代国际展览中心(东莞厚街)举办。展会面积达50000平方米,展示品牌700余个,同期论坛峰会30余场,预计专业观众超50000人次…

DI-engine强化学习入门(十又二分之一)如何使用RNN——数据处理、隐藏状态、Burn-in

一、数据处理 用于训练 RNN 的 mini-batch 数据不同于通常的数据。 这些数据通常应按时间序列排列。 对于 DI-engine, 这个处理是在 collector 阶段完成的。 用户需要在配置文件中指定 learn_unroll_len 以确保序列数据的长度与算法匹配。 对于大多数情况, learn_un…

【热门话题】实用Chrome命令:提升前端开发效率的利器

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 实用Chrome命令:提升前端开发效率的利器引言目录1. 快速打开Chrome …

批量将GOID转成GO term名并添加BP,MF,CC分类信息

基因本体论(Gene Ontology,GO,https://www.geneontology.org)是一个广泛应用于生物信息学领域的知识库,它提供了一套标准化的词汇和分类体系,用于描述基因功能、细胞组分和生物过程。GO旨在统一科研人员对基…

【Delphi7】Access violation at address 0019F7C3. Write of address 0019F7C3.

这里写目录标题 问题基本情况问题描述1、启动Delphi 开发程序 时连续报如下错误2、打开“工程”菜单下的“选项”页面时时连续报如下错误 解决方案1、打开“高级系统设置”2、打开“性能选项”3、添加“数据执行保护”的程序4、选择“数据执行保护”的程序5、应用“数据执行保护…

【免费】虚拟同步发电机(VSG)惯量阻尼自适应控制仿真模型【simulink】

目录 主要内容 仿真模型要点 2.1 整体仿真模型 2.2 电压电流双闭环模块 2.3 SVPWM调制策略 2.4 无功电压模块 2.5 自适应控制策略及算法 部分结果 下载链接 主要内容 该模型为simulink仿真模型,主要实现的内容如下: 随着风力发电、光…

数据结构复习/学习9--二叉树

一、堆与完全二叉树 1.堆的逻辑与物理结构 2.父节点与子节点的下标 3.大小根堆 二、堆的实现(大根堆为例) 注意事项总结: 注意堆中插入与删除数据的位置和方法与维持大根堆有序时的数据上下调整 三、堆排序 1.排升序建大堆效率高 注意事项…

信锐交换机简介及应用说明(1)

交换机关键参数及分类 1.线速 线速是指交换机的端口上每秒钟传输的bit数,单位为bps(bit per second,即每秒传输多少bit,一个bit也就是一个二进制数0或者1)。以我们常见的例子来说明的话,比如100M的网卡就…