专项技能训练五《云计算网络技术与应用》实训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

相关文章

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

Python实现精确小数计算的完全指南

《Python实现精确小数计算的完全指南》在金融计算、科学实验和工程领域,浮点数精度问题一直是开发者面临的重大挑战,本文将深入解析Python精确小数计算技术体系,感兴趣的小伙伴可以了解一下... 目录引言:小数精度问题的核心挑战一、浮点数精度问题分析1.1 浮点数精度陷阱1.2 浮点数误差来源二、基础解决

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

PostgreSQL简介及实战应用

《PostgreSQL简介及实战应用》PostgreSQL是一种功能强大的开源关系型数据库管理系统,以其稳定性、高性能、扩展性和复杂查询能力在众多项目中得到广泛应用,本文将从基础概念讲起,逐步深入到高... 目录前言1. PostgreSQL基础1.1 PostgreSQL简介1.2 基础语法1.3 数据库

Python文本相似度计算的方法大全

《Python文本相似度计算的方法大全》文本相似度是指两个文本在内容、结构或语义上的相近程度,通常用0到1之间的数值表示,0表示完全不同,1表示完全相同,本文将深入解析多种文本相似度计算方法,帮助您选... 目录前言什么是文本相似度?1. Levenshtein 距离(编辑距离)核心公式实现示例2. Jac

Python中的filter() 函数的工作原理及应用技巧

《Python中的filter()函数的工作原理及应用技巧》Python的filter()函数用于筛选序列元素,返回迭代器,适合函数式编程,相比列表推导式,内存更优,尤其适用于大数据集,结合lamb... 目录前言一、基本概念基本语法二、使用方式1. 使用 lambda 函数2. 使用普通函数3. 使用 N

Python中yield的用法和实际应用示例

《Python中yield的用法和实际应用示例》在Python中,yield关键字主要用于生成器函数(generatorfunctions)中,其目的是使函数能够像迭代器一样工作,即可以被遍历,但不会... 目录python中yield的用法详解一、引言二、yield的基本用法1、yield与生成器2、yi

Python多线程应用中的卡死问题优化方案指南

《Python多线程应用中的卡死问题优化方案指南》在利用Python语言开发某查询软件时,遇到了点击搜索按钮后软件卡死的问题,本文将简单分析一下出现的原因以及对应的优化方案,希望对大家有所帮助... 目录问题描述优化方案1. 网络请求优化2. 多线程架构优化3. 全局异常处理4. 配置管理优化优化效果1.

Python中高级文本模式匹配与查找技术指南

《Python中高级文本模式匹配与查找技术指南》文本处理是编程世界的永恒主题,而模式匹配则是文本处理的基石,本文将深度剖析PythonCookbook中的核心匹配技术,并结合实际工程案例展示其应用,希... 目录引言一、基础工具:字符串方法与序列匹配二、正则表达式:模式匹配的瑞士军刀2.1 re模块核心AP