OpenStack私有网络的部署
Posted Tuki_a
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenStack私有网络的部署相关的知识,希望对你有一定的参考价值。
OpenStack私有网络
OpenStack网络服务简介
OpenStack Networking(neutron),允许创建、插入接口设备,这些设备由其他的OpenStack服务管理。插件式的实现可以容纳不同的网络设备和软件,为OpenStack架构与部署提供了灵活性。
它包含下列组件:
1、neutron-server
接收和路由API请求到合适的OpenStack网络插件,以达到预想的目的。
2、OpenStack网络插件和代理
插拔端口,创建网络和子网,以及提供IP地址,这些插件和代理依赖于供应商和技术而不同,OpenStack网络基于插件和代理为Cisco 虚拟和物理交换机、NEC OpenFlow产品,Open vSwitch,Linux bridging以及VMware NSX 产品穿线搭桥。
常见的代理L3(3层),DHCP(动态主机IP地址),以及插件代理。
3、消息队列
大多数的OpenStack Networking安装都会用到,用于在neutron-server和各种各样的代理进程间路由信息。也为某些特定的插件扮演数据库的角色,以存储网络状态
OpenStack网络主要和OpenStack计算交互,以提供网络连接到它的实例。
对于任意一个给定的网络都必须包含至少一个外部网络。不像其他的网络那样,外部网络不仅仅是一个定义的虚拟网络。相反,它代表了一种OpenStack安装之外的能从物理的,外部的网络访问的视图。外部网络上的IP地址可供外部网络上的任意的物理设备所访问
外部网络之外,任何 Networking 设置拥有一个或多个内部网络。这些软件定义的网络直接连接到虚拟机。仅仅在给定网络上的虚拟机,或那些在通过接口连接到相近路由的子网上的虚拟机,能直接访问连接到那个网络上的虚拟机。
更多内容参照官网:https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/common/get_started_networking.html
部署环境
我已经部署好了OpenStack平台并且装了可视化工具。可参照我之前的文章
OpenStack平台的搭建:https://blog.csdn.net/m0_55005311/article/details/119750200?spm=1001.2014.3001.5501
OpenStack可视化:https://blog.csdn.net/m0_55005311/article/details/119773544?spm=1001.2014.3001.5501
私有网络部署
控制端部署
配置服务组件
配置步骤参考官网:https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/neutron-controller-install-option2.html
[root@controller ~]# vim /etc/neutron/neutron.conf
启用Modular Layer 2 (ML2)插件,路由服务和重叠的IP地址
[root@controller ~]# vim /etc/neutron/plugins/ml2/ml2_conf.ini
Linuxbridge代理为实例建立layer-2虚拟网络并且处理安全组规则
[root@controller ~]# vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini
启用VXLAN覆盖网络,配置覆盖网络的物理网络接口的IP地址,启用layer-2 population
查看有哪些模块,查看配置有没有问题
[root@controller ~]# grep -v ^# /etc/neutron/plugins/ml2/linuxbridge_agent.ini | uniq
Layer-3代理为私有虚拟网络提供路由和NAT服务,配置Linuxbridge接口驱动和外部网络网桥
[root@controller ~]# vim /etc/neutron/l3_agent.ini
重启Linuxbridge代理和neutron-server
[root@controller ~]# systemctl restart neutron-server.service neutron-linuxbridge-agent.service
[root@controller ~]# systemctl enable --now neutron-l3-agent.service
[root@controller ~]# source admin-openrc #切换到admin身份
[root@controller ~]# neutron agent-list #列出代理端,如下添加成功
计算节点部署
计算节点配置,启用VXLAN覆盖网络,配置覆盖网络的物理网络接口的IP地址,启用layer-2 population
[root@compute1 ~]# vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini
参考链接:https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/neutron-compute-install-option2.html
重启Linuxbridge代理,列出代理以验证启动 neutron 代理是否成功
[root@compute1 ~]# systemctl restart neutron-linuxbridge-agent.service
图形化部署创建私有网络
编辑配置文件支持3层网络服务
[root@controller ~]# vim /etc/openstack-dashboard/local_settings
然后浏览器以demo用户身份重新登录一下即可,创建一个私有网络
如图填写即可,ip地址随意,不和本机的ip冲突即可
到网络拓扑看一下创建成功,但没有和公网连起来
创建路由
进行如图操作创建路由
要设置网关为外网,但因为我们的公共网络在设置时没有设置为外部的,所以不能添加进去
切换用户到admin,编辑public网络设置为外部的
切换用户到demo添加网关
这时再到网络拓扑看已经将公网和路由连起来了
通过路由将私网和公网连接起来
给路由增加一个私有网络的接口
路由器就得到了一个私网ip
这时再看网络拓扑私网和公网就连起来了
私网也新增了一个端口
创建私网的云主机
创建一个私网的云主机,网络部分选择私网,剩下的选择可选的,端口、配置、元数据不用管,启动实例即可
查看网络拓扑都是连起来的
打开私网这个云主机的控制端,尝试ping公网的云主机
上面ping失败了是因为没开公网云主机test1,下面是开了后重新ping的,都连在一起肯定是可以ping通的
因为计算节点可以上网,所以该主机也可以上网
打开公网的云主机尝试ping私网的云主机却ping不通,是因为私有ip是不允许外部访问的,内部可以访问外部,但外部不可以访问内部
让外部网络可以访问内部网络
可以将外部网络的IP地址分配给内部网络的端口。不管什么时候一旦有连接连接到子网,那个连接被称作端口。可以给实例的端口分配外部网络的IP地址。通过这种方式,外部网络上的实体可以访问实例。
加一个浮动ip
分配浮动ip
选择让公网给分配浮动ip(有公网的ip才能被外部访问)
已经自动分配了ip,点击关联
此时私网的云主机就有了一个浮动ip,但不是主机的真实ip,只是主机开了个端口分配了一个ip
在公网云主机test1端ping浮动ip,这次可以ping通私网主机了
在真机ssh连接浮动ip也可以,查看ip只显示真实ip
以上是关于OpenStack私有网络的部署的主要内容,如果未能解决你的问题,请参考以下文章