GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

OpenStack Liberty auf Ubuntu 14.04 – Erstellen Sie virtuelle Netzwerke

Dies ist der dritte Teil der Konfiguration von Neutron (Networking) unter Ubuntu 14.04. Sie können den vorherigen Artikel zu Configure Neutron #1 und Configure Neutron #2 durchgehen, in dem wir Netzwerkkomponenten auf Controller und Compute-Knoten installiert und konfiguriert haben.

Hier erstellen wir ein erstes Netzwerk, das erstellt werden muss, bevor eine VM-Instanz/en gestartet werden.

Das obige Diagramm verwendet beispielhafte IP-Adressbereiche. Sie müssen sie an Ihre spezielle Umgebung anpassen.

Da wir Self-Service-Netzwerke verwenden , müssen wir sowohl öffentliche als auch private virtuelle Netzwerke erstellen.

Öffentliches Anbieternetzwerk erstellen:

Die Instanz verwendet ein virtuelles Netzwerk eines öffentlichen Anbieters, das über Bridging/Switching mit der physischen Netzwerkinfrastruktur verbunden ist. Dieses Netzwerk enthält einen DHCP-Server, der Netzwerkressourcen (IP-Adresse, Subnetz, Gateway und andere) für Instanzen bereitstellt.

Anmeldeinformationen auf dem Controller-Knoten laden.

# source admin-openrc.sh

das Netzwerk erstellen.

#  neutron net-create public --shared --provider:physical_network public --provider:network_type flat

Created a new network:
+---------------------------+--------------------------------------+
| Field                     | Value                                |
+---------------------------+--------------------------------------+
| admin_state_up            | True                                 |
| id                        | 25109c9a-0d9c-498f-8a8a-9004219ee85a |
| mtu                       | 0                                    |
| name                      | public                               |
| port_security_enabled     | True                                 |
| provider:network_type     | flat                                 |
| provider:physical_network | public                               |
| provider:segmentation_id  |                                      |
| router:external           | False                                |
| shared                    | True                                 |
| status                    | ACTIVE                               |
| subnets                   |                                      |
| tenant_id                 | fe858f6a43f84c26b994f0be74c928e6     |
+---------------------------+--------------------------------------+

Erstellen Sie ein Subnetz im öffentlichen Netzwerk.

Verwenden Sie beispielsweise 192.168.0.0/24 mit dem Floating-IP-Adressbereich 192.168.0.200 bis 192.168.0.250 mit dem physischen Gateway 192.168.0.1 mit 8.8.4.4 als primärem DNS-Server. Dieses Gateway sollte dem physischen Netzwerk zugeordnet sein

# neutron subnet-create public 192.168.0.0/24 --name public --allocation-pool start=192.168.0.200,end=192.168.0.250 --dns-nameserver 8.8.4.4 --gateway 192.168.0.1
Created a new subnet:
+-------------------+----------------------------------------------------+
| Field             | Value                                              |
+-------------------+----------------------------------------------------+
| allocation_pools  | {"start": "192.168.0.200", "end": "192.168.0.250"} |
| cidr              | 192.168.0.0/24                                     |
| dns_nameservers   | 8.8.4.4                                            |
| enable_dhcp       | True                                               |
| gateway_ip        | 192.168.0.1                                        |
| host_routes       |                                                    |
| id                | 3cee40a7-e241-4f9e-8033-cdc03fc58d76               |
| ip_version        | 4                                                  |
| ipv6_address_mode |                                                    |
| ipv6_ra_mode      |                                                    |
| name              | public                                             |
| network_id        | 25109c9a-0d9c-498f-8a8a-9004219ee85a               |
| subnetpool_id     |                                                    |
| tenant_id         | fe858f6a43f84c26b994f0be74c928e6                   |
+-------------------+----------------------------------------------------+

Privates Projektnetzwerk erstellen:

Erstellen Sie ein virtuelles Netzwerk für ein privates Projekt, um die physische Netzwerkinfrastruktur über Layer-3 (Routing) und NAT zu verbinden. Dieses private Projektnetzwerk enthält einen DHCP-Server, der IP-Adressen für Instanzen bereitstellt. Eine Instanz in diesem Netzwerk kann Zugriff auf das Internet haben. Für den Zugriff auf eine Instanz in diesem Netzwerk über das Internet ist jedoch eine Floating-IP-Adresse erforderlich.

Erstellen Sie das private Netzwerk (privat).

# neutron net-create private
Created a new network:
+---------------------------+--------------------------------------+
| Field                     | Value                                |
+---------------------------+--------------------------------------+
| admin_state_up            | True                                 |
| id                        | 1b03eacd-e737-473b-8c0d-a16052f6505b |
| mtu                       | 0                                    |
| name                      | private                              |
| port_security_enabled     | True                                 |
| provider:network_type     | vxlan                                |
| provider:physical_network |                                      |
| provider:segmentation_id  | 65                                   |
| router:external           | False                                |
| shared                    | False                                |
| status                    | ACTIVE                               |
| subnets                   |                                      |
| tenant_id                 | fe858f6a43f84c26b994f0be74c928e6     |
+---------------------------+--------------------------------------+

