搭建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 /重启网络服务/
配置网卡eth3 的子接口 eth3:0 ,编辑eth3的配置文件如下{
auto eth3
iface eth3 inet static
address 12.7.2.2
netmask 255.0.0.0
auto eth3:0
iface eth3: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的eth3上创建VALN 2、3、4并赋予各VALN IP,而后将之添加到寄宿系统路由表中:
vconfig add eth3 2
vconfig add eth3 3
vconfig add eth3 4
ifconfig eth3.2 192.168.2.1 netmask 255.255.255.0 up
ifconfig eth3.3 192.168.3.1 netmask 255.255.255.0 up
ifconfig eth3.4 192.168.4.1 netmask 255.255.255.0 up
ip route add 192.168.1.0/24 dev eth3.2
ip route add 192.168.2.0/24 dev eth3.3
ip route add 192.168.3.0/24 dev eth3.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实例可以跨数据中心部署。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。