6.13.3. nmstatectl을 사용하여 IPsec VPN 게이트웨이에 연결하도록 클라이언트 구성


원격 사설 네트워크의 리소스에 액세스하려면 먼저 IPsec VPN 연결을 구성해야 합니다. Nmstate를 사용하면 선언적 API를 사용하여 기존 Libreswan IPsec 게이트웨이와의 연결을 생성할 수 있습니다.

참고

일반적으로 왼쪽오른쪽 이라는 이름의 호스트는 임의의 값입니다. 그러나 NetworkManager는 항상 로컬 호스트에 왼쪽 이라는 용어를 사용하고 원격 호스트에는 right 을 사용합니다.

사전 요구 사항

  • 원격 게이트웨이는 Libreswan IPsec을 실행하며 인증서 기반 인증을 사용한 호스트 간 연결을 위해 준비되었습니다.

    NetworkManager-libreswan 플러그인의 설계로 인해 Nmstate는 동일한 연결에 이 플러그인을 사용하는 다른 피어와 통신할 수 없습니다.

  • PKCS#12 파일 ~/file.p12 는 다음 콘텐츠가 있는 클라이언트에 있습니다.

    • 사용자의 개인 키
    • 사용자 인증서
    • CA 인증서
    • 필요한 경우 중간 인증서

    개인 키 및 CSR(인증서 서명 요청) 생성 및 CA에서 인증서를 요청하는 방법에 대한 자세한 내용은 CA 설명서를 참조하십시오.

  • 인증서의 확장 키 사용량(EKU)은 TLS 웹 클라이언트 인증으로 설정됩니다.

프로세스

  1. Libreswan이 아직 설치되지 않은 경우:

    1. 필수 패키지를 설치합니다.

      # dnf install nmstate libreswan NetworkManager-libreswan
    2. NetworkManager 서비스를 다시 시작하십시오.

      # systemctl restart NetworkManager
    3. NSS(Network Security Services) 데이터베이스를 초기화합니다.

      # 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=%fromcertrightid=%fromcert
    인증서의 고유 이름(DN) 필드에서 ID를 검색하도록 Libreswan을 구성합니다.
    leftcert="<server_certificate_nickname>"
    NSS 데이터베이스에 사용된 서버 인증서의 닉네임을 설정합니다.
    rightsubnet: <subnet>
    게이트웨이에 연결된 CIDR(Classless inter-domain routing) 형식으로 서브넷을 정의합니다.
  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은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동