Erstellen Sie ein Subnetz im internen Netzwerk. Verwenden Sie beispielsweise das Netzwerk 192.168.100.0/24 mit dem virtuellen Gateway 192.168.0.1 mit 8.84.4. als primärer DNS-Server. Ein DHCP-Server weist jeder Instanz eine IP-Adresse von 192.168.100.2 bis 192.168.100.254

zu
#  neutron subnet-create private 192.168.100.0/24 --name private --dns-nameserver 8.8.4.4 --gateway 192.168.100.1
Created a new subnet:
+-------------------+------------------------------------------------------+
| Field             | Value                                                |
+-------------------+------------------------------------------------------+
| allocation_pools  | {"start": "192.168.100.2", "end": "192.168.100.254"} |
| cidr              | 192.168.100.0/24                                     |
| dns_nameservers   | 8.8.4.4                                              |
| enable_dhcp       | True                                                 |
| gateway_ip        | 192.168.100.1                                        |
| host_routes       |                                                      |
| id                | 5b986d39-7f60-4c14-ad68-9aa797fc2487                 |
| ip_version        | 4                                                    |
| ipv6_address_mode |                                                      |
| ipv6_ra_mode      |                                                      |
| name              | private                                              |
| network_id        | 1b03eacd-e737-473b-8c0d-a16052f6505b                 |
| subnetpool_id     |                                                      |
| tenant_id         | fe858f6a43f84c26b994f0be74c928e6                     |
+-------------------+------------------------------------------------------+

Erstellen Sie den virtuellen Router.

Private Projektnetzwerke verbinden sich über einen virtuellen Router mit Netzwerken öffentlicher Anbieter, der den Netzwerkverkehr zwischen zwei oder mehr virtuellen Netzwerken weiterleitet (zu oder von privat / öffentlich). In unserem Fall müssen wir einen Router erstellen und ihn mit privaten und öffentlichen Netzwerken verbinden.

# neutron router-create router
Created a new router:
+-----------------------+--------------------------------------+
| Field                 | Value                                |
+-----------------------+--------------------------------------+
| admin_state_up        | True                                 |
| external_gateway_info |                                      |
| id                    | e217d03c-ad34-4d64-bce8-0190e0eef6ca |
| name                  | router                               |
| routes                |                                      |
| status                | ACTIVE                               |
| tenant_id             | b558b39292b247b7a346678b80ed71e0     |
+-----------------------+--------------------------------------+

Fügen Sie die Option router:external dem Netzwerk des öffentlichen Anbieters hinzu.

# neutron net-update public --router:external
Updated network: public

Verbinden Sie den Router mit dem privaten Subnetz.

# neutron router-interface-add router private
Added interface 74748304-cbfb-4c53-bc6e-d12271bbcdd1 to router router.

Verbinden Sie den Router mit dem öffentlichen Netzwerk, indem Sie ihn als Gateway festlegen.

# neutron router-gateway-set router public
Set gateway for router router

Überprüfen:

Listen Sie die Netzwerk-Namespaces auf, die Ausgabe sollte einen qrouter haben und zwei qdhcp Namensräume.

# ip netns
qrouter-e217d03c-ad34-4d64-bce8-0190e0eef6ca
qdhcp-1b03eacd-e737-473b-8c0d-a16052f6505b
qdhcp-25109c9a-0d9c-498f-8a8a-9004219ee85a

Sie können die Konnektivität überprüfen, indem Sie 192.168.0.200 vom externen physischen Netzwerk aus anpingen. Dies liegt daran, dass wir das Subnetz 192.168.0.0/24 verwendet haben, Floating-IP-Bereiche von 192.168.0.200 – 250, das Mieter-Router-Gateway sollte die niedrigste IP-Adresse im Floating-IP-Adressbereich belegen, dh 192.168.0.200

C:\>ping 192.168.0.200

Pinging 192.168.0.200 with 32 bytes of data:
Reply from 192.168.0.200: bytes=32 time=1ms TTL=64
Reply from 192.168.0.200: bytes=32 time=2ms TTL=64
Reply from 192.168.0.200: bytes=32 time=1ms TTL=64
Reply from 192.168.0.200: bytes=32 time=1ms TTL=64

Ping statistics for 192.168.0.200:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 1ms, Maximum = 2ms, Average = 1ms

Das ist alles!!! Sie haben erfolgreich erste Netzwerke zum Starten einer Instanz erstellt.

Referenz:OpenStack-Handbuch.


Ubuntu
  1. OpenStack Liberty auf Ubuntu 14.04 LTS – Nova konfigurieren

  2. OpenStack Kilo auf Ubuntu 14.04.2 – Konfigurieren Sie KeyStone #2

  3. OpenStack Liberty auf Ubuntu 14.04 – Konfigurieren Sie Neutron #2

  4. Offene Hochleistungsinfrastruktur kommt zu Ubuntu

  5. So erstellen Sie eine virtuelle Python-Umgebung unter Ubuntu 20.04

So erstellen Sie virtuelle Python-Umgebungen unter Ubuntu 18.04

Erstellen Sie eine virtuelle Maschine mit VMware Workstation 11 auf Ubuntu 14.10

So erstellen Sie ein virtuelles Netzwerk in Azure Cloud

So erstellen Sie einen virtuellen Ubuntu-Computer in Azure Cloud

So erstellen Sie eine virtuelle Python 3-Umgebung unter Ubuntu 20.04

2 Möglichkeiten zum Erstellen einer PPPoE-Verbindung in Ubuntu