![]() | Note |
|---|---|
In these sections, replace
|
Create the
ext-netexternal network. This network represents a slice of the outside world. VMs are not directly linked to this network; instead, they connect to internal networks. Outgoing traffic is routed by Neutron to the external network. Additionally, floating IP addresses from the subnet forext-netmight be assigned to VMs so that the external network can contact them. Neutron routes the traffic appropriately.# neutron net-create ext-net -- --router:external=True
SPECIAL_OPTIONSCreate the associated subnet with the same gateway and CIDR as
EXTERNAL_INTERFACE. It does not have DHCP because it represents a slice of the external world:# neutron subnet-create ext-net \ --allocation-pool start=
FLOATING_IP_START,end=FLOATING_IP_END\ --gateway=EXTERNAL_INTERFACE_GATEWAY--enable_dhcp=False \EXTERNAL_INTERFACE_CIDRCreate one or more initial tenants, for example:
# keystone tenant-create --name
DEMO_TENANTSee the section called “Define users, tenants, and roles” for further details.
Create the router attached to the external network. This router routes traffic to the internal subnets as appropriate. You can create it under a given tenant: Append
--tenant-idoption with a value ofDEMO_TENANT_IDto the command.Use the following to quickly get the
DEMO_TENANTtenant-id:# keystone tenant-list | grep
DEMO_TENANT| awk '{print $2;}'Then create the router:
# neutron router-create ext-to-int --tenant-id
DEMO_TENANT_IDConnect the router to
ext-netby setting the gateway for the router asext-net:# neutron router-gateway-set
EXT_TO_INT_IDEXT_NET_IDCreate an internal network for
DEMO_TENANT(and associated subnet over an arbitrary internal IP range, such as,10.5.5.0/24), and connect it to the router by setting it as a port:# neutron net-create --tenant-id
DEMO_TENANT_IDdemo-netSPECIAL_OPTIONS# neutron subnet-create --tenant-idDEMO_TENANT_IDdemo-net 10.5.5.0/24 --gateway 10.5.5.1 # neutron router-interface-addEXT_TO_INT_IDDEMO_NET_SUBNET_IDCheck the special options page for your plug-in for remaining steps. Now, return to the general OVS instructions.

![[Note]](../common/images/admon/note.png)
