検索

9.2. nmstatectl を使用した MACsec 接続の設定

download PDF

nmstatectl ユーティリティーを宣言的に使用して、イーサネットインターフェイスが MACsec を使用するように設定できます。たとえば、YAML ファイルでは、ネットワークの望ましい状態を記述します。ネットワークでは、イーサネット経由で接続された 2 つのホスト間に MACsec 接続があることが想定されます。nmstatectl ユーティリティーは、YAML ファイルを解釈し、ホスト間に永続的かつ一貫したネットワーク設定をデプロイします。

リンク層 (Open Systems Interconnection (OSI) モデルのレイヤー 2 とも呼ばれます) での通信を保護するために MACsec セキュリティー標準を使用すると、主に次のような利点が得られます。

  • レイヤー 2 で暗号化することで、レイヤー 7 で個々のサービスを暗号化する必要がなくなります。これにより、各ホストの各エンドポイントで多数の証明書を管理することに関連するオーバーヘッドが削減されます。
  • ルーターやスイッチなどの直接接続されたネットワークデバイス間のポイントツーポイントセキュリティー。
  • アプリケーションや上位レイヤープロトコルに変更を加える必要がなくなります。

前提条件

  • 物理または仮想イーサネットネットワークインターフェイスコントローラー (NIC) がサーバーに設定されている。
  • nmstate パッケージがインストールされている。

手順

  1. MACsec を設定する最初のホストで、事前共有キー用の接続関連キー (CAK: connectivity association key) および接続関連キー名 (CKN: connectivity-association key name) を作成します。

    1. 16 バイトの 16 進 CAK を作成します。

      # dd if=/dev/urandom count=16 bs=1 2> /dev/null | hexdump -e '1/2 "%04x"'
      50b71a8ef0bd5751ea76de6d6c98c03a
    2. 32 バイトの 16 進 CKN を作成します。

      # dd if=/dev/urandom count=32 bs=1 2> /dev/null | hexdump -e '1/2 "%04x"'
      f2b4297d39da7330910a74abc0449feb45b5c0b9fc23df1430e1898fcf1c4550
  2. MACsec 接続を介して接続するホストの両方で、次の手順を実行します。

    1. 次の設定を含む YAML ファイル (例: create-macsec-connection.yml) を作成します。

      ---
      routes:
        config:
        - destination: 0.0.0.0/0
          next-hop-interface: macsec0
          next-hop-address: 192.0.2.2
          table-id: 254
        - destination: 192.0.2.2/32
          next-hop-interface: macsec0
          next-hop-address: 0.0.0.0
          table-id: 254
      dns-resolver:
        config:
          search:
          - example.com
          server:
          - 192.0.2.200
          - 2001:db8:1::ffbb
      interfaces:
      - name: macsec0
        type: macsec
        state: up
        ipv4:
          enabled: true
          address:
          - ip: 192.0.2.1
            prefix-length: 32
        ipv6:
          enabled: true
          address:
          - ip: 2001:db8:1::1
            prefix-length: 64
        macsec:
          encrypt: true
          base-iface: enp0s1
          mka-cak: 50b71a8ef0bd5751ea76de6d6c98c03a
          mka-ckn: f2b4297d39da7330910a74abc0449feb45b5c0b9fc23df1430e1898fcf1c4550
          port: 0
          validation: strict
          send-sci: true
    2. 前の手順で生成された CAK および CKN を mka-cak および mka-ckn パラメーターで使用します。この値は、MACsec で保護されるネットワーク内のすべてのホストで同じである必要があります。
    3. オプション: 同じ YAML 設定ファイルで、次の設定も指定できます。

      • 静的 IPv4 アドレス: 192.0.2.1 (サブネットマスクが /32)
      • 静的 IPv6 アドレス: 2001:db8:1::1 (サブネットマスクが /64)
      • IPv4 デフォルトゲートウェイ - 192.0.2.2
      • IPv4 DNS サーバー - 192.0.2.200
      • IPv6 DNS サーバー - 2001:db8:1::ffbb
      • DNS 検索ドメイン - example.com
  3. 設定をシステムに適用します。

    # nmstatectl apply create-macsec-connection.yml

検証

  1. 現在の状態を YAML 形式で表示します。

    # **nmstatectl show macsec0
  2. トラフィックが暗号化されていることを確認します。

    # tcpdump -nn -i enp0s1
  3. オプション: 暗号化されていないトラフィックを表示します。

    # tcpdump -nn -i macsec0
  4. MACsec の統計を表示します。

    # ip macsec show
  5. integrity-only (encrypt off) および encryption (encrypt on) の各タイプの保護に対して個々のカウンターを表示します。

    # ip -s macsec show
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.