Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

JCNR을 사용한 서비스 체인(cSRX) 구축

클라우드 네이티브 라우터를 사용하여 보안 서비스 인스턴스(cSRX)를 사용자 지정하고 구축하는 방법에 대해 알아보려면 이 섹션을 읽어보십시오.

주니퍼 클라우드 네이티브 라우터(JCNR)를 주니퍼의 컨테이너화된 SRX(cSRX) 플랫폼과 통합하여 IPsec과 같은 보안 서비스를 제공할 수 있습니다. 호스트 기반 서비스 체이닝을 사용하여 클라우드 네이티브 라우터는 동일한 Kubernetes 클러스터에 있는 보안 서비스 인스턴스(cSRX)와 체이닝됩니다. cSRX 인스턴스는 L3 모드에서 포드 서비스로 실행됩니다. cSRX 인스턴스는 Helm 차트를 통해 사용자 정의 및 구축됩니다.

클라우드 네이티브 라우터를 설치할 때 또는 JCNR을 설치한 후에 주니퍼 cSRX를 구축할 수 있는 옵션이 있습니다. 사용 가능한 패키지에 대한 설명은 클라우드 네이티브 라우터 소프트웨어 다운로드 패키지 를 참조하십시오.

cSRX는 모든 클라우드 네이티브 라우터 플랫폼에서 지원됩니다.

표 1: cSRX 지원 플랫폼
플랫폼 cSRX
베어메탈
레드햇 오픈시프트
아마존 EKS
Google Cloud 플랫폼
Wind River 클라우드 플랫폼
마이크로소프트 애저
VMWare 탄즈

기존 클라우드 네이티브 라우터 설치에 cSRX 설치

기존 클라우드 네이티브 라우터 설치에 cSRX 인스턴스를 설치하려면 다음 절차를 따르십시오. 이 절차를 시작하기 전에 모든 클라우드 네이티브 라우터 구성 요소가 제대로 실행되고 있는지 확인합니다.

  1. 기존 클라우드 네이티브 라우터 설치에 주니퍼 cSRX를 설치하기 위한 소프트웨어 패키지를 다운로드하고 확장합니다. 사용 가능한 소프트웨어 패키지에 대한 설명은 클라우드 네이티브 라우터 소프트웨어 다운로드 패키지를 참조하십시오.
  2. junos_csrx_<release>/helmchart 디렉터리로 변경하고 Helm 차트를 확장합니다.
    Helm 차트는 junos-csrx 디렉터리에 있습니다.
  3. 구축에는 cSRX 컨테이너 이미지가 필요합니다. 다음 옵션 중 하나를 선택합니다.
    • 주니퍼 네트웍스 enterprise-hub.juniper.net 리포지토리에서 이미지를 배포하도록 클러스터를 구성합니다. Helm 차트에서 리포지토리 자격 증명을 구성하는 방법에 대한 예제 지침은 리포지토리 자격 증명 구성을 참조하십시오.

    • 다운로드한 cSRX 소프트웨어 패키지에 포함된 이미지 tarball에서 이미지를 구축하도록 클러스터를 구성합니다. 이미지를 로컬 컨테이너 런타임으로 가져오는 방법에 대한 예: 지침은 사전 패키지된 이미지 배포를 참조하십시오.

  4. cSRX 라이선스 적용 및 cSRX 구성의 단계에 따라 cSRX 라이선스를 적용하고 cSRX Helm 차트를 구성합니다.
  5. cSRX를 설치합니다.
    junos_csrx_<release>/helmchart/junos-csrx 디렉터리로 이동하고 다음 명령을 실행하여 cSRX 인스턴스를 설치합니다.

클라우드 네이티브 라우터 설치 중 cSRX 설치

각 클라우드 네이티브 라우터 설치 섹션의 단계에 따라 JCNR을 설치합니다. 단계 중 하나는 cSRX 라이선스 적용 및 cSRX 구성을 참조하십시오.

cSRX 라이선스 적용 및 cSRX 구성

