Book Image

Learning OpenStack Networking (Neutron)

By : James Denton
Book Image

Learning OpenStack Networking (Neutron)

By: James Denton

Overview of this book

OpenStack Neutron is an OpenStack component that provides networking as a service for other OpenStack services to architect networks and create virtual machines through its API. This API lets you define network connectivity in order to leverage network capabilities to cloud deployments. Through this practical book, you will build a strong foundational knowledge of Neutron, and will architect and build an OpenStack cloud using advanced networking features. We start with an introduction to OpenStack Neutron and its various components, including virtual switching, routing, FWaaS, VPNaaS, and LBaaS. You’ll also get hands-on by installing OpenStack and Neutron and its components, and use agents and plugins to orchestrate network connectivity and build a virtual switching infrastructure. Moving on, you’ll get to grips with the HA routing capabilities utilizing VRRP and distributed virtual routers in Neutron. You’ll also discover load balancing fundamentals, including the difference between nodes, pools, pool members, and virtual IPs. You’ll discover the purpose of security groups and learn how to apply the security concept to your cloud/tenant/instance. Finally, you' ll configure virtual private networks that will allow you to avoid the use of SNAT and floating IPs when connecting to remote networks.
Table of Contents (21 chapters)
Learning OpenStack Networking (Neutron) Second Edition
About the Author
About the Reviewers

Routing traffic in a cloud

In a reference implementation, virtual routers created in Neutron exist as network namespaces that reside on nodes running the neutron-l3-agent service. A virtual router is often connected to a single external provider network and one or more tenant networks. Router interfaces connected to these networks can be identified as:

  • qg—gateway interface

  • qr—router interface

Neutron routers are responsible for providing inbound and outbound connectivity to and from tenant networks through the use of network address translation or NAT. The following diagram shows how a router namespace may be connected to multiple bridges in a LinuxBridge implementation:

Figure 7.1

The preceding diagram demonstrates a Neutron router connected to multiple bridges in a LinuxBridge-based implementation. Traffic from tenant networks is routed in from qr interfaces and out the qg interface onto the external network. Routing tables within the namespace dictate how traffic is routed, and iptables rules...