我们在 MAAS+Juju+Openstack 云上创建了一些实例。所有这些实例都已分配了私有 IP,但可以通过 NAT 访问互联网。只有我们的 MAAS 集群控制器节点具有公共 IP。现在我们应该如何从外部世界访问这些实例?我们应该为每个实例分配单独的唯一公共 IP 地址,还是可以通过 NAT 访问它们而无需公共 IP?
我知道有一种概念,即从 IP 池中将浮动 IP 关联到实例。但我应该从哪里获取需要添加到池中的 IP 地址?
答案1
类似这样的操作会给你 5 个浮动 IP 供你选择,seq
如果你需要更多,可以增加
neutron net-create --router:external=True --shared ext-net
neutron subnet-create --name ext-subnet --gateway 10.0.3.1 --allocation-pool start=10.0.3.200,end=10.0.3.254 --disable-dhcp ext-net 10.0.3.0/24
# create vm network
neutron net-create ubuntu-net
# if no router subnet pre-exists, we nat 10.0.4.x network here
neutron subnet-create --name ubuntu-subnet --gateway 10.0.4.1 --dns-nameserver 10.0.3.1 ubuntu-net 10.0.4.0/24
neutron router-create ubuntu-router
neutron router-interface-add ubuntu-router ubuntu-subnet
neutron router-gateway-set ubuntu-router ext-net
# create pool of floating ips
i=0
while [ $i -ne 5 ]; do
neutron floatingip-create ext-net
i=$((i + 1))
done