솔루션 아키텍처
솔루션 아키텍처는 스파인-리프 액세스, 프론트홀 토폴로지 및 미드홀/백홀 링 토폴로지를 구축하며, 이러한 토폴로지는 전체 xHaul 인프라를 구성하는 서비스 게이트웨이와 함께 어그리게이션 및 코어 역할을 포함하도록 결합됩니다.
이 솔루션의 아키텍처는 Paragon Automation 및 DHCP 서버를 포함하여 5G 솔루션을 위한 저지연 QoS 설계 아키텍처와 근본적으로 유사하므로 고급 자동화 기능으로 솔루션을 향상시킵니다. 이 JVD의 최종 목표는 자동화를 통해 기존 네트워크 설계를 강화하고 최적화하는 방법을 입증하는 것입니다. 따라서 이 JVD에서 가장 중요한 부분은 네트워크 설계가 아니라 Paragon Automation입니다.
네트워크 토폴로지의 그림 1 은 자동화 시스템(Paragon Automation 및 DHCP 서버)의 위치를 보여줍니다. 자동화 시스템은 서비스 에지에 위치하며 대역 외(OOB) 네트워크를 통해 모든 어그리게이션 및 코어 노드에 연결됩니다. 액세스 노드에 대한 OOB 연결이 없습니다. 액세스 노드에 대한 관리 및 텔레메트리 트래픽은 모두 인밴드입니다.
위 그림에서
- Paragon Automation 삽입 지점은 서비스 에지 위치입니다.
- DHCP 서버 삽입 지점도 서비스 에지 위치에 있습니다.
- 액세스 노드(DHCP 포함)에 대한 관리 트래픽 및 텔레메트리 트래픽은 인밴드입니다.
- 어그리게이션 및 코어 노드는 DHCP 서버 및 Paragon Automation에 대한 대역 외(OOB) 액세스 권한을 갖습니다.
Paragon Automation
Paragon Automation은 API를 통해 서로 상호 작용하고 Kubernetes 클러스터의 컨테이너 내에서 실행되는 마이크로서비스 모음입니다. Kubernetes 클러스터는 컨테이너화된 애플리케이션을 실행하는 노드 또는 머신의 집합입니다. 각 노드는 물리적(베어메탈 서버) 또는 가상(VM)의 단일 머신입니다.
Kubernetes 클러스터는 하나 이상의 기본 노드와 작업자 노드로 구성됩니다.
- 컨트롤 플레인 노드(기본) 기본 노드는 Kubernetes 컨트롤 플레인 기능을 수행합니다.
- 컴퓨팅 노드(작업자)작업자 노드는 Pod를 실행하기 위한 리소스를 제공합니다. 작업자 노드에는 컨트롤 플레인 기능이 없습니다.
설치하는 동안 각 노드의 역할을 지정하고 설치 플레이북은 그에 따라 각 노드에 해당 구성 요소를 설치합니다.
하드웨어 요구 사항
이 섹션에서는 Paragon Automation 클러스터의 각 VM 노드에 필요한 최소 하드웨어 리소스에 대해 설명합니다. 클러스터 노드의 컴퓨팅, 메모리 및 디스크 요구 사항은 시스템의 의도된 용량에 따라 달라질 수 있습니다. 의도한 용량은 온보딩 및 모니터링할 장치 수, 센서 유형 및 원격 분석 메시지 빈도에 따라 달라집니다. 장치 수를 늘리면 더 많은 CPU 및 메모리 용량이 필요합니다.
프로덕션 구축의 규모 및 규모를 추정하고 자세한 치수 측정 요구 사항에 대해 논의하려면 주니퍼 담당자에게 문의하십시오. Juniper Paragon Automation 릴리스 2.3.0은 최대 800개의 디바이스를 지원합니다.
| Paragon 하드웨어 세부 정보 | ||
|---|---|---|
| 역할 | 설명 | 값 |
| 기본/작업자 클러스터 노드 | vCPU 수 | 16 |
| 기본/작업자 클러스터 노드 | 메모리(GB) | 32 |
| 기본/작업자 클러스터 노드 | 하드 디스크(GB) [SSD 필수] | 750 + 250 |
소프트웨어 요구 사항
VMware ESXi 8.0을 사용하여 Paragon Automation을 배포합니다. 이 JVD용 Paragon Automation을 설치하려면 Juniper 소프트웨어 다운로드 페이지에서 다운로드한 OVA(또는 OVF 및 .vmdk) 파일을 사용하여 4x 가상 머신(VM) 인스턴스를 생성해야 합니다(모든 제품 필드에 Paragon Automation을 입력하고 애플리케이션 패키지 섹션에서 Paragon Automation 설치 OVA 선택). 이러한 파일에는 ESXi 서버에서 Paragon Automation 클러스터의 VM 생성 및 배포에 필요한 모든 소프트웨어 패키지와 기본 운영 체제가 포함되어 있습니다.
| Paragon 소프트웨어 세부 정보 | |||
|---|---|---|---|
| 소프트웨어 | 설명 | 릴리스 | 주의 | 사항
| Paragon Automation | Paragon Automation 버전 | 2.3.0 | 얼리 어답터 릴리스 |
| Paragon 클러스터 노드 OS | 클러스터 노드 운영 체제 | 우분투 22.04 LTS (잼미 해파리) |
장기 지원 |
관리 네트워크 요구 사항
관리 네트워크 요구 사항은 다음과 같습니다.
- 모든 4x Paragon 노드는 SSH를 통해 서로 통신할 수 있어야 합니다.
- 모든 4x Paragon 노드는 NTP 서버에 동기화할 수 있어야 합니다.
- SSH는 VM을 만드는 동안 자동으로 사용하도록 설정되며, 클러스터를 만드는 동안 NTP 서버 주소를 입력하라는 메시지가 표시됩니다. 노드가 서로 다른 서버에 있는 경우 노드 간의 NTP 또는 SSH 트래픽을 차단하는 방화벽이 없는지 확인합니다.
- Paragon Software suit 설치를 위한 총 7개의 IP 주소(모두 동일한 서브넷에 있음).
- 4x 인터페이스 IP 주소.
- 가상 IP 주소 3개:
- gNMI, OC-TERM(디바이스의 SSH 연결) 및 웹 GUI 간에 공유되는 일반 IP 주소입니다. 여러 서비스 간에 공유되고 클러스터 외부에서 Paragon Automation에 액세스하는 데 사용되는 범용 VIP 주소입니다.
- Paragon Active Assurance 테스트 에이전트 게이트웨이(TAGW). 이 VIP 주소는 HTTP 기반 트래픽을 Paragon Active Assurance 테스트 에이전트 엔드포인트로 전달합니다. 그러나 현재는 이 JVD의 범위를 벗어납니다.
- PCE 서버. 이 VIP 주소는 Paragon Automation과 디바이스 간의 PCEP(Path Computational Element Protocol) 세션을 설정하는 데 사용됩니다. PCE 서버 VIP 구성은 네트워크에서 실시간 토폴로지 업데이트를 보는 데 필요합니다. 그러나 이 JVD의 범위도 벗어납니다.
VIP 주소는 아웃바운드 SSH 구성(디바이스에 필요)에 추가되어 Paragon Automation과의 연결을 설정합니다. OC-TERM 및 gNMI에 대한 아웃바운드 SSH 명령은 모두 VIP 주소를 사용합니다.
VIP 주소에 매핑된 호스트 이름을 사용하면 디바이스에서 호스트 이름을 사용하여 Paragon Automation에 연결할 수 있습니다. 그러나 호스트 이름과 VIP 주소가 DNS에 올바르게 매핑되어 있고 디바이스가 DNS 서버에 연결할 수 있는지 확인해야 합니다. 호스트 이름을 사용하도록 Paragon Automation을 구성하는 경우, 호스트 이름이 VIP 주소보다 우선하며 온보딩 디바이스 중에 사용되는 아웃바운드 SSH 구성에 추가됩니다.
Paragon Automation 클러스터는 기존 IPv4 주소 외에 IPv6 주소를 사용하여 구성할 수 있습니다. IPv6 주소 지정을 통해 OC-TERM, gNMI, Active Assurance TAGW 및 웹 GUI 액세스에 IPv6 주소를 사용할 수 있습니다. 자세한 내용은 Paragon Automation v2.3.0 설치 안내서를 참조하십시오.
나열된 IP 주소 및 호스트 이름 외에도 설치 시 다음 정보가 필요합니다.
- IPv4(필요한 경우 IPv6 포함)에 대한 기본 및 보조 DNS 서버 주소입니다.
- NTP 서버 정보.
노드 간의 클러스터 내부 통신과 클러스터 외부로부터의 통신(방화벽이 허용해야 하는 포트)에 대한 자세한 내용은 Paragon Automation v2.3.0 설치 가이드를 참조하십시오.
시스템 요구 사항
Paragon Automation 클러스터가 성공적으로 생성 및 구축되면 시스템을 완전히 통합하고 최적화하기 위해 추가 구성이 필요합니다. 다음 단계는 설정 프로세스를 완료하는 데 필수적입니다.
- Paragon 클러스터에서 조직을 생성합니다. Paragon Automation에서 조직은 고객을 대표합니다.
- 조직 내에서 다른 사이트를 만듭니다. 사이트는 조직에서 장치의 위치입니다. 사이트에는 둘 이상의 장치가 있을 수 있지만 장치는 하나의 사이트에만 연결할 수 있습니다.
- 나중에 ZTP 프로세스에서 사용할 각 액세스 노드에 대한 조직 ID(orgID) 및 사이트 ID(siteID) 와 같은 온보딩 세부 정보를 가져옵니다.
사용 사례
Paragon Automation은 다년간의 네트워크 운영 경험을 통해 얻은 대상 사용 사례 및 사양에 초점을 맞춥니다. 앞에서 설명한 대로 이 제품은 라이선스 기반의 사전 정의된 사용 사례로 제공됩니다.
이 JVD에서 Paragon Automation은 다음과 같은 사용 사례에 초점을 맞춥니다.
- 온보딩
- 신뢰 및 규정 준수(Trust and Compliance)
- 장치 수명 주기 관리
- 관찰 가능성
여기에는 다음이 포함됩니다.
- ZTP를 사용한 자동화된 온보딩 프로세스.
- 디바이스 상태 가시성.
- 구성, 인벤토리 및 소프트웨어 관리.
자동화된 온보딩 프로세스를 구현함으로써 새로운 디바이스를 기존 또는 그린필드 네트워크와 원활하게 통합하고 관리 시스템에 온보딩할 수 있으며, 수동 구성 작업을 최소화하고 지연과 운영 비용 증가를 유발하는 인적 오류의 위험을 줄일 수 있습니다. 이 자동화된 프로세스는 다음을 보장합니다.
- 올바른 구성이 구축되었습니다.
- 동일한 역할을 수행하는 디바이스 간에 구성 일관성이 있습니다.
- 디바이스가 올바른 소프트웨어 이미지를 실행하고 있습니다.
- 여러 디바이스에 버전 일관성이 있습니다.
그 결과, 새로운 디바이스의 구축이 개선될 뿐만 아니라 문제 해결의 복잡성도 줄어들고, 하나 이상의 디바이스에서 필요한 모든 변경을 더 빠르고 일관되게 완료할 수 있습니다.
제로 터치 프로비저닝(ZTP)
제로 터치 프로비저닝 기술은 새로운 디바이스의 설치 및 구성을 원격으로 자동화하여 수동 개입이 필요하지 않습니다. 이 간소화된 프로세스를 통해 네트워크 디바이스를 일관되고 동시에 자동으로 구성할 수 있습니다. 이러한 디바이스는 공장에서 신선하게 원격 사이트로 배송할 수 있으며, 로컬 운영자는 이미지를 설치하거나 구성하지 않고도 이러한 디바이스를 네트워크에 연결할 수 있습니다.
이 JVD의 ZTP는 메트로 네트워크의 액세스 노드에 대한 온보딩 프로세스를 자동화하여 네트워크 인프라를 고객 사이트에 더 가깝게 구축하는 작업을 가속화합니다. Paragon Automation과 함께 엔지니어는 표준화된 템플릿 구성을 생성하고 ZTP를 사용하여 디바이스에 액세스할 수 있도록 구축할 수 있습니다. 이를 통해 수동 개입이 필요 없어 일관된 구성을 보장하고 인적 오류를 최소화할 수 있습니다. 프로비저닝 프로세스를 간소화함으로써 ZTP는 네트워크 서비스를 가동하는 데 필요한 시간을 크게 단축하여 고객에게 서비스를 더 빠르게 제공할 수 있도록 합니다.
필수 구성 요소
이 자동화 JVD를 검증하기 위한 전제 조건은 다음과 같습니다.
- Paragon Automation 시스템이 실행 중이어야 합니다.
- DHCP 서버를 구성했습니다.
- DHCP 릴레이 에이전트를 구성했습니다.
- 5G를 위한 저지연 QoS 설계 솔루션 아키텍처는 이러한 JVD의 기반이 됩니다.
그림 3 은 ZTP 프로비저닝을 활성화하기 위한 토폴로지 설계와 관련된 여러 단계를 설명하는 순서도를 보여줍니다.
의 순서도
이전 이미지에서는 각 액세스 노드에 대해 조직 ID(orgID), 사이트 ID(siteID) 와 같은 온보딩 세부 정보를 가져와 ZTP로 가져옵니다. 온보딩 세부 정보는 디바이스별 구성 템플릿을 생성하는 데 사용됩니다.
온보딩 구성 템플릿(DHCP 서버)
set system services ssh protocol-version v2
set system authentication-order password
set system login user jcloud-dev class super-user
set system login user jcloud-dev authentication encrypted-password $6$KuDFE1Bpb.rr/Bsr$1ledgVmhMkd1yHaPi7O0nrUI1rPBmNn.ZIVdHcawbZtuj6BundCKwAj9h2ymZNkONg9ItAqHk1yCm5VYqbQbu1
set system login user jcloud-dev authentication ssh-rsa "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDAzwquzt6OGAl519B6CEo00KxRul2if68i6CVsvdeZCiZXcOjTZbOaayawAQAB46PpGU2D6nYkz1ytDDlIxwkuvA57nLs/bERg7jpxD…lient jcloud-dev secret e307faba64c8df37bf4bf74123b55cdb0468c7caf8c2925deb9f2c608232a347997e7b99c97126841736240e207b99cf16943a952bf4becdc7bd0f8e61eacacf
set system services outbound-ssh client jcloud-dev services netconf keep-alive retry 12 timeout 5
set system services outbound-ssh client jcloud-dev {{ paragon_IP }} port 2200 timeout 60 retry 1000
set system services outbound-ssh client jcloud-dev device-id {{ orgID }}.{{ siteID }}
delete system phone-home
DHCP는 IP 네트워크에서 디바이스를 구성하는 프로세스를 자동화하는 데 사용되는 네트워크 관리 프로토콜입니다. 이를 통해 장치에 IP 주소 및 기타 네트워크 설정을 자동으로 할당할 수 있으므로 네트워크 관리가 크게 간소화됩니다. DHCP는 사무실, 가정 및 공공 장소와 같이 장치가 네트워크에서 자주 연결되고 연결이 끊어지는 환경에서 필수적입니다.
디바이스가 네트워크에 연결되면 사용 가능한 DHCP 서버를 찾기 위해 DHCP 검색 메시지를 보냅니다. DHCP 서버는 IP 주소 및 서브넷 마스크, 기본 게이트웨이 및 DNS 서버와 같은 기타 네트워크 설정을 제공하는 제안으로 응답합니다. 그런 다음 디바이스는 제공된 구성을 요청하고 DHCP 서버는 요청을 승인하여 구성 프로세스를 마무리합니다. 이러한 원활한 상호 작용을 통해 디바이스가 수동적인 개입 없이 빠르고 효율적으로 네트워크에 연결할 수 있습니다.
이 JVD에 사용되는 DHCP 서버는 다음 패키지가 설치된 OOB 네트워크에 연결된 Ubuntu 22.04.4 LTS를 실행하는 Ubuntu 서버입니다.
- vsftpd (영문)
- isc-dhcp-서버
다음 출력에서는 이러한 패키지를 보여 줍니다.
juniper@ubuntu-eop-vm:~$ dpkg -l | grep sftpd ii vsftpd 3.0.5-0ubuntu1.1 amd64 lightweight, efficient FTP server written for security juniper@ubuntu-eop-vm:~$ dpkg -l | grep isc-dhcp-server ii isc-dhcp-server 4.4.1-2.3ubuntu2.4 amd64 ISC DHCP server for automatic IP address assignment
DHCP 서버 구성
다음은 네트워크의 장치에 네트워크 매개 변수 및 구성 지침을 제공하도록 DHCP 서버를 설정하는 샘플 구성 파일입니다.
set vendor-string = option vendor-class-identifier;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
option option-150 code 150 = ip-address;
option option-67 code 67 = text;
option option-66 code 66 = text;
option option_v4_sztp_redirect code 143 = string;
ddns-update-style none;
option space NEW_OP;
option NEW_OP.image-file-name code 0 = text;
option NEW_OP.config-file-name code 1 = text;
option NEW_OP.image-file-type code 2 = text;
option NEW_OP.transfer-mode code 3 = text;
option NEW_OP.ftp-server code 5 = text;
option NEW_OP.fetch-timeout code 7 = text;
option NEW_OP.fetch-timeout "300";
option agent.subscriber-id code 6 = text;
option NEW_OP-encapsulation code 43 = encapsulate NEW_OP;
subnet 20.6.0.60 netmask 255.255.255.254 {
option routers 20.6.0.60;
option subnet-mask 255.255.255.254;
option NEW_OP.transfer-mode ftp;
option NEW_OP.config-file-name “an1_script.py";
option tftp-server-name "20.0.5.17";
range 20.6.0.61 20.6.0.61;
}
subnet 20.0.5.0 netmask 255.255.255.0 {
range 20.0.5.220 20.0.5.225;
}
일반 DHCP 서버 설정
다음은 일반적인 DHCP 서버 설정입니다.
- 공급업체별 정보: 서버는 특정 공급업체 문자열로 자신을 식별합니다.
- 임대 시간: 클라이언트는 최대 7200초(2시간) 동안 IP 주소를 임대할 수 있습니다.
- 로깅: 로그 메시지는 로컬 시스템의 로그 기능(local7)으로 전송됩니다.
DHCP 릴레이 에이전트
AG 노드(예: ACX7509)를 DHCP 릴레이 에이전트로 구성하는 단계는 다음과 같습니다.
- AG 노드(예: ACX7509)와 DHCP 서버 간에 적절한 라우팅이 설정되었는지 확인합니다.
- DHCP 서버(파일: /etc/dhcp/dhcpd.conf)를 다음과 같이 구성합니다.
- ZTP 클라이언트의 DHCP 요청을 처리합니다.
- 사전 어그리게이션 노드(ACX7509)에서 DHCP 요청을 릴레이합니다.
- ZTP 클라이언트에 IP 주소를 할당합니다.
- DHCP 오퍼를 통해 필요한 구성 옵션(예: FTP 경로, 파일 이름)을 제공합니다.
- JVD를 온보딩하는 데 필요한 템플릿 구성을 생성하고 기본 FTP 경로인 /tftpboot/ 디렉토리에 저장합니다.
- ZTP 클라이언트가 ZTP와의 원활한 상호 작용을 보장하기 위해 서버 구성이 구축된 릴레이의 동일한 인터페이스에 연결되어 있는지 확인합니다.
DHCP 릴레이 에이전트 구성
다음 샘플 구성을 사용하여 네트워크 디바이스(AG1.x 노드)를 DHCP 릴레이 에이전트로 설정하고 클라이언트 디바이스에서 특정 DHCP 서버로 DHCP 요청을 전달합니다.
set forwarding-options dhcp-relay forward-only set forwarding-options dhcp-relay server-group open-dhcp-server 20.0.5.17 set forwarding-options dhcp-relay active-server-group open-dhcp-server set forwarding-options dhcp-relay group ztp-relay interface et-0/0/10.0 set forwarding-options dhcp-relay no-snoop set interfaces et-0/0/10 unit 0 family inet address 20.6.0.60/31
액세스 노드에 대한 ZTP 클라이언트 구성
이 제로 터치 프로비저닝(ZTP) 프로세스 구현에서 요청을 시작하는 클라이언트에는 두 가지 필수 구성 파일이 필요합니다.
- 온보딩 구성: 시스템 구성의 전제 조건 아래에 Juniper 디바이스에 필요한 최소 필수 구성으로 정의되며, 이는 일반적으로 디바이스 기준 구성(Paragon Automation에 대한 SSH 아웃바운드 연결을 설정하는 데 필요한 루트 암호 및 구성)이라고 합니다.
- 클라이언트별 구성: 특정 클라이언트와 관련이 있습니다. 예를 들어, 5G를 위한 저지연 QoS 설계 솔루션에 설명된 대로 노드 구성에 액세스할 수 있습니다.
다음 두 가지 방법을 사용하여 이러한 구성을 제공할 수 있습니다.
- 병합된 구성:
- 두 구성을 단일 "device.conf" 파일로 결합합니다.
- 이 파일을 DHCP 서버에 저장합니다.
- 서버의 dhcpd.conf 파일 내에서 "device.conf" 파일 이름을 지정합니다.
- 파이썬 자동화 (현재 구현) :
- 각 액세스 노드에 대한 기본 구성 및 JVD 구성을 DHCP 서버의 /tftpboot/ 디렉토리에 저장합니다.
- ZTP 요청이 이루어지면 DHCP 옵션은 Python 스크립트를 액세스 노드로 전송하도록 트리거합니다.
- 이 스크립트는 기본 및 JVD 구성 파일 모두에 대해 FTP 전송을 시작하는 온박스 자동화를 실행합니다. 또한 온보딩 구성이 서버에 저장된 기본 구성의 일부이므로 온보딩합니다.
- 이 접근 방식을 사용하면 필요에 따라 기본 및 JVD 구성 템플릿을 재사용할 수 있습니다.
-rwxr-xr-x 1 root root 1687901 Jan 10 07:07 ANx.configs -rwxr-xr-x 1 regress regress 2817 Jan 12 10:33 ANx_Onboarding.configs -rwxr-xr-x 1 regress regress 2662 Oct 22 14:53 anx_script.py
ZTP 특정 옵션
기본 IP 주소 할당과 함께 DHCP에는 원활한 네트워크 운영을 보장하기 위해 추가 정보를 제공하는 다양한 옵션이 포함되어 있습니다. 사용되는 ZTP 옵션은 다음과 같습니다.
- 옵션 150: 컨피그레이션 파일이 저장되는 TFTP 서버의 IP 주소를 지정합니다.
- 옵션 67 및 66: 이러한 옵션은 일반적으로 공급업체별 구성 정보에 사용되지만 특정 사용법은 공급업체의 구현에 따라 달라집니다.
- 옵션 143: 이 옵션은 다음 옵션이 ZTP에만 해당함을 나타냅니다.
- 옵션 0-7: 이러한 옵션은 이름, 유형 및 전송 방법(FTP)과 같은 구성 파일 세부 사항을 정의합니다.
- 옵션 6: 이 옵션은 디바이스 식별 및 정책 시행에 사용할 수 있는 가입자 ID를 지정합니다.
- 옵션 43: 이 옵션은 ZTP 특정 옵션을 캡슐화하여 클라이언트에 전달되도록 합니다.
- 네트워크 서브넷(서브넷 20.6.0.60): 이 서브넷은 특정 디바이스 또는 디바이스 그룹, 즉 ZTP 클라이언트에 대해 구성됩니다. 특정 범위(20.6.0.61)의 IP 주소를 할당하고 TFTP 서버 주소 및 컨피그레이션 파일 이름을 지정합니다.
ZTP 프로세스
다음은 장치가 공장 기본 설정으로 설정된 후 작동하는 ZTP 프로세스입니다.
- ZTP 클라이언트(액세스 노드)가 부팅되고 연결된 인터페이스를 통해 DHCP 검색 메시지를 보냅니다.
- 사전 어그리게이션 노드(ACX7509)는 연결된 인터페이스 중 하나에서 ZTP 클라이언트로부터 DHCP 검색 메시지 중 하나를 수신합니다. 그런 다음 이 메시지를 DHCP 서버로 전달하여 릴레이 에이전트 역할을 합니다. 이를 통해 ZTP 클라이언트는 동일한 네트워크 세그먼트에 있지 않더라도 DHCP 서버와 통신할 수 있습니다.
메모:
통신은 ZTP 라이프사이클 전반에 걸쳐 클라이언트에서 릴레이로 또는 그 반대로 유사한 방식으로 표시됩니다.
- DHCP 서버는 요청을 처리하고 릴레이를 통해 ZTP 클라이언트에 DHCP 제안 메시지를 보냅니다. 이 제안에는 다음이 포함됩니다.
- IP 주소.
- 서브넷 마스크.
- 기본 게이트웨이.
- DNS 서버 주소입니다.
- FTP 서버 주소.
- 구성 파일의 파일 이름입니다.
- ZTP 클라이언트는 오퍼를 수락하고 오퍼의 세부 사항에 대한 요청을 수락하며, 이는 서버로 릴레이됩니다.
- DHCP 서버는 요청을 승인하고 클라이언트에 IP 주소를 할당하고 임대 테이블을 업데이트합니다.
- ZTP 클라이언트는 제공된 정보를 사용하여 FTP 서버에서 구성 파일을 검색합니다.
그림 4 는 ZTP 프로세스를 설명합니다.
위 그림에서:
- 액세스 노드에서 구성을 다운로드한 후 ZTP 클라이언트는 서버에서 검색된 구성을 설치합니다. 이 구성에는 기본 구성과 디바이스가 할당된 OrgId 및 SiteId 를 포함하여 디바이스(SSH 아웃바운드 연결)를 채택하기 위해 Paragon 클러스터에서 필요한 온보딩 구성도 포함되어 있습니다. 따라서 구성이 커밋되면 장치 채택 프로세스가 시작되고 몇 분 내에 장치가 Paragon에서 성공적으로 채택됩니다.
그림 5: 디바이스가 성공적으로 온보딩된
Paragon 인벤토리
- 채택 프로세스 중에 구성 템플릿(CT)은 온보딩 중인 디바이스 프로필과 연결됩니다. 네트워크 설계자는 네트워크에서 디바이스의 역할(이 경우 액세스 노드, 이 솔루션의 일부로 액세스 노드만 온보딩됨)을 기반으로 디바이스 프로필을 생성합니다. 또한 디바이스 프로필을 사용하여 디바이스를 온보딩한 후 구성을 수정할 수 있으므로 솔루션은 이 접근 방식을 활용하여 액세스 노드의 최종 서비스를 구성합니다. 전체 서비스 구성이 Paragon Automation에서 생성되지 않기 때문에 다음 접근 방식은 자동화를 사용하여 ZTP 시간에 디바이스에서 추출한 다른 구성 파일을 통해 액세스 노드에 필요한 전체 서비스 구성을 프로비저닝합니다. 여기에는 모든 서비스 구성 (예: /var/tmp/jvd.configs)이 포함됩니다.
디바이스 프로필
그림 7 은 LLQ JVD에서 전체 서비스 컨피그레이션을 포함한 컨피그레이션 파일을 로드하기 위한 컨피그레이션 템플릿을 생성하는 프로세스를 보여줍니다.
로드하기 위한 구성 템플릿
구성 템플릿이 생성되면 구성 템플릿 인벤토리에서 볼 수 있습니다. 이 경우 구성 템플릿은 ZTP 동안 python 스크립트에서 다운로드한 /var/tmp/jvd.configs 파일에 저장된 AN 노드의 서비스 구성을 프로비저닝하기 위한 해결 방법입니다.
네트워킹 제안
제안된 구성은 Paragon Automation 서버로부터의 텔레메트리 데이터 수집 및 디바이스 관리를 위해 L3VPN_MGD 라는 이름의 전용 가상 라우팅 및 포워딩(VRF) 인스턴스를 설정합니다. VRF는 gRPC 통신, 아웃바운드 SSH, 정적 라우팅 및 인터페이스 연결을 사용하여 데이터 수집을 용이하게 하도록 특별히 설계되었습니다.
다음은 AG 노드 중 하나에서 이 L3VPN_MGD와 관련된 구성입니다.
AG 노드 L3VPN_MGD 구성
set routing-instances L3VPN_MGD instance-type vrf set routing-instances L3VPN_MGD routing-options static route 11.11.11.11/32 next-hop 4.1.1.2 set routing-instances L3VPN_MGD routing-options static route 33.33.33.33/32 next-hop 5.1.1.2 set routing-instances L3VPN_MGD routing-options static route 44.44.44.44/32 next-hop 6.1.1.2 set routing-instances L3VPN_MGD forwarding-options dhcp-relay forward-only set routing-instances L3VPN_MGD forwarding-options dhcp-relay server-group v4-server-group 7.1.1.2 set routing-instances L3VPN_MGD forwarding-options dhcp-relay active-server-group v4-server-group set routing-instances L3VPN_MGD forwarding-options dhcp-relay group v4-client-group interface et-0/0/2.0 set routing-instances L3VPN_MGD forwarding-options dhcp-relay group v4-client-group interface et-0/0/4.0 set routing-instances L3VPN_MGD forwarding-options dhcp-relay group v4-client-group interface et-0/0/6.0 set routing-instances L3VPN_MGD forwarding-options dhcp-relay no-snoop set routing-instances L3VPN_MGD interface et-0/0/2.0 set routing-instances L3VPN_MGD interface et-0/0/4.0 set routing-instances L3VPN_MGD interface et-0/0/6.0 set routing-instances L3VPN_MGD route-distinguisher 1.1.0.3:3000 set routing-instances L3VPN_MGD vrf-target target:63535:3000 set routing-instances L3VPN_MGD vrf-table-label set interfaces et-0/0/2 unit 0 family inet address 6.1.1.1/24 set interfaces et-0/0/4 unit 0 family inet address 4.1.1.1/24 set interfaces et-0/0/6 unit 0 family inet address 5.1.1.1/24
이전 섹션에서 언급한 어그리게이션 노드인 AG 디바이스는 DHCP 릴레이 역할을 합니다. 기본 라우팅 인스턴스(순방향 전용 모드) 또는 VRF 내에서 작동하여 ZTP/DHCP 요청을 포함한 모든 네트워크 트래픽을 캡슐화할 수 있습니다. 설명된 구성은 DHCP 릴레이 및 SAG 디바이스로의 포워딩 관리 트래픽 모두에 VRF(MGMT)를 활용합니다.
JVD의 일부 DUT는 대역 외 관리 네트워크를 통해 관리 세션(SSH, 텔레메트리)을 설정합니다. AN(액세스 노드)이 물리적 연결을 통해 대역 외 네트워크에 액세스할 수 없다는 가정이 있습니다. 이러한 별도의 대역 내 관리로 인해 네트워크는 위에서 언급한 VRF 인스턴스(L3VPN_MGD)를 통해 구성됩니다. 디바이스에는 새 유닛(기본 라우팅 인스턴스의 기본 유닛 0 제외)으로 구성되고 관리 VRF에 배치된 별도의 루프백 인터페이스가 있습니다. 이 VFR은 토폴로지의 모든 라우터, 특히 Paragon Automation 서버 클러스터에 연결된 SED(Service Edge Device)에 존재합니다. 새로운 루프백 인터페이스 라우팅 정보는 VRF 신호 메커니즘을 통해 SED 디바이스로 전송됩니다. 또한 정적 라우팅 구성이 Paragon 클러스터 가상 머신에 적용되므로 Paragon Automation 클러스터와 AN 노드의 새로운 루프백 주소 간에 IP 라우팅 연결을 달성할 수 있습니다. 이 설계로 인해 언더레이 네트워크에 대한 대체 경로(전체 노드 격리 제외)가 존재함으로써 AN에서 AGN 노드로의 모든 링크 장애를 완화할 수 있으므로 관리 네트워크 복원력이 달성됩니다.
set system root-authentication encrypted-password "$1$ZUlES4dp$OUwWo1g7cLoV/aMWpHUnC/"
set interfaces lo0 unit 1 family inet address 11.11.11.11/32
set routing-instances VR-ONBOARD instance-type virtual-router
set routing-instances VR-ONBOARD routing-options instance-import IMPORT-FROM-MASTER-DIRECT
set routing-instances VR-ONBOARD interface lo0.1
set policy-options policy-statement IMPORT-FROM-MASTER-DIRECT from instance master
set policy-options policy-statement IMPORT-FROM-MASTER-DIRECT from route-filter 4.1.0.0/16 exact
set policy-options policy-statement IMPORT-FROM-MASTER-DIRECT then accept
set routing-options instance-import IMPORT-FROM-VR-ONBOARD-DIRECT
set routing-options auto-export family inet unicast
set policy-options policy-statement IMPORT-FROM-VR-ONBOARD-DIRECT from instance VR-ONBOARD
set policy-options policy-statement IMPORT-FROM-VR-ONBOARD-DIRECT from protocol direct
set policy-options policy-statement IMPORT-FROM-VR-ONBOARD-DIRECT then accept
set system services extension-service request-response grpc routing-instance VR-ONBOARD
set system services extension-service request-response grpc ssl local-certificate gnmi-terminator.juniper.net
set system services outbound-ssh routing-instance VR-ONBOARD
이 구성은 VR-ONBOARD라는 이름의 VRF 인스턴스를 생성합니다. 이 인스턴스는 AN 라우터에서 글로벌 라우팅 테이블와 별도로 자체 라우팅 테이블 및 포워딩 테이블을 유지하는 가상 라우터입니다. 루프백 인터페이스인 lo0 unit 1은 VRF 인스턴스와 연결되어 VRF 라우팅 및 포워딩 결정에 참여할 수 있습니다. 루프백 인터페이스는 식별에 사용할 IP 주소 11.11.11.11/32로 구성됩니다. 경로 식별자 및 VRF 대상은 VRF 인스턴스에 대해 설정되어 경로 가져오기 및 내보내기를 제어합니다. 이 IP 주소는 AN 라우터에서 네트워크 데이터를 라우팅하고 스트리밍하기 위한 소스 또는 대상 주소로 사용할 수 있습니다.
ZTP 프로세스가 관리를 완료한 후 VRF가 디바이스에 프로비저닝되고 Paragon Automation 온보딩이 시작됩니다.
텔레메트리 데이터를 Paragon Automation으로 전달하기 위한 서비스 에지 구성
이 컨피그레이션은 L3VPN_MGD VRF 내에서 작동하도록 gRPC 확장 서비스를 설정합니다.
set system services extension-service request-response grpc routing-instance L3VPN_MGD
다음 샘플 구성은 L3VPN_MGD VRF를 활용하도록 아웃바운드 SSH 트래픽을 설정합니다.
set system services outbound-ssh routing-instance L3VPN_MGD
이는 L3VPN_MGD 를 VRF 인스턴스로 정의하여 트래픽 격리와 보안 향상을 가능하게 합니다.
set routing-instances L3VPN_MGD instance-type vrf
이 코드는 L3VPN_MGD VRF 내에서 정적 경로를 정의합니다. 경로는 텔레메트리 수집기를 가리켜 텔레메트리 트래픽이 올바르게 라우팅되도록 보장합니다. 이 경우 텔레메트리 수집기는 Paragon 클러스터의 수신 VIP입니다.
set routing-instances L3VPN_MGD routing-options static route 10.216.165.109/32 next-hop xe-0/1/5:0.0
VRF가 L3VPN_MGD 지정된 인터페이스(xe-0/1/5:0.0)입니다. 이 인터페이스는 텔레메트리 수집과 관련된 트래픽에 사용됩니다.
set routing-instances L3VPN_MGD interface xe-0/1/5:0.0
이렇게 하면 RD(Route Distinguisher)가 L3VPN_MGD VRF에 할당됩니다. RD는 VPN 환경에서 서로 다른 VRF에 속하는 경로를 구별하는 데 사용되는 고유 식별자입니다.
set routing-instances L3VPN_MGD route-distinguisher 1.1.0.11:3000
이렇게 하면 L3VPN_MGD VRF에 대한 RT(Route Target)가 구성됩니다. RT는 서로 다른 VRF 간의 경로 가져오기 및 내보내기를 제어합니다.
set routing-instances L3VPN_MGD vrf-target target:63535:3000
액세스 노드의 구성
액세스 노드는 Paragon 클러스터와 관련하여 OOB 네트워크의 일부가 아니기 때문에 직접 액세스할 수 없으므로 루프백 인터페이스를 관리 트래픽 및 라우팅 프로토콜을 위한 안정적인 엔드포인트로 사용합니다. 루프백 인터페이스를 사용하면 물리적 인터페이스 또는 관리 인터페이스가 다운되더라도 액세스 노드가 항상 작동 및 도달 가능합니다.
set interfaces lo0 unit 2 family inet address 11.11.11.11/32 set routing-instances VR-ONBOARD instance-type virtual-router set routing-instances VR-ONBOARD routing-options instance-import IMPORT-FROM-MASTER-DIRECT set routing-instances VR-ONBOARD interface lo0.1
위의 샘플 컨피그레이션은 ACX7100 라우터에서 글로벌 라우팅 테이블와 별도로 자체 라우팅 테이블 및 포워딩 테이블을 유지하는 가상 라우터인 VR-ONBOARD라는 VRF 인스턴스를 생성합니다. 루프백 인터페이스인 lo0 unit 2는 VRF 인스턴스와 연결되어 VRF 라우팅 및 포워딩 결정에 참여할 수 있습니다. 루프백 인터페이스는 식별에 사용할 IP 주소 '11.11.11.11/32'로 구성됩니다. 경로 식별자 및 VRF 대상은 VRF 인스턴스에 대해 설정되어 경로 가져오기 및 내보내기를 제어합니다. 이 IP 주소는 ACX7100 라우터에서 네트워크 데이터를 라우팅하고 스트리밍하기 위한 소스 또는 대상 주소로 사용할 수 있습니다.
SAG 노드의 구성
다음 샘플 구성은 Paragon 및 DHCP 서버를 AG 노드에서 SAG로 실행되는 L3VPN_MGD 라우팅 인스턴스와 연결하는 SAG 노드에 필요합니다.
[edit]
regress@jvd-awan-mx304-d# show routing-instances L3VPN_MGD | display set
set routing-instances L3VPN_MGD instance-type vrf
set routing-instances L3VPN_MGD routing-options static route 10.216.165.109/32 next-hop xe-0/1/5:0.0
set routing-instances L3VPN_MGD interface xe-0/1/5:0.0
set routing-instances L3VPN_MGD interface xe-0/1/5:2.0
set routing-instances L3VPN_MGD route-distinguisher 1.1.0.11:3000
set routing-instances L3VPN_MGD vrf-target target:63535:3000
set routing-instances L3VPN_MGD vrf-table-label
[edit]
regress@jvd-awan-mx304-d# show interfaces xe-0/1/5:2.0
family inet {
address 7.1.1.1/24;
}
[edit]
regress@jvd-awan-mx304-d# show interfaces xe-0/1/5:0.0
family inet {
address 8.1.1.1/24;
}
[edit]
regress@jvd-awan-mx304-d#
Paragon 클러스터 노드 구성
다음은 각 Paragon 클러스터 노드(8.1.1.x), 여기서 x as 1은 구성된 게이트웨이이고 2,3, 4 및 5는 클러스터 노드 IP입니다. 또한 4.1.x는 AN1, 5.1.x는 AN3, 6.1.x는 AN4이며, 11.11.11.11 및 33.33.33.33 및 44.44.44.44는 AN1, AN3 및 AN4 노드의 루프백 IP입니다.
ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 8.1.1.2 netmask 255.255.255.0 broadcast 0.0.0.0
inet6 fe80::250:56ff:feb5:2344 prefixlen 64 scopeid 0x20<link>
ether 00:50:56:b5:23:44 txqueuelen 1000 (Ethernet)
RX packets 4716 bytes 296885 (296.8 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 36319 bytes 7873379 (7.8 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
root@jvd-eop-vma:~# ip route | grep ens192
4.1.1.0/24 via 8.1.1.1 dev ens192
4.1.2.0/24 via dev ens192
5.1.1.0/24 via 8.1.1.1 dev ens192
5.1.2.0/24 via 8.1.1.1 dev ens192
6.1.1.0/24 via 8.1.1.1 dev ens192
6.1.2.0/24 via 8.1.1.1 dev ens192
8.1.1.0/24 dev ens192 proto kernel scope link src 8.1.1.2
11.11.11.11 via 8.1.1.1 dev ens192
33.33.33.33 via 8.1.1.1 dev ens192
44.44.44.44 via 8.1.1.1 dev ens192
root@jvd-eop-vma:~#