项目7-OpenStack网络服务_第1页
项目7-OpenStack网络服务_第2页
项目7-OpenStack网络服务_第3页
项目7-OpenStack网络服务_第4页
项目7-OpenStack网络服务_第5页
已阅读5页,还剩33页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

OpenStack网络服务目录Contents0102030405思政课堂任务实训笔记习题随着计算机的不断普及,网络及信息技术的广泛应用,提供了大量的互联网服务以及信息资源,从而也使更多的数据计算、存储以及应用等基本功能被人们应用在各项工作中,极大程度上方便了人们的生活,特别是进入云计算时代,将大量的个人信息、公司信息存储在网络上,存在一定的网络安全问题。所以我们在生活中要时刻保持网络安全意识,例如:在使用WiFi时,不要随意接入陌生WiFi;在公共场所使用陌生的无线网络时,尽量不要进行与资金有关的银行转账与支付;修改无线路由器默认的管理员用户名和密码,将家中无线路由器的密码设置得复杂些,并采用强密码,最好是字母和数字的组合;不要轻易打开陌生人通过手机发送的链接和文件;没有网络安全就没有国家安全,就没有经济社会稳定运行,广大人民群众利益也难以得到保障,全面形成“人人关注网络安全,人人参与网络安全”的良好网络环境思政课堂阿福所在公司的业务服务运行在公有云上,由于有些关于客户的重要信息等,公司便想将在公有云上的服务迁移至私有云上,老板便将想搭建一个OpenStack私有云平台,便于管理这些私密数据。由于阿福有着私有云的基础,老板就将搭建平台的任务交给了阿福,阿福在搭建了Keyston,Glance,Nova后终于到搭建Neutron,也由于网络结构的选择,阿福先对Neutron进行了详细的学习,阿福决定选择平面网络模式进行搭建Neutron并对网络进行了规划。本次学习搭建OpenStack的Neutron网络服务,Neutron

的设计目标是实现“网络即服务(Networking

as

a

Service)”。为完成所设计的目标,在设计的原则上遵循了基于SDN

实现网络虚拟化的原则,并在实现上充分利用了Linux系统上各种网络相关的技术来搭建Neutron。先创建关联好用户,并创建服务注册Api,再对Neutron进行安装。

项目描述Neutron的发展?

Neutron有几种网络模式?

Neutron的插件和代理有哪些?

Neutron管理哪些网络资源?问题引导知识学习1、Neutron组件的来源

网络是对于每一个服务都非常重要的东西,在OpenStack中网络也是做重要的资源之一,如果没有网络,虚拟机实例将被隔离,无法通信,而OpenStack的Neutron服务正好解决了这一问题,为虚拟机实例提供了网络连接,还提供像防火墙和Vpn这一类的高级服务[2]。Neutron并不是OpenStack最早的服务,早期时OpenStack里面网络是由Nova的Nova-Network模块实现,后面随着OpenStack不断更新网络功能也逐渐庞大,出现一个新的项目,名为Quantum,而且这个项目还和Nova-Network模块并行存在了好多个版本。后来该项目名与一个公司名称重名了,而后改名为Neutron[2]。

2、Neutron的组件Neutron支持多种网络模式包括Local,Flat,Vlan,Vxlan

和GRE。OpenStack中Neutron也采用分布式架构,由多个组件服务组成然后共同对外提供网络服务,Neutron架构非常灵活多变,一方面上是为了支持各种先有或者将来会出现的先进网络技术,另一方面便是支持分布式部署,获得足够多的扩展性能。Neutron-Server:接受和响应外部的网络管理请求Neutron-LinuxBridge-Agent: 负责创建桥接网卡Neutron-Dhcp-Agent:负责分配IPNeutron-Metadata-Agent: 配合Nova-Metadata-Api实现虚拟机的定制化操作L3-agent:实现三层网络vxlan(网络层)ML2:实现Network/Subnet/Port三种核心资源知识学习3、Neutron的划分Neutron

网络目的是为OpenStack

云更灵活地划分物理网络,在多租户环境下提供给每个租户独立的网络环境。Neutron管理的网络资源有Netrowk,Subnet,Port,因Neutron架构的灵活多变,在计算节点上也同样要安装Nutron服务。

