当前位置: 首页 > news >正文

云计算:OpenStack 配置二层物理网卡为三层桥的接口

目录

一、理论

1.OpenStack

二、实验

1. Linux系统修改网卡

2.OpenStack 配置二层物理网卡为三层桥的接口


一、理论

1.OpenStack

(1)概念

OpenStack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。由NASA(美国国家航空航天局)和Rackspace合作研发并发起,以Apache许可证(Apache软件基金会发布的一个自由软件许可证)授权。

OpenStack为私有云和公有云提供可扩展的弹性的云计算服务。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。

(2)官网架构图

Open Source Cloud Computing Platform Software - OpenStack

(3)关键组件与服务

表1 Openstack关键组件与服务

服务类型组件名称描述
DashboardHorizon提供了一个基于web的自服务门户,通过web与OpenStack底层服务交互。
Controller/ComputeNova在OpenStack环境中计算实例的生命周期管理。包括虚拟机创建、调度、删除等操作。
NetworkingNeutron确保为其它OpenStack服务提供网络连接即服务,比如OpenStack计算。为用户提供API定义网络和使用。基于插件的架构其支持众多的网络提供商和技术。
Object StorageSwift通过基于HTTP的应用程序接口存储和任意检索的非结构化数据对象。
Block StorageCinder为运行实例而提供的持久性块存储。它的可插拔驱动架构的功能有助于创建和管理块存储设备。
Identity ServiceKeystone为其他OpenStack服务提供认证和授权服务,为所有的OpenStack服务提供一个端点目录。
Image ServiceGlance存储和检索虚拟机镜像元数据,OpenStack会在实例部署时使用此服务。
Telemetry ServiceCeilometer为OpenStack云的计费、基准、扩展性以及统计等目的提供监测和计量。
Orchestration ServiceHeat既可以模板来编排多个综合的云应用,类似 AWS的CloudFormation。

(4)基础网络配置

1)br-ex 
连接外部网络(external)2)br-tun
连接隧道网络(tunnel)3)br-int
综合网桥(integration)

二、实验

1. Linux系统修改网卡

(1)关闭网络管理

[root@openstack ~]# systemctl stop NetworkManager && systemctl disable NetworkManager

(2)查看当前ip地址

[root@openstack ~]# ip a

(3)复制网卡

