6.13.3. nmstatectl を使用してクライアントを IPsec VPN ゲートウェイに接続するように設定する


リモートのプライベートネットワーク上のリソースにアクセスするには、ユーザーはまず IPsec VPN 接続を設定する必要があります。Nmstate を使用すると、宣言型の API を使用して既存の Libreswan IPsec ゲートウェイとの接続を作成できます。

注記

一般に、どちらのホストを left または right と呼ぶかは任意です。ただし、NetworkManager では、ローカルホストには常に left という用語を使用し、リモートホストには常に right という用語を使用します。

前提条件

  • リモートゲートウェイは Libreswan IPsec を実行し、証明書ベースの認証による ホストとサイト間の 接続に対応しています。

    NetworkManager-libreswan プラグインの設計上、Nmstate は、同じ接続にこのプラグインを使用する他のピアと通信することはできません。

  • クライアントに、次の内容を含む PKCS#12 ファイル ~/file.p12 が存在する。

    • ユーザーの秘密鍵
    • ユーザー証明書
    • CA 証明書
    • 中間証明書 (必要な場合)

    秘密鍵および証明書署名要求 (CSR) の作成や、CA からの証明書要求に関する詳細は、CA のドキュメントを参照してください。

  • 証明書の Extended Key Usage (EKU) が TLS Web Client Authentication に設定されている。

手順

  1. Libreswan がまだインストールされていない場合は、以下を実行します。

    1. 必要なパッケージをインストールします。

      # dnf install nmstate libreswan NetworkManager-libreswan
    2. NetworkManager サービスを再起動します。

      # systemctl restart NetworkManager
    3. ネットワークセキュリティーサービス (NSS) データベースを初期化します。

      # ipsec initnss

      このコマンドにより、/var/lib/ipsec/nss/ ディレクトリーにデータベースが作成されます。

    4. ファイアウォールで IPsec ポートとプロトコルを開きます。

      # firewall-cmd --permanent --add-service="ipsec"
      # firewall-cmd --reload
  2. PKCS #12 ファイルを NSS データベースにインポートします。

    # ipsec import ~/file.p12
    Enter password for PKCS12 file: <password>
    pk12util: PKCS12 IMPORT SUCCESSFUL
    correcting trust bits for Example-CA
  3. ユーザーのニックネームと CA 証明書を表示します。

    # certutil -L -d /var/lib/ipsec/nss/
    Certificate Nickname     Trust Attributes
                             SSL,S/MIME,JAR/XPI
    
    user                     u,u,u
    Example-CA               CT,,
    ...

    この情報は Nmstate の YAML ファイルに必要です。

  4. 次の内容を含む YAML ファイル (例: ~/ipsec-host-to-site-cert-auth.yml) を作成します。

    ---
    interfaces:
    - name: '<connection_name>'
      type: ipsec
      libreswan:
        ikev2: insist
    
        left: <ip_address_or_fqdn_of_left_peer>
        leftid: '%fromcert'
        leftcert: <user_certificate_nickname>
    
        right: <ip_address_or_fqdn_of_right_peer>
        rightid: '%fromcert'
        rightsubnet: 192.0.2.0/24

    この例で指定されている設定は次のとおりです。

    ikev2: insist
    最新の IKEv2 プロトコルを、IKEv1 へのフォールバックなしで、唯一許可されるプロトコルとして定義します。この設定は、Nmstate を使用したホスト/サイト設定では必須です。
    left=<ip_address_or_fqdn_of_left_peer> および right=<ip_address_or_fqdn_of_right_peer>
    ピアの IP アドレスまたは DNS 名を定義します。
    leftid=%fromcert および rightid=%fromcert
    証明書の識別名 (DN) フィールドからアイデンティティーを取得するように Libreswan を設定します。
    leftcert="<server_certificate_nickname>"
    NSS データベースで使用されるサーバーの証明書のニックネームを設定します。
    rightsubnet: <subnet>
    ゲートウェイに接続されているサブネットを Classless Inter-Domain Routing (CIDR) 形式で定義します。
  5. 設定をシステムに適用します。

    # nmstatectl apply ~/ipsec-host-to-site-cert-auth.yml

検証

  • リモートネットワーク内のホストへの接続を確立するか、ping を実行します。

トラブルシューティング

  • NetworkManager が Libreswan に渡す実際の設定を表示するには、次のように入力します。

    # nmcli connection export <connection_name>

    この出力は、リモートホスト上の Libreswan 設定と比較する際に、ID や鍵などの設定の違いを特定するのに役立ちます。

次のステップ

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る