4、Neutron基础操作主要实现Neutron网络配置和管理,包括Neutron的一些基本的运维操作,一些查看Neutron服务组件的状态,创建网络,查看网络,删除网络等。任务一:在keystone创建neutron用户,并为nertron创建数据库1.在控制节点创建neutron服务数据库项目实施[root@controller~]#mysql-uroot-p000000#登录mysql数据库MariaDB[(none)]>CREATEDATABASEneutron;#创建neutron数据库MariaDB[(none)]>GRANTALLPRIVILEGESONneutron.*TO'neutron'@'localhost'IDENTIFIEDBY'NEUTRON_DBPASS';MariaDB[(none)]>GRANTALLPRIVILEGESONneutron.*TO'neutron'@'%'IDENTIFIEDBY'NEUTRON_DBPASS';#创建neutron数据库用户,使其可以对neutron数据库有完全控制权限MariaDB[(none)]>Exit#退出数据库2.Keystone创建系统用户(glance,nova,neutron)关联角色项目实施[root@controller~]#openstackusercreate--domaindefault--passwordNEUTRON_PASSneutron[root@controller~]#openstackroleadd--projectservice--userneutronadmin3.在Keystone上创建服务和注册api[root@controller~]#openstackservicecreate--nameneutron--description"OpenStackNetworking"network[root@controller~]#openstackendpointcreate--regionRegionOnenetworkpublichttp://controller:9696[root@controller~]#openstackendpointcreate--regionRegionOnenetworkinternalhttp://controller:9696[root@controller~]#openstackendpointcreate--regionRegionOnenetworkadminhttp://controller:9696项目实施任务二:在控制节点手动安装和部署Neutron1.在控制节点安装组件[root@controller~]#yum-yinstallopenstack-neutronopenstack-neutron-ml2openstack-neutron-linuxbridgeebtables项目实施[root@controller~]#cp/etc/neutron/neutron.conf{,.bak}[root@controller~]#grep'^[a-z\[]'/etc/neutron/neutron.conf.bak>/etc/neutron/neutron.conf

[root@controller~]#openstack-config--set/etc/neutron/neutron.confdatabaseconnectionmysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron#在database部分中,配置数据库访问[root@controller~]#openstack-config--set/etc/neutron/neutron.confDEFAULTcore_pluginml2#在该[DEFAULT]部分中,启用ModularLayer2(ML2)插件并禁用其他插件[root@controller~]#openstack-config--set/etc/neutron/neutron.confDEFAULTservice_plugins[root@controller~]#openstack-config--set/etc/neutron/neutron.confDEFAULTtransport_urlrabbit://openstack:RABBIT_PASS@controller#在DEFAULT部分中,配置RabbitMQ

消息队列访问[root@controller~]#openstack-config--set/etc/neutron/neutron.confDEFAULTauth_strategykeystone#在DEFAULT和keystone_authtoken部分中,配置身份服务访问2.修改配置文件①配置服务组件/etc/neutron/neutron.conf[root@controller~]#openstack-config--set/etc/neutron/neutron.confkeystone_authtokenwww_authenticate_urihttp://controller:5000[root@controller~]#openstack-config--set/etc/neutron/neutron.confkeystone_authtokenauth_urlhttp://controller:5000[root@controller~]#openstack-config--set/etc/neutron/neutron.confkeystone_authtokenmemcached_serverscontroller:11211[root@controller~]#openstack-config--set/etc/neutron/neutron.confkeystone_authtokenauth_typepassword[root@controller~]#openstack-config--set/etc/neutron/neutron.confkeystone_authtokenproject_domain_namedefault[root@controller~]#openstack-config--set/etc/neutron/neutron.confkeystone_authtokenuser_domain_namedefault[root@controller~]#openstack-config--set/etc/neutron/neutron.confkeystone_authtokenproject_nameservice[root@controller~]#openstack-config--set/etc/neutron/neutron.confkeystone_authtokenusernameneutron[root@controller~]#openstack-config--set/etc/neutron/neutron.confkeystone_authtokenpasswordNEUTRON_PASS[root@controller~]#openstack-config--set/etc/neutron/neutron.confDEFAULTnotify_nova_on_port_status_changesTrue#在DEFAULT和nova部分中,配置Networking以通知Compute网络拓扑更改项目实施[root@controller~]#openstack-config--set/etc/neutron/neutron.confDEFAULTnotify_nova_on_port_data_changesTrue[root@controller~]#openstack-config--set/etc/neutron/neutron.confnovaauth_urlhttp://controller:5000[root@controller~]#openstack-config--set/etc/neutron/neutron.confnovaauth_typepassword[root@controller~]#openstack-config--set/etc/neutron/neutron.confnovaproject_domain_namedefault[root@controller~]#openstack-config--set/etc/neutron/neutron.confnovauser_domain_namedefault[root@controller~]#openstack-config--set/etc/neutron/neutron.confnovaregion_nameRegionOne[root@controller~]#openstack-config--set/etc/neutron/neutron.confnovaproject_nameservice[root@controller~]#openstack-config--set/etc/neutron/neutron.confnovausernamenova[root@controller~]#openstack-config--set/etc/neutron/neutron.confnovapasswordNOVA_PASS[root@controller~]#openstack-config--set/etc/neutron/neutron.confoslo_concurrencylock_path/var/lib/neutron/tmp#在oslo_concurrency部分中,配置锁定路径②配置Modular

