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

本文主要是介绍专项技能训练五《云计算网络技术与应用》实训8-1:建立基于OpenvSwitch的GRE隧道,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 建立基于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

在这里插入图片描述

这篇关于专项技能训练五《云计算网络技术与应用》实训8-1:建立基于OpenvSwitch的GRE隧道的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/968215

相关文章

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2

Spring AI与DeepSeek实战一之快速打造智能对话应用

《SpringAI与DeepSeek实战一之快速打造智能对话应用》本文详细介绍了如何通过SpringAI框架集成DeepSeek大模型,实现普通对话和流式对话功能,步骤包括申请API-KEY、项目搭... 目录一、概述二、申请DeepSeek的API-KEY三、项目搭建3.1. 开发环境要求3.2. mav

MobaXterm远程登录工具功能与应用小结

《MobaXterm远程登录工具功能与应用小结》MobaXterm是一款功能强大的远程终端软件,主要支持SSH登录,拥有多种远程协议,实现跨平台访问,它包括多会话管理、本地命令行执行、图形化界面集成和... 目录1. 远程终端软件概述1.1 远程终端软件的定义与用途1.2 远程终端软件的关键特性2. 支持的

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加

JavaScript中的isTrusted属性及其应用场景详解

《JavaScript中的isTrusted属性及其应用场景详解》在现代Web开发中,JavaScript是构建交互式应用的核心语言,随着前端技术的不断发展,开发者需要处理越来越多的复杂场景,例如事件... 目录引言一、问题背景二、isTrusted 属性的来源与作用1. isTrusted 的定义2. 为

Python调用另一个py文件并传递参数常见的方法及其应用场景

《Python调用另一个py文件并传递参数常见的方法及其应用场景》:本文主要介绍在Python中调用另一个py文件并传递参数的几种常见方法,包括使用import语句、exec函数、subproce... 目录前言1. 使用import语句1.1 基本用法1.2 导入特定函数1.3 处理文件路径2. 使用ex

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像