问题标签 [floating-ip]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
484 浏览

openstack - 如何将浮动 IP 与 Heat 关联到特定接口

我正在尝试使用 openstack HEAT 创建一个堆栈,其中一个 VM(NOVA::Server)需要有2 个网络接口

所以在我的热门模板中,我创建了 2 个端口并将它们关联到NOVA::Server其中一个并为其中一个提供浮动 IPgw_float_port

当我ifconfig在虚拟机内部进行操作时,我得到以下信息:

我想知道的是如何将 NICifconfig与模板中的 NIC 映射并控制哪个获得浮动 IP?

在模板内(在创建堆栈时自动创建而不是在创建后手动操作

感谢您提前提供帮助。

0 投票
1 回答
543 浏览

openstack - openstack浮动ip无法访问

描述

dvr启用后,vip的两个虚拟机都配置了keealived。内网VIP漂移时,无法访问openstack浮动ip。

更多细节如下:

两个节点,私网配置keepalived Host1 192.168.1.2 Host2 192.168.1.3 vip192.168.1.4 私网vip漂移没问题,私网内网访问vip没问题 问题是内网的vip漂移后,外网的vip这个vip对应的浮动ip是无法访问的,可以在漂移前访问。现象:更新vip漂到的私网端口。可以使用浮动网络。是什么导致了这个问题?

配置参考

https://hk.saowen.com/a/4d7a3dcd044eb53ae0fc81e4d1445ba76bbb02423ff6c7b4a53a8ad59945883d

配置过程

前提:假设已经有两个虚拟机10.10.10.6、10.10.10.7,配置了keepalived,vip为10.10.10.201 配置OpenStack中支持VIP和浮动IP访问的步骤:

  1. 安全组加 vrrp 协议 112

    neutron security-group-rule-create --protocol 112 默认

  2. 创建vip

    neutron port-create --fixed_ip ip_address=10.10.10.201 --security-group default vrrp_net

  3. 绑定vip到浮动ip

    中子浮动ip-create --port-id=3d7e70e9-cfcb-4aa9-95cc-60b5b6b67ec3 admin_floating_net

  4. 将 allowed_address_pairs 添加到虚拟机端口,以支持多个 NIC 用于多个 NIC。

查询虚拟机1的端口

中子端口列表| grep 10.10.10.6

更新虚拟机1的端口

中子端口更新 df22ba59-9c58-41a5-9fa3-98b09e644fe5 -- allowed_address_pairs list=true type=dict ip_address=10.10.10.201

查询虚拟机2的端口

中子端口列表| grep 10.10.10.7

更新虚拟机2的端口

中子端口更新 4c93d5b7-f26f-4136-a785-4db1479dbd81 -->allowed_address_pairs list=true type=dict ip_address=10.10.10.201

0 投票
1 回答
364 浏览

terraform - Terraform openstack 实例不返回浮动 ip

我使用 terraform 设置和 openstack 实例。我正在写入一个ip返回的文件,但由于某种原因它总是空的(我已经查看了openstack consol中的实例,并且ip、securitygroups等的所有内容都是正确的)

生成的主机文件只获取 [web] 但没有 ip。有谁知道为什么?

0 投票
0 回答
47 浏览

devstack - 如何在开放堆栈中访问不同系统中的浮动 IP?

在服务器中安装了openstack。给出的主机 IP 是 192.168.1.2。使用 ubuntu_14 映像创建实例,并关联浮动 IP 192.168.1.234。在安全组中启用 TCP 和 ICMP 规则。在实例中安装了 Apache2。我只能在192.168.1.2服务器的浏览器中访问实例,无法访问使用同一网络的其他设备中的浮动IP。我可以通过 SSH 访问浮动 IP。谁能帮我访问其他设备的IP?

0 投票
1 回答
368 浏览

openstack - 无法在 devstack 节点外部访问 DevStack 实例

按照官方文档,我正在尝试在虚拟机Devstack上的操作系统上部署一个。Ubuntu 18.04 Serverdevstack 节点只有一个网卡 (ens160) 连接到具有以下 CIDR 的网络10.20.30.40/24。我需要在这个网络上公开访问我的实例(从 10.20.30.240 到 10.20.30.250)。因此,再次遵循官方浮动 IP文档,我设法形成了这个local.conf文件:

这将导致br-ex与全局IP地址10.20.30.40和辅助IP地址形成一个10.20.30.1(网关已经存在于网络上;参数不是PUBLIC_NETWORK_GATEWAY在谈论网络上的真实网关吗?)

现在,在成功部署后,禁用ufw(根据this),创建一个具有适当安全组的 cirros 实例,用于 ping 和 ssh 并附加一个浮动 IP,我只能在我的 devstack 节点上访问我的实例,而不是在整个网络上!同样从 cirros 实例中,我无法访问外部世界(即使我可以从 devstack 节点访问外部世界)

之后,观看视频,我将local.conf文件修改如下:

成功部署和实例设置后,我仍然只能在 devstack 节点上访问我的实例,而不能从外部访问!但好消息是我可以从 cirros 实例中访问外部世界

任何帮助,将不胜感激!


更新

在第二个配置中,tcpdump在 ping 实例浮动 IP 时检查数据包,我观察到实例浮动 IP 的who-has广播数据包从网络路由器到达 devstack 节点;但是没有is-at生成回复,因此 ICMP 数据包不会路由到 devstack 节点和实例。

因此,通过一些技巧,我创建了响应,之后一切正常;但当然这不是解决方案,我认为 devstack 应该开箱即用,无需任何调整,这可能是因为 devstack 配置错误。

0 投票
1 回答
714 浏览

api - 如何创建浮动 IP,然后使用 Openstack API 将其分配给服务器

我目前正在使用 OpenStack API 以编程方式创建 OpenStack 虚拟机。我需要将浮动 IP 与创建的服务器相关联。我不清楚这方面的 API 文档。计算 API 说它已被弃用,尽管我尝试使用它,但我不确定如何正确使用它。没有 API 可以首先创建浮动 IP - 使用浮动 IP 的计算 API。我也尝试过使用 Neutron 网络 API 进行浮动 IP,这也没有显示如何将浮动 IP 关联到新服务器。它要求一个端口号,而创建服务器 API 的响应不返回端口号,也不返回 IP 地址。

有人可以指导我吗?

0 投票
0 回答
257 浏览

openstack - Ping 到 OpenStack 实例的浮动 IP 以请求超时为 icmp_seq

我是 OpenStack 和整个云世界的新手,也没有任何通过终端设置服务器的经验。(所以请写一个适合初学者的答案:D)我做了以下步骤:

  1. 我已经在带有 Ubuntu 18 的虚拟机上设置了 OpenStack。
  2. 我用 cirros0.5.2 图像制作了一个实例
  3. 我按照本教程了解如何在 OpenStack 上设置应用程序(他们使用 wordpress)
  4. 在我完成教程中的网络设置后(设置路由器,将专用网络连接到公共网络,将浮动 IP 添加到实例)我想 ping 浮动 ip 172.24.4.188,但我收到“icmp_seq 的请求超时” '。

现在我尝试了几件事来修复它:

  1. 我检查了我的 Mac OS 防火墙,将其关闭 -> 没有任何改变
  2. 我改变了喜欢这个的安全组规则->没有改变
  3. 我也尝试在此处执行此操作,但终端中的 openstack 命令nova flavor-list显示错误: ERROR (CommandError): You must provide a user name/id (via --os-username, --os-user-id, env[OS_USERNAME] or env[OS_USER_ID]) or an auth token (via --os-token)

我的终端技能超级差,所以我真的不明白为什么我需要在这里添加一个用户,当我可以登录仪表板时。如果有人能解释我如何调试这个网络问题以及为什么我没有从我的浮动 ip 收到答案,那就太好了。谢谢你!

0 投票
0 回答
23 浏览

resources - 如果所有浮动 IP 资源都不可用,有没有办法让起搏器资源组故障转移?

我想在一个资源组中有多个浮动 IP,只有在所有 IP 都无法工作时才会进行故障转移。每个浮动 IP 都在不同的子网上,可以由我拥有的应用程序使用。如果浮动 IP 不可用,它将使用下一个可用的浮动 IP。

例如,现在如果浮动 IP 资源发生故障,整个资源组将故障转移到不同的节点。我想要的是仅当所有三个资源都不可用时才让起搏器对资源组进行故障转移。

0 投票
1 回答
364 浏览

haproxy - 如何让keepalived响应HAProxy上的故障转移?

我正在使用 HAProxy 作为我的应用程序的负载均衡器,并使其具有高可用性,我正在使用 keepalive 服务和浮动 IP 地址概念。但是,每当我的主负载均衡器服务器关闭时,通过将其从网络中删除或关闭它,我的所有服务都会关闭,而不是使辅助负载均衡器服务器可用。我的主服务器的 keepalived.conf 是,

对于备份服务器,就像,

当两个负载平衡器都启动时,虚拟 IP 地址被分配并工作。但是每当机器出现故障时,我的服务也会下降。我正在使用 CentOS7,请帮助。

0 投票
0 回答
36 浏览

linux - Pacemaker IPaddr2 资源 - 无法从接口中删除 IP

我正在使用 Corosync / Pacemaker 在 3 个不同节点上进行资源管理。对于 HA,我为要管理的每个资源使用浮动 IP 地址。

但是,我的浮动 IP 有问题。

当某个节点丢失了浮动ip所在的网络接口,而网络接口又很快恢复过来时,pacemaker检测到资源冲突。实际上,它告诉我虚拟 ip 同时在 2 个节点上,因此它阻塞了关联的资源。

在丢失网络接口的节点的日志文件中,我可以看到:

但是,当我查看该节点的 IP 地址时,并没有出现日志中提到的 IP 地址。因此,起搏器似乎成功地将其移除。

所以我的问题是,即使一切正常,为什么起搏器会阻止我的资源?