2016-04-14 7 views
0

Ich habe RDO Openstack-Umgebung in einer Maschine zum Testen. Das RDO wurde mit dem Befehl packstack --allinone installiert. Mit HOT habe ich zwei Instanzen erstellt. Eine mit cirros Bild und eine andere mit Fedora. Die Fedora Instanz hat zwei Schnittstellen, die mit demselben Netzwerk verbunden sind, während cirros nur eine Schnittstelle haben und mit demselben Netzwerk verbunden sind. Die Vorlage sieht wie folgt aus -Ping fehlgeschlagen, zweite IP in openstack Instanz

heat_template_version: 2015-10-15 
description: Simple template to deploy two compute instances 

resources: 

    local_net: 
    type: OS::Neutron::Net 

    local_signalling_subnet: 
    type: OS::Neutron::Subnet 
    properties: 
     network_id: { get_resource: local_net } 
     cidr: "50.0.0.0/24" 
     ip_version: 4 

    fed: 
    type: OS::Nova::Server 
    properties: 
    image: fedora 
    flavor: m1.small 
    key_name: heat_key 
    networks: 
     - network: local_net 
    networks: 
     - port: { get_resource: fed_port1 } 
     - port: { get_resource: fed_port2 } 

    fed_port1: 
    type: OS::Neutron::Port 
    properties: 
     network_id: { get_resource: local_net } 

    fed_port2: 
    type: OS::Neutron::Port 
    properties: 
     network_id: { get_resource: local_net } 

    cirr: 
    type: OS::Nova::Server 
    properties: 
     image: cirros 
     flavor: m1.tiny 
     key_name: heat_key 
    networks: 
     - network: local_net 
    networks: 
     - port: { get_resource: cirr_port } 

cirr_port: 
    type: OS::Neutron::Port 
    properties: 
     network_id: { get_resource: local_net } 

Das Fedora-Instanz bekam zwei ips (50.0.0.3 und 50.0.0.4). Cirros bekam IP 50.0.0.5. Ich kann ping 50.0.0.3 von cirros Instanz aber nicht die IP 50.0.0.4. Wenn ich die Schnittstelle mit IP 50.0.0.3 in der Fedora Instanz manuell heruntersetze, dann kann nur ich 50.0.0.4 von der cirros Instanz pingen. Gibt es eine Einschränkung in der Konfiguration von Neutronen, die das gleichzeitige Ping zu beiden IPs der Fedora Instanz verhindert? Bitte helfen Sie.

Antwort

0

Dies geschieht aufgrund der Standard-Firewall-Operation durch OpenStack-Netzwerk (Neutron) - es lässt einfach alle Pakete auf einem Port fallen, wenn die Quelladresse des Pakets nicht mit der IP-Adresse des Ports übereinstimmt.

Wenn die cirros-Instanz das Ping-Paket an 50.0.0.4 sendet, empfängt es die fedora-Instanz auf der Schnittstelle mit der IP-Adresse 50.0.0.4. Wenn es jedoch auf die IP-Adresse 50.0.0.5 von cirros zurückgreift, verfügt der Linux-Netzwerkstapel auf Ihrem fedora-Computer über zwei Schnittstellen zum Senden der Antwort (da beide Schnittstellen mit demselben Netzwerk verbunden sind). In Ihrem Fall reagiert Fedora auf 50.0.0.3. Die Quell-IP-Adresse im Paket ist jedoch immer noch 50.0.0.4 und daher wird die OpenStack-Netzwerkschicht einfach abgesetzt.

Allgemeine Empfehlung ist es, nicht mehrere Schnittstellen im selben Netzwerk zu haben. Wenn Sie mehr IP-Adressen aus dem gleichen Netzwerk für Ihre VM möchten, können Sie „fixed_ips“ Option in der Hitze Vorlage verwenden:

fed_port1: 
    type: OS::Neutron::Port 
    properties: 
    network_id: { get_resource: local_net } 
    fixed_ips: 
    - ip_address: "50.0.0.4" 
    - ip_address: "50.0.0.3" 

Da DHCP-Server nur die IP-Adresse anbieten würde, würde Filzhut mit nur einer IP konfiguriert werden . Sie können eine andere IP zu Ihrer Schnittstelle hinzufügen "ip addr add" Befehl (siehe http://www.unixwerk.eu/linux/redhat/ipalias.html):

ip addr add 50.0.0.3/24 brd + dev eth0 label eth0:0 
+0

Nach Ihrem Vorschlag, den ich habe versucht, zwei festen ips in 'fedora' Instanz hinzuzufügen. Aber selbst wenn dies geschieht, zeigt der 'ip addr' Befehl nur eine ip in' fedora' an und ping von 'cirros' ist auch nur für eine ip erfolgreich. – kuro

+0

Auf jeder Schnittstelle wird nur eine IP vom DHCP-Server in Neutron angeboten und daher wird standardmäßig nur eine IP konfiguriert. Sie können Ihrer Schnittstelle in Fedora eine weitere IP-Adresse hinzufügen, indem Sie den Befehl "ip addr add" verwenden. Siehe [link] (http://www.unixwerk.eu/linux/redhat/ipalias.html): 'ip addr add 50.0.0.4/24 brd + dev eth0 label eth0: 0' –

+0

Sorry für die verzögerte Antwort. Ihre Lösung hat wie Charme funktioniert. Vielen Dank – kuro