Openstack neutron:从网络主机访问Openstack托管服务器

时间:2018-11-07 23:59:58

标签: openstack openstack-neutron

我有一个分布式openstack设置-一个控制器和三个计算实例。 “网络节点”与控制器相同。我有一个扁平的外部网络和VLAN提供商网络,已为其分配标签775。

我有一个将VLAN网络连接到外部网络的路由器。所有管道均按预期工作。我可以登录到openstack服务器并在外部执行ping操作。网络按预期隔离,依此类推。

在控制器/网络节点上,我看到一个qrouter名称空间,该名称空间是openstack为路由器创建的,另一个是为DHCP创建的。

我在启用了公共VLAN的网络上创建服务器。我需要从控制器访问服务器。我尝试通过创建一个veth对并将一端推入qrouter名称空间来尝试一些技巧,但这没有用。

我终于尝试了以下丑陋的技巧(有效):

  ovs-vsctl show 

  # Look for the mapping that openstack is using

  ovs-ofctl dump-flows br-int -O openflow13 | grep 775

  # discover that tag 6 is used by openstack on my integration bridge.
  # corresponding to vlan 775

  # Create a veth pair so the root namespace can access the bridge.


  ip link ip link add veth0 type veth peer name veth1

  # put one end on the bridge. 
  # assign a tag of 6 so it can access the server.

  ovs-vsctl add-port br-int veth1 tag=6



  # Finally I can assign an address to veth0 and ping a host on 
  # the openstack managed vlan network

  ifconfig veth0 10.0.40.39 

完成上述步骤后,我可以从我的控制器ping我的openstack托管网络上的服务器。

我必须执行几个手动步骤才能弄清openstack在集成桥上使用的内部标签。我这样做是通过倾销 集成桥上的流规则,以了解如何管理标签。然后,我执行了上面概述的步骤。我认为必须有一套开放堆栈(中子)命令,我可以使用它们,而不必经历这些。

寻求更好的解决方案。我不需要查看内部标签并找出映射等。是否有开放堆栈命令行基础的命令集可以实现此目的?

谢谢

范围

0 个答案:

没有答案