다음 절차에 따라 cSRX 라이선스를 적용하고 주니퍼 cSRX를 구성합니다.

다음 단계에서는 cSRX와 클라우드 네이티브 라우터를 함께 설치하는 경우 주니퍼_Cloud_Native_Router_CSRX_<release> 디렉터리에 있고, 기존 클라우드 네이티브 라우터 설치에 cSRX 설치하는 경우 junos_csrx_<release> 디렉터리에 있다고 가정합니다.

  1. 클라우드 네이티브 라우터와 cSRX 조합을 설치하려는 모든 노드에 클러스터 kubeconfig를 복사합니다.
    이 단계는 클라우드 네이티브 라우터 설치 중 cSRX 설치와 기존 클라우드 네이티브 라우터 설치에 cSRX 설치 모두에 적용됩니다. 이 단계를 수행하지 않으면 설치가 실패할 수 있습니다.
    1. 클러스터 kubeconfig를 대상 노드에서 원하는 위치에 복사합니다.
      예를 들어, 다음은 기본 위치인 ~/.kube/config에서 대상 노드 /root/kubeconfig로 클러스터 kubeconfig를 복사합니다. 여기서 <worker-node-ip> 는 클라우드 네이티브 라우터와 cSRX를 모두 설치하려는 노드의 IP 주소를 입니다. 클라우드 네이티브 라우터와 cSRX를 모두 설치하려는 모든 노드에 대해 이 작업을 반복합니다.
      참고:

      대상 파일 경로는 모든 대상 노드에서 동일해야 합니다.

    2. kubeconfig를 모든 대상 노드에 복사한 후 values.yaml에서 대상 파일 위치로 설정합니다kubeConfigPath.
      예를 들면 다음과 같습니다. values.yaml의 매개 변수에 대한 정보는 cSRX Helm 차트 사용자 지정을 참조하십시오.
  2. 주니퍼 cSRX 라이선스를 적용합니다.
    1. secrets/csrx-secrets.yaml이 소프트웨어 패키지에 없는 경우 아래 내용으로 만듭니다.
    2. 라이센스를 base64로 인코딩합니다.

      주니퍼 cSRX 라이선스 파일을 호스트 서버에 복사하고 다음 명령을 실행합니다.

      이 명령의 출력은 base64로 인코딩된 라이선스입니다.
    3. base64로 인코딩된 라이선스로 교체 <add your license in base64 format> 합니다.
      참고:

      계정 팀에서 라이선스 파일을 가져와 위의 지침에 따라 secrets/csrx-secrets.yaml 파일에 설치해야 합니다. 컨테이너는 csrx-init 라이선스 검사를 수행하고 필요한 암호를 service-chain-instance 찾을 때만 진행합니다.

    4. 루트 암호를 base64로 인코딩합니다. 루트 암호는 텔레메트리에 대한 NETCONF 액세스에 필요합니다.
      다음과 같이 암호를 인코딩합니다. 이 명령의 출력은 base64로 인코딩된 루트 암호입니다.
    5. base64로 인코딩된 루트 암호로 바꿉 <add your root password in base64 format> 니다.
    6. secrets/csrx-secrets.yaml을 Kubernetes 클러스터에 적용합니다.
  3. cSRX Helm 차트를 구성합니다.
    • JCNR을 설치하는 동시에 cSRX 설치하는 경우 주니퍼_Cloud_Native_Router_CSRX_/helmchart/<release>jcnr_csrx/values.yaml에서 조합 Helm 차트 섹션을 구성 junos-csrx 합니다.

    • 기존 클라우드 네이티브 라우터 설치에 cSRX 설치하는 경우 junos_csrx_<release>/helmchart/junos-csrx/values.yaml에서 독립 실행형 Helm 차트 섹션을 구성 csrx 합니다.

    사용자 정의 cSRX Helm 차트의 ccSRX 매개 변수 설명을 참조하십시오.

cSRX Helm 차트 사용자 정의