[root@openstack ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-ens33

(4)查看网卡

[root@openstack ~]# cd /etc/sysconfig/network-scripts/
[root@openstack network-scripts]# ls
ifcfg-ens33  ifdown-eth   ifdown-isdn  ifdown-routes    ifdown-tunnel  ifup-eth   ifup-isdn   ifup-post    ifup-Team      init.ipv6-global
ifcfg-eth0   ifdown-ib    ifdown-ovs   ifdown-sit       ifup           ifup-ib    ifup-ovs    ifup-ppp     ifup-TeamPort  network-functions
ifdown       ifdown-ippp  ifdown-post  ifdown-Team      ifup-aliases   ifup-ippp  ifup-plip   ifup-routes  ifup-tunnel    network-functions-ipv6
ifdown-bnep  ifdown-ipv6  ifdown-ppp   ifdown-TeamPort  ifup-bnep      ifup-ipv6  ifup-plusb  ifup-sit     ifup-wireless  test

(5)编辑网卡

[root@openstack network-scripts]# vim ifcfg-ens33 

(6)删除旧网卡

[root@openstack network-scripts]# rm -fr /etc/sysconfig/network-scripts/ifcfg-eth0

(7)重启网络服务

[root@openstack network-scripts]# systemctl restart network

(8)主机ping opsenstack地址

(9) 登录系统

http://192.168.199.201

2.OpenStack 配置二层物理网卡为三层桥的接口

(1)查看当前网桥信息

[root@openstack network-scripts]# ovs-vsctl show
db90689c-619b-4abe-bcbf-16563efed45bManager "ptcp:6640:127.0.0.1"is_connected: trueBridge br-exController "tcp:127.0.0.1:6633"is_connected: truefail_mode: securePort br-exInterface br-extype: internalPort phy-br-exInterface phy-br-extype: patchoptions: {peer=int-br-ex}Bridge br-intController "tcp:127.0.0.1:6633"is_connected: truefail_mode: securePort br-intInterface br-inttype: internalPort int-br-exInterface int-br-extype: patchoptions: {peer=phy-br-ex}Port patch-tunInterface patch-tuntype: patchoptions: {peer=patch-int}Bridge br-tunController "tcp:127.0.0.1:6633"is_connected: truefail_mode: securePort patch-intInterface patch-inttype: patchoptions: {peer=patch-tun}Port br-tunInterface br-tuntype: internalovs_version: "2.7.3"

(2)备份网卡

[root@openstack network-scripts]# mkdir bak[root@openstack network-scripts]# ls
bak          ifdown-ib    ifdown-post    ifdown-TeamPort  ifup-eth   ifup-ovs    ifup-routes    ifup-wireless
ifcfg-ens33  ifdown-ippp  ifdown-ppp     ifdown-tunnel    ifup-ib    ifup-plip   ifup-sit       init.ipv6-global
ifdown       ifdown-ipv6  ifdown-routes  ifup             ifup-ippp  ifup-plusb  ifup-Team      network-functions
ifdown-bnep  ifdown-isdn  ifdown-sit     ifup-aliases     ifup-ipv6  ifup-post   ifup-TeamPort  network-functions-ipv6
ifdown-eth   ifdown-ovs   ifdown-Team    ifup-bnep        ifup-isdn  ifup-ppp    ifup-tunnel    test[root@openstack network-scripts]# cp ifcfg-ens33 bak/

(3)创建br-ex桥

[root@openstack network-scripts]# cp ifcfg-ens33 ifcfg-br-ex[root@openstack network-scripts]# vim ifcfg-ens33 [root@openstack network-scripts]# vim ifcfg-br-ex 

复制

将对应的物理网卡添加到OVS– BR-EX上作为一个接口

地址配置在br-ex 三层接口上

(4)重启网络

[root@openstack network-scripts]# service network restart
Restarting network (via systemctl):                        [  确定  ]

(5)查看接口信息

[root@openstack network-scripts]# more ifcfg-ens33
TYPE=OVSPort
HWADDR=00:0c:29:53:85:ce
ONBOOT=yes
DEVICE=ens33
DEVICETYPE=ovs
OVS_BRIDGE=br-ex

(6)查看网桥信息

[root@openstack network-scripts]# more ifcfg-ens33
TYPE=OVSPort
HWADDR=00:0c:29:53:85:ce
ONBOOT=yes
DEVICE=ens33
DEVICETYPE=ovs
OVS_BRIDGE=br-ex[root@openstack network-scripts]# more ifcfg-br-ex 
TYPE=OVSBridge
DEVICETYPE=ovs
DEVICE=br-ex
BOOTPROTO=static
DNS1=192.168.199.2
DEFROUTE=yes
NAME=br-ex
ONBOOT=yes
IPADDR=192.168.199.201
PREFIX=24
GATEWAY=192.168.199.2

(7)查看ip

[root@openstack network-scripts]# ip add show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master ovs-system state UP qlen 1000link/ether 00:0c:29:53:85:ce brd ff:ff:ff:ff:ff:ffinet6 fe80::20c:29ff:fe53:85ce/64 scope link valid_lft forever preferred_lft forever
3: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000link/ether ba:4a:22:6d:00:d7 brd ff:ff:ff:ff:ff:ff
4: br-int: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000link/ether 06:b7:f9:bd:7d:47 brd ff:ff:ff:ff:ff:ff
5: br-tun: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000link/ether 8a:88:cb:d5:87:41 brd ff:ff:ff:ff:ff:ff
6: br-ex: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN qlen 1000link/ether 00:0c:29:53:85:ce brd ff:ff:ff:ff:ff:ffinet 192.168.199.201/24 brd 192.168.199.255 scope global br-exvalid_lft forever preferred_lft foreverinet6 fe80::3c23:faff:fe8f:9d47/64 scope link valid_lft forever preferred_lft forever

(8)主机 ping openstack地址

(9)查看网桥信息(桥br-ex已添加端口ens33,对应接口为ens33)

[root@openstack network-scripts]# ovs-vsctl show
db90689c-619b-4abe-bcbf-16563efed45bManager "ptcp:6640:127.0.0.1"Bridge br-exController "tcp:127.0.0.1:6633"fail_mode: securePort br-exInterface br-extype: internalPort "ens33"Interface "ens33"Port phy-br-exInterface phy-br-extype: patchoptions: {peer=int-br-ex}Bridge br-intController "tcp:127.0.0.1:6633"fail_mode: securePort br-intInterface br-inttype: internalPort int-br-exInterface int-br-extype: patchoptions: {peer=phy-br-ex}Port patch-tunInterface patch-tuntype: patchoptions: {peer=patch-int}Bridge br-tunController "tcp:127.0.0.1:6633"fail_mode: securePort patch-intInterface patch-inttype: patchoptions: {peer=patch-tun}Port br-tunInterface br-tuntype: internalovs_version: "2.7.3"

(9) 测试抓包

[root@openstack network-scripts]# tcpdump -i br-ex | grep -i icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on br-ex, link-type EN10MB (Ethernet), capture size 262144 bytes
^C40 packets captured
40 packets received by filter
0 packets dropped by kernel

(10)再次成功登录系统

相关文章:

  • 文件监控-IT安全管理软件
  • 鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之线性布局容器Row组件
  • OpenHarmony城市技术论坛武汉站:探索大模型时代的终端操作系统创新
  • 二叉树的非递归遍历|前中后序遍历
  • android studio导入module
  • 解决:Vue2项目兼容IE,页面出现白屏
  • 单集群400TB,OceanBase稳定支撑快手核心业务场景
  • Django信号机制源码分析(观察者模式)
  • docker学习(二十一、network使用示例container、自定义)
  • 【自然语言处理】【大模型】 ΨPO:一个理解人类偏好学习的统一理论框架
  • Flink1.17实战教程(第二篇:DataStream API)
  • 云原生机器学习平台cube-studio开源项目及代码简要介绍
  • Python 网络编程之搭建简易服务器和客户端
  • 智慧监控平台/AI智能视频EasyCVR接口调用编辑通道详细步骤
  • andriod安卓水果商城系统课设
  • 收藏网友的 源程序下载网
  • 「面试题」如何实现一个圣杯布局?
  • CentOS7简单部署NFS
  • ES6之路之模块详解
  • javascript从右向左截取指定位数字符的3种方法
  • JavaScript函数式编程(一)
  • JavaScript设计模式之工厂模式
  • mongodb--安装和初步使用教程
  • Netty 4.1 源代码学习:线程模型
  • Node项目之评分系统(二)- 数据库设计
  • PaddlePaddle-GitHub的正确打开姿势
  • Python打包系统简单入门
  • Service Worker
  • sublime配置文件
  • 编写高质量JavaScript代码之并发
  • 程序员该如何有效的找工作?
  • 分享一份非常强势的Android面试题
  • 给新手的新浪微博 SDK 集成教程【一】
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 《码出高效》学习笔记与书中错误记录
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • ​第20课 在Android Native开发中加入新的C++类
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • (20050108)又读《平凡的世界》
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (转)EOS中账户、钱包和密钥的关系
  • (转)人的集合论——移山之道
  • ***检测工具之RKHunter AIDE
  • *1 计算机基础和操作系统基础及几大协议
  • .MSSQLSERVER 导入导出 命令集--堪称经典,值得借鉴!
  • .NET/C# 使用 SpanT 为字符串处理提升性能
  • .NET开源项目介绍及资源推荐:数据持久层
  • .NET中GET与SET的用法
  • /etc/skel 目录作用
  • @Autowired标签与 @Resource标签 的区别
  • @Transaction注解失效的几种场景(附有示例代码)