OpenStack实操用到的网络知识

搭建OpenStack平台或者维护OpenStack平台会用到一些交叉性的网络知识,一部分和Linux操作系统的配置有关、一部分和交换机、路由器、网桥等网络设备有关。当然,和网络有关的部分并不会涉及的特别深入,仍以基本操作为主,毕竟OpenStack平台本质上仍旧是一个以软件为中心的OS级底层平台。

? ? ? ? ?在使用OpenStack平台时,我们会在日常维护过程中频繁使用到这几个概念:网卡接口、网桥、VLAN、VXLAN、命名空间与名字空间、GRE。

? ? ? ? ?网卡,指的是Linux系统中的 Ethnet,是一个物理接口,也可以通过虚拟软件模拟生成。? ? ? ??

网卡管理工具 ethtool

???安装:

???Ubuntu:apt-get install -y ethtool

???CentOS:yum install -y ethtool

???操作:

???ethtool -s DEVICENAME autoneg off speed NUMBER duplex full /设置网卡以某个速度开启全双工/

???Ubuntu:网卡配置文件是 /etc/network/interfaces

???ethtool eth0 /查看网考eth0的信息/

???/etc/init.d/networking restart /重启网络服务/

?

??配置网卡eth2 的子接口 eth2:0 ,编辑eth2的配置文件如下{

??auto eth2

??iface eth2 inet static

??address 12.7.2.2

??netmask 255.0.0.0

?

??auto eth2:0

??iface eth2:0 inet static

??address 12.7.2.21

??netmask 255.0.0.0

???ifconfig ??/查看本机网卡信息/

?

???CentOS:网卡配置文件是 /etc/sysconfig/network-scripts/ifcfg-网卡名称

???ethtool em1 /查看网卡em1的信息/

???service network restart /重启网络服务/?

???配置网卡 em2 的子接口 em2:0 ,编辑配置文件 /etc/sysconfig/network-scripts/ifcfg-em2:2 如下{

????DEVICE=em2:0

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.1.100

NETMASK=255.255.255.0

GATWAY=192.168.1.1

ONPARENT=yes

?

网桥是什么?网桥作为一个物理设备出现时,是指一种只有输入和输出连个端口的、工作在数据链路层对帧进行转发的硬件产品,他用于链接两个同质网络,即采用同一网络协议的LAN,并依赖缓存的MAC地址根据设定条件转发或丢弃数据。在OpenStack环境中,网桥指的是Linux内核模块虚拟的以太网接口桥接技术,同时具备了交换机的功能,可以有多个端口,所有加入到网桥的网卡共享网桥的IP,效果相当于在物理交换机的端口上接了一根网线,用于解决虚拟机网卡连接问题。桥接,就是把一台机器上的多个端口连接起来,其中一个端口收到的报文会被赋值给其他端口。

在OpenStack虚拟环境下,Linux宿主系统中的虚拟网桥会与宿主机的物理网卡连接,寄宿系统中的网卡则加入到虚拟网桥上。

网桥是出现在宿主系统中的,我们选择CentOS作为宿主系统:

1 安装网桥的管理工具 bridge-utils

??Yum install -y brodge-utils

2 创建网桥 br1 并将物理网卡 em1 加入 br1,并配置 br1 的 IP 为 172.21.1.3

???brctl addbr br1

?brctl addif em1

???ifconfig em1 0.0.0.0

???ifconfig br1 172.21.1.3 netmask 255.255.0.0

3 查看网桥信息

??brctl show br1

4 物理网卡em1的配置文件 ifcf-em1:

??DEVICE=”em1”

??HWADDR=”d4:ae:52:64:04:06”

??#NM_CONTROLLED=”yes”

??ONBOOT=”yes”

??BRIDG=”br1”

5 虚拟网桥br1的配置文件 ifcfg-br1:

??DEVICE=”br1”

??TYPE=Bridge

??BOOTPROTO=static

??IPADDR=172.21.1.3

??NETMASK=255.255.0.0

??NETWORK=172.21.0.0

??GATEWAY=172.21.1.1

DNS1=61.139.2.69

ONBOOT=”yes”

?

配置了网桥的IP后,即可使用此IP远程访问宿主系统。

与网桥相连接的寄宿系统IP,可以与本网桥IP处于同一网段,也可以处于不同网段。

在实验环境中我们统一配置寄宿系统的IP段为 192.168.1.0/24,外部交换机设网关地址 192.168.1.1 ,宿主系统中网桥br1的IP为 172.21.1.3 。

?

我们的寄宿系统是Ubuntu,Ubuntu的网卡eth0需要加入到宿主系统的网卡br0上。Ubuntu的网卡、网桥等配置都在文件 /etc/network/interfaces 中完成:

?

auto eth0 iface

eth0 inet manual

auto br0

iface br0 inet static

address 192.068.1.3

netmask 255.255.255.0

gateway 192.168.1.1

bridge_ports eth0

?

关于寄宿系统的网卡与宿主系统的网桥链接:

创建寄宿系统时,在宿主系统CentOS 中可以通过GUI工具 virt-manager将寄宿系统的网卡挂载到指定网桥上。

VLAN即 802.1Q 协议,用于限制因广播风暴引起的网桥通信能力下降,可以隔离不同的网络。习惯上,我们将虚拟网桥与VLAN对应起来。一个局域网中可以有4096个VLAN 。

VLAN的工作机制是给每个寄宿机发出包都加上一个tag,每个寄宿机只能接收同一VLAN tag的包。

给包标记tag的端口叫做接入端口,只转发数据包的端口叫中继端口。各寄宿机在虚拟网桥上的接口就是接入端口,宿主机上的物理网卡接口及交换机上的端口则是中继端口。

?

Linux下VLAN的管理工具是 vconfig。

在寄宿系统Ubuntu下,安装vconfig并载入8021q模块:

apt-get install vlan

modprobe 8021q ?【将该模块加入到配置文件 /etc/modules 中】

?

多个VLAN的数据可以通过一个物理网卡对外转发,每个VLAN以独立的接口出现。可以为每个VALN接口分配不同的IP,让这个IP成为某个VALN对外访问的网关。

在寄宿系统Ubuntu的eth2上创建VALN 2、3、4并赋予各VALN IP,而后将之添加到寄宿系统路由表中:

vconfig add eth2 2

vconfig add eth2 3

vconfig add eth2 4

ifconfig eth2.2 192.168.2.1 netmask 255.255.255.0 up

ifconfig eth2.3 192.168.3.1 netmask 255.255.255.0 up

ifconfig eth2.4 192.168.4.1 netmask 255.255.255.0 up

ip route add 192.168.1.0/24 dev eth2.2

ip route add 192.168.2.0/24 dev eth2.3

ip route add 192.168.3.0/24 dev eth2.4

【vconfig rem VALN接口 表示删除某个VLAN接口】

在宿主机CentOS 中,我们只创建虚拟网桥和VLAN,VALN的网关设置在交换机中,不同VLAN间的互访通过交换机中的路由表完成。若要限制不同VALN间的互访,则应在交换机中配置访问控制列表。

用多块网卡连接不同网段,需要用路由表来处理网络路径。

?

Open vSwitch 是创建在宿主系统CentOS中的虚拟交换机。

虚拟交换机的使用:

?

ovs-vsctl add-br br0 ?/添加虚拟网桥br0/

ovs-vsctl add-port br0 eth0 /将网卡eth0加入到虚拟网桥br0/

ovs-vsctl add-port br0 vlan1 tag=1 /**在虚拟网桥br0上创建属于VLAN1的端口vlan1/

ovs-vsctl add-port br0 vlan2 tag=2 /**在虚拟网桥br0上创建属于VLAN2的端口vlan2/

ovs-vsctl set Interface vlan1 type=internal /设置端口vlan1/

ifconfig vlan1 192.168.1.1 netmask 255.255.255.0 /设置vlan1端口的IP为192.168.1.1/

ovs-vsctl set Interface vlan2 type=internal /设置端口vlan2/

ifconfig vlan2 192.168.2.1 netmask 255.255.255.0 /设置vlan2 端口的IP为192.168.2.1/

【我们将eth0的IP配置为0,则应给其所属虚拟网桥br0配置IP及网关,通过虚拟网桥的IP访问服务器】

关于保存OVS的配置:一是将配置指令写入 /etc/rc.local ;二是将配置写入网络配置文件。

一个VXLAN管理域可有1600万个VIN,每个VIN可以有4096个VLAN。运行在同一个VIN上的寄宿机间可以通信。

可以在宿主系统CentOS上创建一个VXLAN接口,将之加入虚拟交换机的一个桥中,这样OVS便具备了组播功能。

?

在Linux中 命名空间 提供了一种资源虚拟隔离机制,从而实现多个进程间的互不干扰。在OpenStack华景中,我们更关注网络命名空间,相同命名空间内的网络设备可以互访、不同命名空间内的网络设备不可互访。命名空间和系统的通信是通过VETH实现的,命名空间内的veth-in接口的数据会被转发到系统空间的veth-out端口,veth-out和宿主机的网卡eth0加入到同一个虚拟网桥后,veth-in接口的数据就可以通过宿主机的网卡eth0与外部通信了。

?

GRE,全称为Generic Routing Encapsulation,通用路由封装,针对某些网络协议的报文进行封装、并使封装后的报文能在另一网络协议中传输。GRE本质上是一种支持点对点连接的tunnel技术,在OpenStack中由OVS进行封包和解包,这是现今主要使用的 Overlay 网络技术之一,由Cisco 等公司提出。

VXLAN,是一种新的网域管理设计理念,是一种交换机上的功能,每个管理域可容纳1600个VIN、每个VIN又可容纳4096VLAN,使得整个OpenStack的租户容量大大得到扩展,同事也使得一个租户的VM实例可以跨数据中心部署。

?

?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 孟伯,20200307

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??交流联系:微信 1807479153 ,QQ 1807479153

原文地址:https://blog.51cto.com/6286393/2476126

时间: 2024-11-02 04:36:20

OpenStack实操用到的网络知识的相关文章

打造网络营销利器-第1篇-TDK设置实操-网站优化进阶

网络营销如何做,才能从网络挖掘出大量的新业务?互联网时代你还停留于没业务就扩充销售队伍的思想,你就OUT了! 本系列文章将用通俗的语言介绍网站运营大牛们的惯用手法,网站SEO并没有你们想象那么难!重点是了解并坚持去做! 上一篇文章<中小企业网站优化技巧-1-网站的TDK>介绍了网站的TDK是什么(标题.描述.关键词),那么本文,将以具体产品为例介绍下TDK的实际操作. 首先,登录进网站系统后台,从左边菜单栏找到产品管理==>添加产品,点击打开添加产品的页面: 然后第一步,选择您产品对应的

Docker 学习笔记【3】 Docker 仓库、数据卷、数据卷容器,网络基础实操。高级网络配置学习

Docker 学习笔记[4] 高级网络配置实操,实战案例实验 =========================================================================== Docker 学习笔记[2] Docker 仓库实操,创建私有仓库,实操数据卷.数据卷容器,记录开始 =========================================================================== 被格式化的脚本内容: #开头代表

(二)Linux实操之——网络配置、进程管理、服务管理、组管理

接上段   (一)Linux实操之——权限.任务调度.磁盘分区 4.网络配置 4.1 NAT模式的网络配置 目前我们采用的网络配置是NAT模式. windows下cmd通过 ipconfig 命令可以得到本机的网络配置. linux下通过 ifconfig 可得到虚拟机的网络配置 在windows系统中运行着虚拟机中的linux系统,那么两个系统是怎么通信的呢? 实际上windows系统与本机的linux的通信是通过 VMnet8的虚拟网卡来进行的,两者形成网络,192.168.177.128

做一次真正落地的亚马逊和独立站实操分享

当我敲了这几个大字的时候,我自己有点战战兢兢.为什么这么说呢?因为我自己还有很多需要提升的地方,我经常在群里嘚瑟,每次的分享确实是有很多欠缺,不怎么在群里活动的高手对我的分享肯定嗤之以鼻.虽然我觉得自己能力不足,但是我喜欢分享,就像咋们知无不言域名取的一样--知无不言,我喜欢把自己知道的讲给大家听. 那么,可能有些人对我这番话报以赞赏的态度.诚然,每个人都是一个独立的个体,没有必要更没有义务去分享自己所知道的,包括我也是,但是我尽量地去分享我关注亚马逊和独立站推广的实操和心得给大家方向.毕竟别人

nginx实操(2)配置文件&内核&日志说明

优化内核参数 cat /etc/sysctl.conf net.ipv4.ip_forward = 0 表示开启路由功能,0是关闭,1是开启 net.ipv4.conf.default.rp_filter = 1 开启反向路径过滤 net.ipv4.conf.default.accept_source_route = 0 处理无源路由的包 net.ipv4.tcp_max_tw_buckets = 6000 表示系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,TIME_WAIT

【国软培训】上海站11月1-3软件“实操训练”工作坊会议召开!

11月1日,由 国软培训 主办的首届软件培训"实操训练"工作坊在上海隆重召开! 国软培训具有十年的培训经验,是资深老牌IT培训机构,已先后为我国输送了上万名精英人才.此前国软培训根据会前调查与用户反馈发现,听众普遍对以下稳定测试.互联网安全架构.云存储等议题关注度比较高,他们分别为:  产品转型/创造未来 讲师介绍:高庆春(加籍华人)IBM美国纽约研发中心总工程师 专项训练包括传统企业互联网时代生死穿越.移动互联网背景下产品转型和产品创新--元模式思维成熟度应用.案例训练包括如何&qu

linux实操常用命令总结

1. linux目录操作命令 ------目录的增.删.改.查------ cd, pwd, ls, mkdir, mv, ls(du, df, tree) 切换目录,跟window的使用类似 cd 显示目录的详细信息 ls -ld 直接切换到根目录 cd / 在根目录下创建oracle目录 mkdir /oracle ls -ld /oracle drwxr-xr-x 2 root root 4096 Jun 21 15:00 /oracle 一次创建多个目录 mkdir -p /u01/ap

网络知识 - 简易的自定义Web服务器

简易的自定义Web服务器 基于浏览器向服务端发起请求 两台主机各自的进程之间相互通信,需要协议.IP地址和端口号,IP表示了主机的网络地址,而端口号则表示了主机上的某个进程的地址,IP加Port统称为端点(EndPoint),在网络编程的世界里,.NET提供了Socket(套接字)类,此类处于传输层之中,Socket使开发人员可以以编程的方式侦听远程主机向本机发送的数据,并对到达传输层的数据包做出处理,同时它还可以向远程发送数据包.也即,Socket用于处理传输的数据. using System

【经验分享】响应式网站项目实操过程中的那些事儿

本次网站改版升级是我来到新公司的第一个项目,需求之初并没有提及要做响应式,在首次评审时领导和研发均认为响应式处理与我们网站相对契合,就这样我开始了我职场生涯中第一个响应式网站设计.下面就跟大家分享响应式网站设计中的那些事儿. 因为本人之前并没有接触过响应式设计,在项目开始前便恶补了一些响应式的基础知识.理论性资料网上众多,为了使各位对响应式有初步印象和认知,我在这里只做简单描述,各位若想要更全面深入的了解可自行百度. 1什么叫响应式设计,为什么要做响应式设计 (1)页面的设计和开发应当根据用户行