Layer2(ML2)插件/etc/neutron/plugins/ml2/ml2_conf.ini项目实施[root@controller~]#cp/etc/neutron/plugins/ml2/ml2_conf.ini{,.bak}[root@controller~]#grep'^[a-z\[]'/etc/neutron/plugins/ml2/ml2_conf.ini.bak>/etc/neutron/plugins/ml2/ml2_conf.ini[root@controller~]#openstack-config--set/etc/neutron/plugins/ml2/ml2_conf.iniml2type_driversflat,vlan#在ml2部分中,启用平面和VLAN网络[root@controller~]#openstack-config--set/etc/neutron/plugins/ml2/ml2_conf.iniml2tenant_network_types#在ml2部分中,禁用自助服务网络[root@controller~]#openstack-config--set/etc/neutron/plugins/ml2/ml2_conf.iniml2mechanism_driverslinuxbridge#在ml2部分中,启用Linux桥接机制[root@controller~]#openstack-config--set/etc/neutron/plugins/ml2/ml2_conf.iniml2extension_driversport_security#在ml2部分中,启用端口安全扩展驱动程序[root@controller~]#openstack-config--set/etc/neutron/plugins/ml2/ml2_conf.iniml2_type_flatflat_networksprovider#在ml2_type_flat部分中,将提供者虚拟网络配置为平面网络[root@controller~]#openstack-config--set/etc/neutron/plugins/ml2/ml2_conf.inisecuritygroupenable_ipsetTrue#在securitygroup部分中,启用ipset以提高安全组规则的效率③配置Linuxbridge代理/etc/neutron/plugins/ml2/linuxbridge_agent.ini项目实施[root@controller~]#cp/etc/neutron/plugins/ml2/linuxbridge_agent.ini{,.bak}[root@controller~]#grep'^[a-Z\[]'/etc/neutron/plugins/ml2/linuxbridge_agent.ini.bak>/etc/neutron/plugins/ml2/linuxbridqe_agent.ini[root@controller~]#openstack-config--set/etc/neutron/plugins/ml2/linuxbridge_agent.inilinux_bridgephysical_interface_mappingsprovider:ens3#替换自己的网卡名称[root@controller~]#openstack-config--set/etc/neutron/plugins/ml2/linuxbridge_agent.inivxlanenable_vxlanFalse#在vxlan部分中,禁用VXLAN覆盖网络[root@controller~]#openstack-config--set/etc/neutron/plugins/ml2/linuxbridge_agent.inisecuritygroupenable_security_groupTrue#在该[securitygroup]部分中,启用安全组并配置Linux网桥iptables防火墙驱动程序[root@controller~]#openstack-config--set/etc/neutron/plugins/ml2/linuxbridge_agent.inisecuritygroupfirewall_driverneutron.agent.linux.iptables_firewall.IptablesFirewallDriver④配置DHCP代理/etc/neutron/dhcp_agent.ini项目实施[root@controller~]#cp/etc/neutron/dhcp_agent.ini{,.bak}[root@controller~]#grep'^[a-Z\[]'/etc/neutron/dhcp_agent.ini.bak>/etc/neutron/dhcp_agent.ini#配置Linux网桥接口驱动程序、DnsmasqDHCP驱动程序,并启用隔离元数据,以便提供商网络上的实例可以通过网络访问元数据:[root@controller~]#openstack-config--set/etc/neutron/dhcp_agent.iniDEFAULTinterface_driverlinuxbridge[root@controller~]#openstack-config--set/etc/neutron/dhcp_agent.iniDEFAULTdhcp_driverneutron.agent.linux.dhcp.Dnsmasq[root@controller~]#openstack-config--set/etc/neutron/dhcp_agent.iniDEFAULTenable_isolated_metadataTrue项目实施3.配置内核[root@controller~]#echo-e"net.bridge.bridge-nf-call-iptables=1\nnet.bridge.bridge-nf-call-ip6tables=1">>/etc/sysctl.conf

