본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 최소 구성 요소 집합을 사용하여 FND(Field Network Director) 및 PNP(Plug and Play)를 시작하는 방법에 대해 설명합니다.
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 이해해야 합니다.
FND에는 여러 가지 구축 옵션이 있으므로, FND를 위한 최소 설치 작업을 설정하는 것이 목표입니다.그런 다음 이 설정은 추가 사용자 지정을 위한 시작점 역할을 하며 추가 기능을 추가할 수 있습니다.여기서 설명하는 설정은 OVA(Open Virtual Appliance) 패키지 FND 설치를 시작점으로 사용하는 것이며 PKI(Public Key Infrastructure) 및 터널 프로비저닝이 필요하지 않도록 하기 위해 손쉬운 모드를 사용합니다. PNP를 사용하여 설치를 간소화하고 디바이스에 추가합니다.
이 가이드의 결과는 계획 텍스트 비밀번호와 터널 및 PKI가 없기 때문에 보안 위험이 발생할 수 있으므로 프로덕션 환경에서 사용할 수 없습니다.
1단계. 하이퍼바이저에 FND OVA 파일을 다운로드하여 배포합니다.예를 들어 VMWare의 경우 이미지에 표시된 대로 File(파일) > Deploy OVF Template(OVF 템플릿 구축)을 통해 수행됩니다.
2단계. 구축되면 VM을 시작할 수 있으며 이미지에 표시된 로그인 화면이 표시됩니다.
OVA 파일의 기본 비밀번호는 다음과 같습니다.
3단계. cisco 사용자 및 비밀번호로 로그인하고 Applications(애플리케이션) > System Tools(시스템 툴) > Settings(설정) > Network(네트워크)로 이동합니다. 유선 프로파일을 추가하고 IPv4 탭에서 이미지에 표시된 대로 원하는 IP 주소 또는 DHCP를 설정합니다.
4단계. Apply(적용)를 클릭하고 연결을 설정/해제하여 새 설정을 적용합니다.
이때 브라우저를 사용하여 FND GUI로 이동할 수 있으며 이미지에 표시된 대로 구성된 IP 주소를 사용할 수 있습니다.
5단계. 기본 사용자 이름 및 비밀번호를 사용하여 GUI에 로그인합니다.루트 / root123
즉시 비밀번호를 변경하고 다시 로그인으로 리디렉션하라는 메시지가 표시됩니다.
모든 작업이 제대로 진행되면 새 암호로 로그인할 수 있어야 하며 FND GUI를 탐색할 수 있어야 합니다.
또한 PNP 및 데모 모드 다음에 FND 컨피그레이션이 설명되어 있습니다.
PNP는 ZTD(Zero Touch Deployment)를 수행하는 가장 최신 Cisco 방법입니다. PNP를 사용하면 장치를 완전히 구성할 수 있으며 수동으로 컨피그레이션을 조작할 필요가 없습니다.
FND의 경우 PNP를 사용하면 먼저 라우터를 부트스트랩할 필요가 없습니다.실제로 PNP가 수행하는 모든 작업은 안전한 방법으로 FND로 리디렉션하고 부트스트랩 컨피그레이션을 가져옵니다.
디바이스에 부트스트랩 컨피그레이션이 존재하면 나머지 프로세스는 기존 부트스트랩 디바이스처럼 계속됩니다.
PNP를 사용하는 방법에는 여러 가지가 있습니다.
이 컨피그레이션에서는 PNP-서버 IP가 수동으로 설정되며, 이는 FND-서버의 IP 및 디바이스의 포트입니다.DHCP에서 이 작업을 수행하려면 다음과 같이 정보를 제공해야 합니다.
Cisco IOS®의 경우 DHCP-서버를 다음과 같이 구성해야 합니다.
ip dhcp pool pnp_pool network 192.168.10.0 255.255.255.248 default-router 192.168.10.1 dns-server 8.8.8.8 option 43 ascii "5A;K4;B2;I10.48.43.231;J9125" !
Linux의 DHCPd:
[jedepuyd@KJK-SRVIOT-10 ~]$ cat /etc/dhcp/dhcpd.conf subnet 192.168.100.0 netmask 255.255.255.0 { option routers 192.168.100.1; range 192.168.100.100 192.168.100.199; option domain-name-servers 192.168.100.1; option domain-name "test.dom"; option vendor-encapsulated-options "5A;K4;B2;I10.48.43.231;J9125"; }
옵션 43 또는 공급업체 캡슐화 옵션에 대한 이 컨피그레이션에서는 다음 ASCII 문자열을 지정해야 합니다.
"5A;K4;B2;I10.50.215.252;J9125"
다음과 같이 맞춤화할 수 있습니다.
DHCP를 사용하는 PNP에 대한 자세한 내용은 다음 섹션에서 https://www.cisco.com/c/en/us/td/docs/routers/connectedgrid/iot_fnd/guide/4_3/iot_fnd_ug4_3/sys_mgmt.html#31568를 참조하십시오.Cisco IOS® DHCP 서버에서 DHCP 옵션 43 구성
FND 4.1 이후 Easy 모드가 도입되었지만, 이 모드는 데모 모드라고 불렀으며, FND를 보다 안전하게 실행할 수 있습니다.프로덕션 환경에서는 권장되지 않지만 시작하는 것이 좋습니다.
쉬운 모드를 사용하면 PNP-process, 부트스트랩 및 라우터 구성에 집중할 수 있습니다.문제가 해결되지 않을 경우 터널 구축 또는 인증서를 의심하지 않아도 됩니다.
FND를 사용자 환경 모드에서 실행하도록 구성할 때 발생하는 변경 사항:
편리한 모드에 대한 자세한 내용은 여기를 참조하십시오.
이제 데모 모드/PNP가 무엇이며 이 컨텍스트에서 사용되는 이유를 알 수 있습니다.FND 컨피그레이션을 활성화하도록 변경하겠습니다.
OVA 파일에서 시작된 FND VM에서 SSH로 연결하고 다음과 같이 cgms.properties를 편집합니다.
[root@iot-fnd ~]# cat /opt/fnd/data/cgms.properties cgms-keystore-password-hidden=dD5KmzJHa64Oyvpqdu8SCg== use-router-ip-from-db=true rabbit-broker-ip= rabbit-broker-port= rabbit-broker-username= rabbit-broker-password= fogd-ip=192.68.5.3 enable-reverse-dns-lookup=false enableApiAuth=false fnd-router-mgmt-mode=1 enable-bootstrap-service=true proxy-bootstrap-ip=10.48.43.231
구성 파일에서 마지막 세 행이 변경되었습니다.
파일을 변경한 후 FND 컨테이너를 다시 시작하여 변경 사항을 적용합니다.
[root@iot-fnd ~]# /opt/fnd/scripts/fnd-container.sh restart Stopping FND container... fnd-container [root@iot-fnd ~]# Starting FND container... fnd-container
다시 시작하면 GUI를 사용하여 나머지 컨피그레이션을 수행할 수 있습니다.
구성 프로세스의 현재 단계에서 디바이스를 추가하는 것은 다소 비논리적일 수 있지만, 안타깝게도 특정 디바이스 유형을 추가할 때까지 구성의 일부를 사용할 수 없습니다.
이는 GUI가 다른 디바이스에서 다양한 옵션을 도입하므로 너무 과중한 부담이 되지 않도록 하기 위해 수행됩니다.
이제 IR809를 FND에 추가해 보겠습니다.
CSV는 다음과 같습니다.
deviceType,eid,adminUsername,adminPassword,ip ir800,IR809G-LTE-GA-K9+JMX2022X04S,fndadmin,C1sc0123!,10.48.43.250
CSV의 필드는 다음과 같습니다.
이 디바이스를 추가하려면 GUI에 연결하고 이미지에 표시된 대로 Devices > Field Devices > Inventory > Add Devices로 이동합니다.
대화 상자에서 CSV 파일의 위치를 지정하고 Add(추가)를 클릭하여 이미지에 표시된 대로 FND에 추가합니다.
모든 작업이 잘 되면 "COMPLETED(완료)"를 나열할 기록 항목이 표시됩니다. 대화 상자를 닫으면 이미지에 표시된 대로 디바이스가 인벤토리에 표시됩니다.
deviceType ir800의 디바이스가 추가되었으므로 해당 템플릿과 그룹을 GUI에서 사용할 수 있게 됩니다.
FND는 데모 모드에 대해 구성되었으므로 HTTP를 대신 사용하도록 프로비저닝 URL을 변경해야 합니다.Admin(관리) > Provisioning Settings(프로비저닝 설정)로 이동하여 다음을 수행합니다.
IoT-FND URL을 http://<FND IP>:9121로 변경합니다.
그런 다음 부트스트랩 및 컨피그레이션을 위해 최소 2개의 템플릿을 구성합니다.
라우터 부트스트랩 컨피그레이션 템플릿이라는 첫 번째 컨피그레이션은 PNP를 사용하여 FND에 성공적으로 연결할 수 있게 되면 라우터에 푸시되는 컨피그레이션입니다.
PNP가 사용되지 않는 경우, 이는 수동으로 라우터에 또는 부트스트랩 프로세스 시 공장에서 설치되는 컨피그레이션입니다.이 컨피그레이션에는 라우터가 FND에서 등록 프로세스를 시작할 수 있는 충분한 정보가 포함되어 있습니다.
구성 템플릿이라는 두 번째 구성 요소는 현재 실행 중인 디바이스 컨피그레이션에 추가된 컨피그레이션입니다.실제로 기존 컨피그레이션의 증가분으로 볼 수 있습니다.
대부분의 경우 이 경우 이상한 상황이 발생하므로 FND에 추가하기 전에 먼저 라우터의 모든 컨피그레이션을 지우는 것이 좋습니다.
Router Factory Reprovision 템플릿을 설정하려면 Configure(구성) > Tunnel Provisioning(터널 프로비저닝) > Router Bootstrap Configuration(라우터 부트스트랩 컨피그레이션)으로 이동하여 다음 템플릿으로 대체합니다.
<#if isBootstrapping = true> <#assign mgmtintf = "GigabitEthernet0"> <#assign fndserver = "10.48.43.231"> <#assign sublist=far.eid?split("+")[0..1]> <#assign pid=sublist[0]> <#assign sn=sublist[1]> <#-- General parameters --> hostname ${sn}BS ip domain-name ${sn} ip host fndserver.fnd.iot ${fndserver} service timestamps debug datetime msec localtime show-timezone service timestamps log datetime msec localtime show-timezone ! <#-- Users --> username backup privilege 15 password C1sc0123! username ${far.adminUsername} privilege 15 password ${far.adminPassword} ! <#-- Interfaces --> interface ${mgmtintf} ip address ${far.ip} 255.255.255.192 exit ! <#-- Clock --> clock timezone UTC +2 ! <#-- Archive --> file prompt quiet do mkdir flash:archive archive path flash:/archive maximum 8 exit ! <#-- HTTP --> ip http server ip http client connection retry 5 ip http client connection timeout 5 ip http client source-interface ${mgmtintf} ip http authentication local ip http timeout-policy idle 600 life 86400 requests 3 ip http max-connections 2 ! <#-- WSMA --> wsma profile listener exec transport http path /wsma/exec exit ! wsma profile listener config transport http path /wsma/config exit ! wsma agent exec profile exec exit ! wsma agent config profile config exit ! <#-- CGNA --> cgna gzip ! cgna profile cg-nms-register add-command show hosts | format flash:/managed/odm/cg-nms.odm add-command show interfaces | format flash:/managed/odm/cg-nms.odm add-command show ipv6 dhcp | format flash:/managed/odm/cg-nms.odm add-command show ipv6 interface | format flash:/managed/odm/cg-nms.odm add-command show platform hypervisor | format flash:/managed/odm/cg-nms.odm add-command show snmp mib ifmib ifindex | format flash:/managed/odm/cg-nms.odm add-command show iox host list detail | format flash:/managed/odm/cg-nms.odm add-command show version | format flash:/managed/odm/cg-nms.odm interval 10 url http://fndserver.fnd.iot:9121/cgna/ios/registration gzip active exit ! <#-- Script to generate RSA for SSH --> event manager applet genkeys event timer watchdog name genkeys time 30 maxrun 60 action 10 cli command "enable" action 20 cli command "configure terminal" action 30 cli command "crypto key generate rsa modulus 2048" action 80 cli command "no event manager applet genkeys" action 90 cli command "exit" action 99 cli command "end" exit end </#if>
구성 템플릿을 설정하려면 다음을 수행합니다. Config > Device Configuration > Edit Configuration Template(구성 템플릿 편집)으로 이동하여 이 템플릿을 추가합니다.
<#-- Enable periodic inventory notification every 1 hour to report metrics. --> cgna profile cg-nms-periodic interval 60 exit <#-- Enable periodic configuration (heartbeat) notification every 15 min. --> cgna heart-beat interval 15 <#-- Enable SSH access --> line vty 0 4 transport input ssh login local exit
이 템플릿은 라우터의 실행 중인 컨피그레이션이 됩니다.따라서 이 컨피그레이션 그룹에 대한 특정 컨피그레이션을 여기에 추가해야 합니다.
가장 쉬운 방법은 이 최소 템플릿으로 시작하는 것입니다.성공하면 필요에 따라 템플릿을 업데이트하고 맞춤화합니다.
이때 FND의 컨피그레이션/준비가 완료되며 라우터 준비부터 시작할 수 있습니다.
프로비저닝하려는 디바이스에 컨피그레이션이 이미 포함되어 있거나 이전에 사용된 경우, PNP를 사용하여 FND에 추가하기 전에 라우터의 컨피그레이션을 완전히 지우는 것이 좋습니다.
새 디바이스인 경우 이 단계를 건너뛸 수 있습니다.
가장 쉬운 방법은 명령 쓰기 지우기를 사용하고 콘솔을 사용하여 라우터를 다시 로드하는 것입니다.
ir809kjk#write erase Erasing the nvram filesystem will remove all configuration files! Continue? [confirm] [OK] Erase of nvram: complete *Oct 18 11:42:54.367 UTC: %SYS-7-NV_BLOCK_INIT: Initialized the geometry of nvram ir809kjk#reload System configuration has been modified. Save? [yes/no]: no Proceed with reload? [confirm] Starting File System integrity check NOTE: File System will be deinited and later rebuilt
잠시 후 IR800이 초기 컨피그레이션 대화 상자를 실행하라는 프롬프트를 표시하며 다시 와야 합니다.
--- System Configuration Dialog --- Would you like to enter the initial configuration dialog? [yes/no]: no Press RETURN to get started!
이전 PNP/ZTD 시도에 더 이상 남아 있지 않은지 확인하고, 아카이브 및 디렉토리를 다시 생성하고 라우터에서 before-registration-config를 제거하는 것이 좋습니다.
IR800#delete /f before-* IR800#delete /f /r archive* IR800#mkdir archive Create directory filename [archive]? Created dir flash:/archive IR800#conf t Enter configuration commands, one per line. End with CNTL/Z. IR800(config)#archive IR800(config-archive)#path flash:/archive IR800(config-archive)#maximum 8 IR800(config-archive)#end
지금은 새 디바이스 또는 빈 컨피그레이션이 있는 디바이스가 있으므로, 필요한 경우, 라우터가 FND에 도달할 수 있도록 최소 컨피그레이션을 적용할 수 있습니다.
DHCP 서버가 있는 경우 대부분의 서버가 자동으로 실행됩니다.
다음 수동 컨피그레이션이 디바이스에서 선택됩니다.
IR800>enable IR800#conf t Enter configuration commands, one per line. End with CNTL/Z. IR800(config)#int gi0 IR800(config-if)#ip addr dhcp IR800(config-if)#no shut IR800(config-if)#end *Aug 1 12:02:02.887: %SYS-5-CONFIG_I: Configured from console by console IR800#ping 10.48.43.231 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.48.43.231, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms IR800#
보시다시피 라우터가 적용된 IP 컨피그레이션으로 FND에 도달할 수 있는지 테스트하기 위해 빠른 ping이 수행되었습니다.
이 시점에서 모든 사전 요구 사항이 완료되었으며 PNP 프로세스를 시작할 수 있습니다.이 인스턴스에서 수동으로 수행됩니다.
프로덕션 환경에서는 PNP가 DHCP 옵션 43과 함께 사용될 가능성이 높습니다. 즉, 라우터가 시작되면 IP 및 PNP 구성을 수신하며 이 단계와 다음 단계를 건너뛸 수 있습니다.
DHCP 없이 IR800에서 PNP를 수동으로 구성하려면 FND 서버가 될 요청에 대한 대상을 지정해야 합니다.
이 작업은 다음과 같이 수행할 수 있습니다.
IR800(config)#pnp profile pnp-zero-touch IR800(config-pnp-init)#transport http ipv4 10.48.43.231 port 9125 IR800(config-pnp-init)#end
"transport"로 시작하는 줄을 입력하면 라우터가 PNP 프로세스를 시작하고 지정된 IP 및 포트에서 FND에 연결하려고 시도합니다.
모든 작업이 제대로 진행되면 디바이스가 다음을 통과합니다.
FND server.log에서 프로세스를 추적할 수 있습니다.
GUI에서 Unmonthed(정보) > Bootstrapping(부트스트랩) > Bootstraid(부트스트랩)로 이동하면 디바이스가 이동되는 것을 볼 수 있습니다.
부트스트래핑이 완료되면 라우터는 대체된 Router Factory Reprovision 템플릿을 사용하며 PNP가 없는 일반 부트스트랩된 디바이스처럼 동작합니다.
즉, IR800의 CGNA 프로파일이 FND 서버에 등록하려고 시도합니다.
CGNA 프로필의 상태를 확인합니다.
JMX2022X04SBS#sh cgna profile-state all Profile 1: Profile Name: cg-nms-register Activated at: Thu Aug 1 15:31:14 2019 URL: http://fndserver.fnd.iot:9121/cgna/ios/registration Payload content type: xml Interval: 10 minutes gzip: activated Profile command: show hosts | format flash:/managed/odm/cg-nms.odm show interfaces | format flash:/managed/odm/cg-nms.odm show ipv6 dhcp | format flash:/managed/odm/cg-nms.odm show ipv6 interface | format flash:/managed/odm/cg-nms.odm show platform hypervisor | format flash:/managed/odm/cg-nms.odm show snmp mib ifmib ifindex | format flash:/managed/odm/cg-nms.odm show iox host list detail | format flash:/managed/odm/cg-nms.odm show version | format flash:/managed/odm/cg-nms.odm State: Wait for timer for next action Timer started at Thu Aug 1 15:31:14 2019 Next update will be sent in 9 minutes 30 seconds Last successful response not found Last failed response not found
제공된 컨피그레이션을 통해 디바이스는 10분 후 FND에 등록하려고 시도합니다.이 출력에서는 라우터가 등록 프로세스를 시작하기 전에 9분 30초가 남아 있음을 확인할 수 있습니다.
타이머가 완료될 때까지 기다리거나 cg-nms-register 프로필을 수동으로 실행할 수 있습니다.
IR800-Bootstrap#cgna exec profile cg-nms-register
이 섹션을 사용하여 컨피그레이션이 제대로 작동하는지 확인합니다.
이미지에 표시된 대로 디바이스는 FND의 UP 상태로 이동해야 합니다.
이 섹션에서는 컨피그레이션 문제를 해결하는 데 사용할 수 있는 정보를 제공합니다.
부트스트랩 프로세스를 트러블슈팅하려면 다음 사항을 확인하십시오.
등록 프로세스를 트러블슈팅하려면 다음을 확인하십시오.