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


宣言型の Nmstate API を使用して、MACsec を使用するようにイーサネットインターフェイスを設定できます。Nmstate を使用すると、結果が必ず設定ファイルと一致したものになります。一致しない場合は、変更がロールバックされます。

前提条件

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

手順

  1. 最初のホストで、事前共有鍵の接続アソシエーションキー (CAK) および接続アソシエーションキー名 (CKN) を作成します。

    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

      ステップ 1 で生成された CAK と CKN を mka-cak および mka-ckn パラメーターに使用します。この値は、MACsec で保護されるネットワーク内のすべてのホストで同じである必要があります。

  3. 設定をシステムに適用します。

    # nmstatectl apply create-macsec-connection.yml

検証

  1. MACsec インターフェイスがアクティブであり、正しく設定されていることを確認します。

    # nmstatectl show macsec0

    出力には、暗号化ステータスを含む MACsec インターフェイスの設定が表示されます。

  2. 親インターフェイス上のトラフィックが暗号化されていることを確認します。出力には、暗号化された MACsec フレームが表示されます。

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る