[root@controller~]#modprobebr_netfilter[root@controller~]#sysctl-pnet.bridge.bridge-nf-call-iptables=1net.bridge.bridge-nf-call-ip6tables=14.配置元数据/etc/neutron/metadata_agent.ini[root@controller~]#cp/etc/neutron/metadata_agent.ini{,.bak}[root@controller~]#grep'^[a-Z\[]'/etc/neutron/metadata_agent.ini.bak>/etc/neutron/metadata_agent.ini

[root@controller~]#openstack-config--set/etc/neutron/metadata_agent.iniDEFAULTnova_metadata_hostcontroller[root@controller~]#openstack-config--set/etc/neutron/metadata_agent.iniDEFAULTmetadata_proxy_shared_secretMETADATA_SECRET项目实施[root@controller~]#openstack-config--set/etc/nova/nova.confneutronurlhttp://controller:9696[root@controller~]#openstack-config--set/etc/nova/nova.confneutronauth_urlhttp://controller:5000[root@controller~]#openstack-config--set/etc/nova/nova.confneutronauth_typepassword[root@controller~]#openstack-config--set/etc/nova/nova.confneutronproject_domain_namedefault[root@controller~]#openstack-config--set/etc/nova/nova.confneutronuser_domain_namedefault[root@controller~]#openstack-config--set/etc/nova/nova.confneutronregion_nameRegionOne[root@controller~]#openstack-config--set/etc/nova/nova.confneutronproject_nameservice[root@controller~]#openstack-config--set/etc/nova/nova.confneutronusernameneutron[root@controller~]#openstack-config--set/etc/nova/nova.confneutronpasswordNEUTRON_PASS[root@controller~]#openstack-config--set/etc/nova/nova.confneutronservice_metadata_proxyTrue[root@controller~]#openstack-config--set/etc/nova/nova.confneutronmetadata_proxy_shared_secretMETADATA_SECRET5.添加控制节点网络服务/etc/nova/nova.conf项目实施6.同步neutron数据库[root@controller~]#ln-s/etc/neutron/plugins/ml2/ml2_conf.ini/etc/neutron/plugin.ini[root@controller~]#su-s/bin/sh-c"neutron-db-manage--config-file/etc/neutron/neutron.conf\--config-file/etc/neutron/plugins/ml2/ml2_conf.iniupgradehead"neutron在配置过程中注意:①可以ok即成功②同步后进入数据库查看neutron库是否有数据

③忽略警告项目实施7.启动服务[root@controller~]#systemctlrestartopenstack-nova-api.service[root@controller~]#systemctlenableneutron-server.service\neutron-linuxbridge-agent.serviceneutron-dhcp-agent.service\neutron-metadata-agent.service[root@controller~]#systemctlstartneutron-server.service\neutron-linuxbridge-agent.serviceneutron-dhcp-agent.service\neutron-metadata-agent.service项目实施任务三:在计算节点手动安装和部署Neutron1.在计算节点安装组件[root@compute~]#yum-y

install

openstack-neutron-linuxbridge

ebtables

ipset2.修改配置文件①/etc/neutron/neutron.conf[root@compute~]#cp/etc/neutron/neutron.conf{,.bak}[root@compute~]#grep'^[a-Z\[]'/etc/neutron/neutron.conf.bak>/etc/neutron/neutron.conf

[root@compute~]#openstack-config--set/etc/neutron/neutron.confDEFAULTtransport_urlrabbit://openstack:RABBIT_PASS@controller#在DEFAULT部分中,配置RabbitMQ

消息队列访问项目实施[root@compute~]#openstack-config--set/etc/neutron/neutron.confDEFAULTtransport_urlrabbit://openstack:RABBIT_PASS@controller#在DEFAULT部分中,配置RabbitMQ

