无图无真相, 我们看看实际情况, 当然真相不仅如此, 还有路由网关和远方
我们都知道, Neutron 里面如果虚拟机需要外网流量进出, 至少需要一个 external 网络, 在这个网络中我们需要若干的 IP 地址, 并且 Neutron 自行维护 DHCP, 当然也可以不启用 DHCP, 转而手动指定 IP 但就上面的实际情况, 我们既不能长久的获得连续的一段 IP 地址 (可能晚上能 ping 出来一段, 白天又自动分出去了), 又不能在我们的 Neutron 网络内启动另外一个 external 的 DHCP 混社区的, 需要学会 leverage, 有问题第一时间要去抱大腿, 到社区去找 Neutron 是否可以为 external 网络利用已经存在的 DHCP, 未果, 只发现有提问题的, 没有答的, 哈哈
好在现场硬件条件还不错, 网口足够, 交换机够用那么我们就分而治之, 不是没有连续的网络地址吗, 但是有独立交换机啊, 那我们就自己创造一个连续的 IP 地址池, 只要与现有的不冲突即可, 例如 172.16.10.0/24, 这样安装 OpenStack 的时候, 配置的 br-ex 选择该网段即可 (其他网络不再详细描述, 例如管理网也可以用其他的独立的私有网络, 从现有的 DHCP 隔离出来)
OpenStack 环境部署出来了, 但是虚拟机还是隔离的在当前拓扑下, 办公网络和我们 OpenStack 的上联网络是不同的网段, 两个交换机还不能直接连接, 否则 DHCP 就乱了, 那么就需要一个路由器做跨网段的通信然而, 答案肯定是没有了,:(
好吧, 没有什么是一台 Linux 操作系统不能搞定的, 实在不够, 就两台我们可以用一台服务器, 通过对操作系统做一些 iptables 的配置, 达到路由器的目的
距离成功只有一步之遥了, 其他台式机只要能路由到 172.16.10.0/24 的网络就能够访问到虚拟机了, 如果可以修改 DHCP Server, 那么可以通过配置下发, 将 172.16.10.0/24 的路由设置为之前的那个 Linux 路由服务器, 通过它进行转发或者直接在办公网络台式机本地手动增加一条路由也能够完成同样的效果
来源: http://mp.weixin.qq.com/s/ORKpO4TkMxKnD4y6mqK-3A