2.3. オーバークラウドファイアウォールからのサービスの削除

ルールを使用してサービスを制限できます。ルール名に使用する番号によって、ルールが挿入される iptables の場所が決まります。次の手順は、rabbitmq サービスを InternalAPI ネットワークに制限する方法を示しています。

手順

  1. コントローラーノードで、rabbitmq のデフォルトの iptables ルールの番号を見つけます。

    [tripleo-admin@overcloud-controller-2 ~]$ sudo iptables -L | grep rabbitmq
    ACCEPT     tcp  --  anywhere             anywhere             multiport dports vtr-emulator,epmd,amqp,25672,25673:25683 state NEW /* 109 rabbitmq-bundle ipv4 */
  2. 環境ファイルの parameter_defaults で、ExtraFirewallRules パラメーターを使用して、rabbitmq を InternalApi ネットワークに限定します。ルールには、デフォルトの rabbitmq ルール番号または 109 よりも小さい番号が与えられます。

    cat > ~/templates/firewall.yaml <<EOF
    parameter_defaults:
      ExtraFirewallRules:
        '098 allow rabbit from internalapi network':
          dport:
          - 4369
          - 5672
          - 25672
          proto: tcp
          source: 10.0.0.0/24
        '099 drop other rabbit access':
          dport:
          - 4369
          - 5672
          - 25672
          proto: tcp
          action: drop
    EOF
    注記

    action パラメーターを設定しない場合、結果は accept になります。action パラメーターは、dropinsert、または append のみに設定できます。

  3. ~/templates/firewall.yaml ファイルを openstack overcloud deloy コマンドに含めます。デプロイメントに必要なすべてのテンプレートを含めます。

    openstack overcloud deploy --templates /
    ...
    -e /home/stack/templates/firewall.yaml /
    ....