消息队列访问[root@compute~]#openstack-config--set/etc/neutron/neutron.confDEFAULTauth_strategykeystone#在DEFAULT和keystone_authtoken部分中,配置身份服务访问[root@compute~]#openstack-config--set/etc/neutron/neutron.confkeystone_authtokenwww_authenticate_urihttp://controller:5000[root@compute~]#openstack-config--set/etc/neutron/neutron.confkeystone_authtokenauth_urlhttp://controller:5000[root@compute~]#openstack-config--set/etc/neutron/neutron.confkeystone_authtokenmemcached_serverscontroller:11211[root@compute~]#openstack-config--set/etc/neutron/neutron.confkeystone_authtokenauth_typepassword[root@compute~]#openstack-config--set/etc/neutron/neutron.confkeystone_authtokenproject_domain_namedefault[root@compute~]#openstack-config--set/etc/neutron/neutron.confkeystone_authtokenuser_domain_namedefault[root@compute~]#openstack-config--set/etc/neutron/neutron.confkeystone_authtokenproject_nameservice[root@compute~]#openstack-config--set/etc/neutron/neutron.confkeystone_authtokenusernameneutron[root@compute~]#openstack-config--set/etc/neutron/neutron.confkeystone_authtokenpasswordNEUTRON_PASS[root@compute~]#openstack-config--set/etc/neutron/neutron.confoslo_concurrenylock_path/var/lib/neutron/tmp#在oslo_concurrency部分中,配置锁定路径项目实施[root@compute~]#cp/etc/neutron/plugins/ml2/linuxbridge_agent.ini{,.bak}[root@compute~]#grep'^[a-Z\[]'/etc/neutron/plugins/ml2/linuxbridge_agent.ini.bak>/etc/neutron/plugins/ml2/linuxbridqe_agent.ini

[root@compute~]#openstack-config--set/etc/neutron/plugins/ml2/linuxbridge_agent.inilinux_bridgephysical_interface_mappingsprovider:ens3#替换自己的网卡名称[root@compute~]#openstack-config--set/etc/neutron/plugins/ml2/linuxbridge_agent.inivxlanenable_vxlanFalse#在vxlan部分中,禁用VXLAN覆盖网络[root@compute~]#openstack-config--set/etc/neutron/plugins/ml2/linuxbridge_agent.inisecuritygroupenable_security_groupTrue#在securitygroup部分中,启用安全组并配置Linux网桥iptables防火墙驱动程序[root@compute~]#openstack-config--set/etc/neutron/plugins/ml2/linuxbridge_agent.inisecuritygroupfirewall_driverneutron.agent.linux.iptables_firewall.IptablesFirewallDriver②配置Linuxbridge代理/etc/neutron/plugins/ml2/linuxbridge_agent.ini项目实施3.配置内核[root@compute~]#echo-e"net.bridge.bridge-nf-call-iptables=1\nnet.bridge.bridge-nf-call-ip6tables=1">>/etc/sysctl.conf

[root@compute~]#modprobebr_netfilter[root@compute~]#sysctl-pnet.bridge.bridge-nf-call-iptables=1net.bridge.bridge-nf-call-ip6tables=14.添加计算节点网络服务/etc/nova/nova.conf[root@compute~]#openstack-config--set/etc/nova/nova.confneutronurlhttp://controller:9696[root@compute~]#openstack-config--set/etc/nova/nova.confneutronauth_urlhttp://controller:5000[root@compute~]#openstack-config--set/etc/nova/nova.confneutronauth_typepassword[root@compute~]#openstack-config--set/etc/nova/nova.confneutronproject_domain_namedefault项目实施[root@compute~]#openstack-config--set/etc/nova/nova.confneutronregion_nameRegionOne[root@compute~]#openstack-config--set/etc/nova/nova.confneutronproject_nameservice[root@compute~]#openstack-config--set/etc/nova/nova.confneutronusernameneutron[root@compute~]#openstack-config--set/etc/nova/nova.confneutronpasswordNEUTRON_PASS5.启动服务[root@compute~]#systemctlrestartopenstack-nova-compute.service[root@compute~]#systemctlenableneutron-linuxbridge-agent.service[root@compute~]#systemctlstartneutron-linuxbridge-agent.service项目实施任务四:Neutron网络配置和管理1.使用命令查看Neutron服务状态,state栏都显示UP则Neutron服务正常,如图7-1所示。[root@controller~]#openstacknetworkagentlist2.使用命令创建网络,设置为共享的,提供物理网络服务,网络类型,名称,如图7-2所示。[root@controller~]#openstacknetworkcreate--share--provider-physical-networkprovider--provider-network-typeflattest项目实施图7-2创建网络3.使用命令创建子网,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论