0

テスト用のマシンに RDO オープンスタック環境があります。RDO はpackstack --allinoneコマンドでインストールされました。HOT を使用して、2 つのインスタンスを作成しました。1 つはcirros画像付き、もう1 つはFedora. Fedoraインスタンスには、同じネットワークに接続されている 2 つのインターフェイスがありますが、インターフェイスは1cirrosつしかなく、同じネットワークに接続されています。テンプレートは次のようになります -

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 }

Fedora インスタンスは 2 つの IP (50.0.0.3 と 50.0.0.4) を取得しました。Cirros の IP は 50.0.0.5 です。インスタンスから 50.0.0.3 に ping できcirrosますが、ip 50.0.0.4 にはできません。インスタンスで IP 50.0.0.3 のインターフェイスを手動で停止したFedora場合、インスタンスから 50.0.0.4 に ping できるのは私だけcirrosです。neutron の設定に、Fedoraインスタンスの両方の IP に同時にping を送信することを禁止する制限はありますか? 助けてください。

4

1 に答える 1

0

これは、OpenStack ネットワーキング (neutron) によって行われるデフォルトのファイアウォールが原因で発生します。パケットの送信元アドレスがポートに割り当てられた IP アドレスと一致しない場合、ポートで受信したパケットは単に破棄されます。

cirros インスタンスが ping パケットを 50.0.0.4 に送信すると、fedora インスタンスは IP アドレス 50.0.0.4 のインターフェイスでそれを受信します。ただし、cirros の IP アドレス 50.0.0.5 に応答する場合、fedora マシンの Linux ネットワーク スタックには、応答を送信するために選択できる 2 つのインターフェイスがあります (これらのインターフェイスは両方とも同じネットワークに接続されているため)。あなたの場合、fedora は 50.0.0.3 で応答することを選択します。ただし、パケットの送信元 IP アドレスは 50.0.0.4 のままであるため、OpenStack ネットワーク層は単純にそれをドロップします。

一般的な推奨事項は、同じネットワーク上に複数のインターフェースを持たないことです。VM に同じネットワークから複数の IP アドレスが必要な場合は、heat テンプレートで "fixed_ips" オプションを使用できます。

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"

DHCP サーバーは IP アドレスのみを提供するため、fedora は 1 つの IP のみで構成されます。「ip addr add」コマンドを使用して、インターフェイスに別の IP を追加できます ( http://www.unixwerk.eu/linux/redhat/ipalias.htmlを参照)。

ip addr add 50.0.0.3/24 brd + dev eth0 label eth0:0
于 2016-04-14T22:28:00.297 に答える