6.3. 원시 RSA 키 인증을 사용하여 IPsec 호스트 간 VPN을 수동으로 구성


호스트 간 VPN은 두 장치 간에 직접, 보안 및 암호화된 연결을 설정하여 애플리케이션과 인터넷과 같은 비보안 네트워크를 통해 안전하게 통신할 수 있습니다.

인증을 위해 RSA 키는 대칭 암호화가 공유 보안의 위험을 제거하기 때문에 PSK(사전 공유 키)보다 안전합니다. RSA 키를 사용하면 강력한 피어 투 피어 인증을 제공하면서 CA(인증 기관)의 필요성을 방지하여 배포가 간소화됩니다.

두 호스트 모두에서 단계를 수행합니다.

프로세스

  1. Libreswan이 아직 설치되지 않은 경우 다음 단계를 수행합니다.

    1. libreswan 패키지를 설치합니다.

      # dnf install libreswan
      Copy to Clipboard Toggle word wrap
    2. NSS(Network Security Services) 데이터베이스를 초기화합니다.

      # ipsec initnss
      Copy to Clipboard Toggle word wrap

      이 명령은 /var/lib/ipsec/nss/ 디렉터리에 데이터베이스를 생성합니다.

    3. ipsec 서비스를 활성화하고 시작합니다.

      # systemctl enable --now ipsec
      Copy to Clipboard Toggle word wrap
    4. 방화벽에서 IPsec 포트 및 프로토콜을 엽니다.

      # firewall-cmd --permanent --add-service="ipsec"
      # firewall-cmd --reload
      Copy to Clipboard Toggle word wrap
  2. RSA 키 쌍을 생성합니다.

    # ipsec newhostkey
    Copy to Clipboard Toggle word wrap

    ipsec 유틸리티는 키 쌍을 NSS 데이터베이스에 저장합니다.

  3. 피어를 지정합니다. IPsec 터널에서는 하나의 호스트를 왼쪽으로 지정하고 다른 하나는 오른쪽으로 지정해야 합니다. 이는 임의의 선택 사항입니다. 일반적인 방법은 로컬 호스트 왼쪽 과 원격 호스트를 오른쪽으로 호출하는 것입니다.
  4. 왼쪽 및 오른쪽 피어 모두에서 인증서 키 속성 ID(CKAID)를 표시합니다.

    # ipsec showhostkey --list
    < 1> RSA keyid: <key_id> ckaid: <ckaid>
    Copy to Clipboard Toggle word wrap

    다음 단계에서 두 피어의 CKAID가 필요합니다.

  5. 공개 키를 표시합니다.

    1. 왼쪽 피어에서 다음을 입력합니다.

      # ipsec showhostkey --left --ckaid <ckaid_of_left_peer>
      	# rsakey AwEAAdKCx
      	leftrsasigkey=0sAwEAAdKCxpc9db48cehzQiQD...
      Copy to Clipboard Toggle word wrap
    2. 오른쪽 피어에서 다음을 입력합니다.

      # ipsec showhostkey --right --ckaid <ckaid_of_right_peer>
      	# rsakey AwEAAcNWC
      	rightrsasigkey=0sAwEAAcNWCzZO+PR1j8WbO8X...
      Copy to Clipboard Toggle word wrap

    명령은 구성 파일에서 사용해야 하는 해당 매개 변수가 있는 공개 키를 표시합니다.

  6. /etc/ipsec.d/ 디렉터리에 연결에 대한 .conf 파일을 만듭니다. 예를 들어 다음 설정을 사용하여 /etc/ipsec.d/host-to-host.conf 파일을 만듭니다.

    conn <connection_name>
        # General setup and authentication type
        auto=start
        authby=rsasig
    
        # Peer A
        left=<ip_address_or_fqdn_of_left_peer>
        leftid=@peer_a
        leftrsasigkey=<public_key_of_left_peer>
    
        # Peer B
        right=<ip_address_or_fqdn_of_right_peer>
        rightid=@peer_b
        rightrsasigkey=<public_key_of_right_peer>
    Copy to Clipboard Toggle word wrap
    참고

    두 호스트 모두에서 동일한 구성 파일을 사용할 수 있으며 Libreswan은 내부 정보를 사용하여 왼쪽 또는 오른쪽 호스트에서 작동하는지 확인합니다. 그러나 왼쪽* 매개변수의 모든 값이 하나의 피어에 속하고 올바른* 매개변수의 값이 다른 값에 속하는 것이 중요합니다.

    예제에 지정된 설정은 다음과 같습니다.

    conn <connection_name>
    연결 이름을 정의합니다. 이름은 임의의 이름이며 Libreswan은 연결을 식별하는 데 사용합니다. 이 연결에서 매개 변수를 하나 이상의 공백 또는 탭으로 들여써야 합니다.
    auto=<type>
    연결이 시작되는 방법을 제어합니다. 시작할 값을 설정하면 Libreswan이 서비스가 시작될 때 자동으로 연결을 활성화합니다.
    authby=rsasig
    이 연결에 대해 RSA 서명 인증을 활성화합니다.
    left= <ip_address_or_fqdn_of_left_peer > 및 right= <ip_address_or_fqdn_of_right_peer>
    피어의 IP 주소 또는 DNS 이름을 정의합니다.
    leftid= &lt;id>rightid= <id>
    각 피어가IKE(Internet Key Exchange) 협상 프로세스 중에 식별되는 방법을 정의합니다. FQDN(정규화된 도메인 이름), IP 주소 또는 리터럴 문자열일 수 있습니다. 후자의 경우 문자열 앞에 @ 기호가 있습니다.
    leftrsasigkey= <public_key > 및 rightrsasigkey= <public_key>
    피어의 공개 키를 지정합니다. 이전 단계에서 ipsec showhostkey 명령으로 표시되는 값을 사용합니다.
  7. ipsec 서비스를 다시 시작하십시오.

    # systemctl restart ipsec
    Copy to Clipboard Toggle word wrap

    구성 파일에서 auto=start 를 사용하면 연결이 자동으로 활성화됩니다. 다른 방법을 사용하면 연결을 활성화하려면 추가 단계가 필요합니다. 자세한 내용은 시스템의 ipsec.conf(5) 도움말 페이지를 참조하십시오.

검증

  • IPsec 상태를 표시합니다.

    # ipsec status
    Copy to Clipboard Toggle word wrap

    연결이 성공적으로 설정된 경우 출력에는 다음과 같은 행이 포함됩니다.

    • 인터넷 키 교환 버전 2(IKEv2) 협상의 1단계가 성공적으로 완료되었습니다.

      000 #1: "<connection_name>":500 STATE_V2_ESTABLISHED_IKE_SA (established IKE SA); REKEY in 27935s; REPLACE in 28610s; newest; idle;
      Copy to Clipboard Toggle word wrap

      보안 연계(SA)는 이제 자식 SA 또는 2단계 SA로 알려진 실제 데이터 암호화 터널을 협상할 준비가 되었습니다.

    • 하위 SA가 설정되었습니다.

      000 #2: "<connection_name>":500 STATE_V2_ESTABLISHED_CHILD_SA (established Child SA); REKEY in 27671s; REPLACE in 28610s; IKE SA #1; idle;
      Copy to Clipboard Toggle word wrap

      데이터 트래픽이 통과하는 실제 터널입니다.

다음 단계

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat