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

openstack创建浮动IP全过程

1、创建外部网络,即是provider网络,有关provider网络的详细解释请参见我之前的文章openstack中的self-service和provider网络_openstack provider网络不能创建vlan吗-CSDN博客

network create --share --external --provider-physical-network physnet1 --provider-network-type flat out

2、再创建子网

subnet create --subnet-pool 192.168.23.0/24 --gateway 192.168.23.1 --no-dhcp --allocation-pool start=192.168.23.10,end=192.168.23.60 --network out out_sub

allocation-pool  指的是动态分配的浮动IP范围,gateway 192.168.23.1 这是指定外部网络的网关,一般是物理网络的网关,不是虚拟网络的

3、创建路由器

router create router3

4、把新创建的路由器跟用户子网连接起来

router add subnet router3 new_subnet01

这里面new_subnet01就是以前新建立的用户子网

(openstack) subnet show new_subnet01
+-------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field             | Value                                                                                                                                                            |
+-------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| allocation_pools  | 10.173.0.2-10.173.0.254                                                                                                                                          |
| cidr              | 10.173.0.0/24                                                                                                                                                    |
| created_at        | 2024-11-26T11:09:32Z                                                                                                                                             |
| description       |                                                                                                                                                                  |
| dns_nameservers   |                                                                                                                                                                  |
| enable_dhcp       | True                                                                                                                                                             |
| gateway_ip        | 10.173.0.1                                                                                                                                                       |
| host_routes       |                                                                                                                                                                  |
| id                | ea702afb-a6e8-40d1-9bc4-f9280ff4a101                                                                                                                             |
| ip_version        | 4                                                                                                                                                                |
| ipv6_address_mode | None                                                                                                                                                             |
| ipv6_ra_mode      | None                                                                                                                                                             |
| location          | cloud='', project.domain_id=, project.domain_name='Default', project.id='7e0a0a5e8dee4688ad2eeb2290023a5b', project.name='admin', region_name='RegionOne', zone= |
| name              | new_subnet01                                                                                                                                                     |
| network_id        | c861c1c9-6b91-4e42-842b-07f56e21941b                                                                                                                             |
| prefix_length     | None                                                                                                                                                             |
| project_id        | 7e0a0a5e8dee4688ad2eeb2290023a5b                                                                                                                                 |
| revision_number   | 0                                                                                                                                                                |
| segment_id        | None                                                                                                                                                             |
| service_types     |                                                                                                                                                                  |
| subnetpool_id     | None                                                                                                                                                             |
| tags              |                                                                                                                                                                  |
| updated_at        | 2024-11-26T11:09:32Z                                   

从这里面可以看出,这个子网的网关是10.173.0.1,注意这时候10.173.0.1,还是没有分配给任何设备的。

5、把路由器和子网连接起来

router add subnet router3 new_subnet01

这里面路由器就会多一个端口了,并且分配的IP就是10.173.0.1

port list --router router3

+--------------------------------------+------+-------------------+------------------------------------------------------------------------------+--------+
| ID                                   | Name | MAC Address       | Fixed IP Addresses                                                           | Status |
+--------------------------------------+------+-------------------+------------------------------------------------------------------------------+--------+
| b2626e44-efb1-4d49-9242-fc5f277ecc79 |      | fa:16:3e:51:3c:d3 | ip_address='10.173.0.1', subnet_id='ea702afb-a6e8-40d1-9bc4-f9280ff4a101'    | ACTIVE |

7、把路由器再跟外网连接起来,并指定跟外网互联的IP(也可以不指定,自动分配)

router set --fixed-ip subnet=out_sub,ip-address=192.168.23.61 --external-gateway out router3

这里面要注意,我们在这里面指定了--fixed-ip subnet=out_sub,ip-address=192.168.23.61 ,主要是为了指定子网,因为out这个网络里面在我这边是存在多个子网的。同时我还指定了路由器跟外网子网相连端口的IP。如果你的out网络只有一个子网,你也可以不指定这个

8、新建立浮动IP

floating ip create --subne out_sub out

这时会从start=192.168.23.10,end=192.168.23.60,随机分配一个

9、给虚机绑定浮动IP

server add floating ip mynew_vm 192.168.23.28

192.168.23.28就是第8步创建的浮动IP

路由器在OPENSTACK里面标准实现实际上就是一个namespace,我们在网络节点上查看

ip netns

qrouter-502d3467-a9cf-44f5-87bf-bbcd0439d7e6 (id: 8)

qrouter-开头的就是你建立的路由器,里面用IPTABLE做了一对一的映射,把浮动IP映射到用户内网的IP。当然在商业公有云中,为了网络性能,一般不使用namespace来做路由器,而是使用其它更高效的方案,如天翼云就是使用了开源的VPP进行了二次开发

http://www.lryc.cn/news/498961.html

相关文章:

  • nginx漏洞修复
  • Jackson - 序列化时更改字段名称
  • 策略模式实战 - 猜拳游戏
  • AWS ECS Task 添加 Prometheus 监控采集配置详细指南
  • 5. 一分钟读懂“工厂方法模式”
  • 基于 AutoFlow 快速搭建基于 TiDB 向量搜索的本地知识库问答机器人
  • C语言学习:速通指针(2)
  • windows 上ffmpeg编译好的版本选择
  • Java设计模式笔记(二)
  • Vue CLI的作用
  • 短视频矩阵系统开发|技术源代码部署
  • Erlang socket编程(二)
  • 工业检测基础-线扫相机和面阵相机参数及应用
  • 【无标题】建议用坚果云直接同步zotero,其他方法已经过时,容易出现bug
  • 基于STM32设计的智能宠物喂养系统(华为云IOT)_273
  • cesium truf 利用缓冲如何将一个点缓冲成一个方形
  • HarmonyOS 5.0应用开发——Ability与Page数据传递
  • 【推荐算法】推荐系统的评估
  • 鸿蒙:实现类似Android.9图的图片资源呈现
  • ros2人脸检测
  • Pillow:强大的Python图像处理库
  • 微信小程序uni-app+vue3实现局部上下拉刷新和scroll-view动态高度计算
  • 为什么类 UNIX 操作系统通常内置编译器?为什么 Windows 更倾向于直接使用二进制文件?
  • 吉林大学23级数据结构上机实验(第7周)
  • 实验13 使用预训练resnet18实现CIFAR-10分类
  • 【开发文档】资源汇总,持续更新中......
  • 【k8s实践】 创建第一个Pod(Nginx)
  • 盘古大模型实战
  • Python subprocess.run 使用注意事项,避免出现list index out of range
  • 包管理器npm,cnpm,yarn和pnpm