如何配置OVN路由器?

译者简介:郑敏先,就职于诺云系统(上海)有限公司。工作地点为南京的诺云研发中心。担任解决方案工程师。 本人博客为:http://blog.csdn.net/zhengmx100

原文链接:http://blog.spinhirne.com/2016/09/an-introduction-to-ovn-routing.html

概览

基于我上一篇文章中的实验环境,我现在将三层网络基础功能添加到OVN中。最终呈现出来的将是由逻辑路由器连接的一对逻辑交换机。 另外,路由器将被配置为通过OVN中内置的DHCP服务来提供IP地址。

重构逻辑组件

由于设置开始变得更加复杂,我们将重新构建网络架构。 新的逻辑网络拓扑如下:

  • 2 台逻辑交换机 switches: “dmz” 和“inside”
  • 逻辑路由器“tenant1”,它连接着两个逻辑交换机
  • IP网络“dmz” :172.16.255.128/26
  • IP网络“inside”:172.16.255.192/26
  • 每个逻辑交换机上各有一对“虚拟机”

新的逻辑网络如下图所示

理解路由

在本次实验中,我们将创建一个OVN路由器,即“分布式逻辑路由器”(DLR)。 DLR不同于传统路由器,因为它不是物理的设备,而是一种逻辑架构(与逻辑交换机不同)。 DLR仅作为OVS中的一个功能而存在:换句话说,每个OVS实例能够在overlay网络转发流量之前先在本地模拟出一个三层路由器。

创建逻辑交换机和逻辑路由器

在ubuntu1上定义逻辑交换机:

添加逻辑路由器及其关联的路由器和交换机端口:

添加 DHCP

OVN中的DHCP与大多数的解决方案有点不同。 大多数人的想法是管理员将:

1.给定子网定义一组DHCP选项
2.创建逻辑交换机端口,给该端口定义MAC地址和IP地址
3.为该端口分配DHCP选项。
4.将端口安全设置为仅允许分配的地址

下面,我们将要给4台虚拟机配置逻辑端口。
在ubuntu1上:

您可能已经注意到,与上一个实验不同,现在通过一条命令就能定义mac和IP地址。 IP地址定义实现了我们的2个目的:

1.它通过OVN在本地应答其知道的IP / MAC的ARP请求来实现ARP抑制。

2.从哪个端口收到DHCP请求,就会从哪个接口分配IP地址。通过这种方式来实现DHCP。

接下来,我们需要定义DHCP选项并将它们分配给逻辑端口。这里的处理将与我们以前看到的有点不同,因为我们将直接与OVN NB数据库进行交互。 用这种方式的原因是需要捕获DHCP_Options中的UUID,以便我们可以将UUID分配给交换机端口。 为此,我们将把捕获的ovn-nbctl命令的结果输出到一对bash变量中。

如果您想了解有关OVN NB数据库的更多信息,请参阅ovn-nb的手册(译者注:http://openvswitch.org/support/dist-docs/ovn-nb.5.pdf)。

现在,我们将使用存储在变量中的UUID为逻辑交换机端口分配DHCP_Options。

配置虚拟机

与上一个实验一样,我们将使用OVS内部端口和网络命名空间构建的“伪虚拟机”。 现在的区别是,我们将使用DHCP进行地址分配。

接下来我们将设置虚拟机。
在ubuntu2上:

在 ubuntu3上:

测试网络连通性

在ubuntu2上,从vm1测试网络连通性:

结语

OVN使得第三层overlay网络易于部署和管理。 另外像DHCP的服务直接构建到系统中的方式,有助于减少构建有效的SDN解决方案所需的外部组件的数量。 在下一篇文章中,将讨论如何将我们(当前隔离的)overlay网络连接到外部世界。


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/19200.html
分享到:
相关文章
条评论

登录后才可以评论

zhengmx100 发表于17-05-11
1