cSRX 서비스 체이닝 인스턴스는 독립형 Helm 차트 또는 JCNR과 결합된 Helm 차트인 Helm 차트를 통해 배포됩니다. 구축은 다음 두 가지 필수 구성 요소로 구성됩니다.

  • csrx-init: 메인 cSRX 애플리케이션에 대한 구성을 준비하는 초기화 컨테이너입니다. values.yaml 파일에서 필요한 정보를 추출하고 처리하며 cSRX에 대한 구성 데이터를 생성합니다. 이렇게 하면 기본 cSRX 애플리케이션이 유효한 최신 구성으로 시작됩니다.

  • csrx: csrx는 주요 애플리케이션 컨테이너이자 cSRX 구축의 핵심 구성 요소입니다. 올바르게 작동하려면 컨테이너에서 csrx-init 제공하는 구성에 의존합니다.

values.yaml 파일에서 구성 매개 변수 범위를 지정하여 cSRX 구축을 사용자 지정할 수 있습니다. 주요 구성 옵션은 다음과 같습니다.

  • kubeConfigPath: 클라우드 네이티브 라우터 및 cSRX를 설치하는 노드의 클러스터 kubeconfig 파일에 대한 경로입니다. cSRX 라이선스 적용 및 cSRX 구성1단계에서 클러스터 kubeconfig를 이 노드의 이 파일 위치에 cSRX cSRX 복사했습니다. 이 매개변수가 주석 처리되면 클러스터 kubeconfig가 /etc/kubernetes/kubelet.conf에 있는 것으로 가정됩니다.

  • interfaceType: JCNR에 연결할 cSRX의 인터페이스 유형입니다. 전용으로 설정해야 합니다.vhost

  • interfaceConfigs: 인터페이스 IP 주소, 게이트웨이 주소 및 선택적 경로를 정의하는 배열입니다. 인터페이스 IP는 배열의 요소와 localAddress 일치해야 합니다. ipSecTunnelConfigs 경로에는 복호화된 트래픽을 클라우드 네이티브 라우터로 조정하기 위한 접두사와 IPSec 게이트웨이에 대한 연결성 경로가 포함되어야 합니다.

  • enableUserConfig:

    • 설치 중에 cSRX가 지금 IPSec 터널을 생성하도록 하려면 로 false 설정합니다. 이 Helm 차트의 섹션에서 ipSecTunnelConfigs IPSec 터널을 정의하십시오. cSRX는 해당 구성에 따라 자동으로 구성(configlet)을 생성하고 cSRX 설치 중에 이를 적용합니다.

    • 나중에 IPSec 터널을 직접 생성하려는 경우 로 true 설정합니다. 이 경우 이 Helm 차트에서 을(를 ipSecTunnelConfigs ) 정의하지 않습니다. 대신 구성 요소에서 직접 IPSec 구성을 정의하고 cSRX가 설치된 후 언제든지 명시적으로 적용합니다.

  • ipSecTunnelConfigs: 이것은 ike-phase1, 제안, 정책 및 게이트웨이 구성과 같은 IPsec 구성 세부 정보를 정의하는 배열입니다. 트래픽 선택기는 암호화될 것으로 예상되는 트래픽을 포함해야 합니다. 이 섹션은 로 설정된 경우에만 enableUserConfig 적용됩니다.false

  • jcnr_config: 클라우드 네이티브 라우터에서 cSRX로 트래픽을 조정하고 보안 서비스 체인을 적용하기 위해 원격 IPsec 게이트웨이에서 cSRX로 IPsec 트래픽을 조정하기 위해 클라우드 네이티브 라우터에서 구성할 경로를 정의하는 배열입니다.

  • 텔레메트리: 텔레메트리를 사용하거나 사용하지 않도록 설정합니다.

다음은 독립형 cSRX 구축을 위한 기본 값입니다. yaml :

cSRX 구성 예는 주니퍼 클라우드 네이티브 라우터 사용자 가이드IPsec 보안 서비스를 참조하십시오.