Cisco 디바이스 에이전트
Cisco NX-OS 디바이스 에이전트 개요
디바이스 시스템 에이전트를 설치하는 기본 방법은 Apstra GUI에서 왔지만 CLI에서 Apstra 에이전트를 수동으로 설치할 수 있습니다 . 드문 예외에서만 에이전트를 수동으로 설치해야 하므로 더 많은 노력이 필요하며 오류가 발생하기 쉽습니다. 에이전트를 수동으로 설치하기 전에 다양한 디바이스 상태, 구성 단계 및 에이전트 작업을 심층적으로 이해해야 합니다. 도움이 필요하면 Juniper 지원부에 문의하십시오.
또한 Apstra ZTP 를 사용하여 스위치에서 에이전트를 자동으로 부팅하고 설치하고 사전 필수 구성을 할 수도 있습니다. Apstra ZTP를 사용하는 것은 에이전트를 수동으로 설치하는 것보다 규모에 따라 지원이 더 간단하고 쉽습니다.
Cisco 디바이스에 에이전트를 수동으로 설치하려면 다음 단계가 포함됩니다.
- 손님 쉘 디스크 크기, 메모리 및 cpu를 업데이트 한 다음 손님 쉘을 활성화 / 재부팅합니다.
- 디바이스 에이전트를 설치합니다.
- aos.config 파일을 업데이트합니다.
- 서비스를 시작합니다.
Cisco GuestShell은 Apstra 고유의 분할되지 않습니다. 게스트 쉘에 호스팅하는 다른 애플리케이션이 있는 경우 게스트 쉘의 변경 사항이 영향을 줄 수 있습니다.
"부트스트랩" 또는 "프리스틴" 구성의 명령은 패브릭 구축 중에 추가된 Apstra 구성을 방해할 수 있습니다.
Apstra가 사용하는 MTU보다 낮은 값으로 NX-OS "system jumbomtu"를 구성하면 Apstra MTU 명령이 실패합니다.
디바이스 구성 요구 사항
VRF, NXAPI, GuestShell, 관리 VRF 생성 등 다음과 같은 순서로 디바이스를 구성합니다. 에이전트-서버 통신을 허용하기 위해 Apstra의 디바이스 에이전트는 VRF 이름을 management
사용합니다. 실행 중인 구성에 이러한 줄이 나타나는지 확인합니다.
! no password strength-check username admin password admin-password role network-admin copp profile strict ! vrf context management ip route 0.0.0.0/0 <Management Default Gateway> ! interface mgmt0 vrf member management ip address <Management CIDR Address> !
크기 조정 및 게스트 쉘 활성화
- 디스크 공간, 메모리 및 CPU의 크기를 조정하려면 다음 명령을 실행합니다.
guestshell resize rootfs 1024 guestshell resize memory 2048 guestshell resize cpu 6
- guestshell이 활성화되지 않은 경우 명령을
guestshell enable
실행하여 변경 사항을 활성화합니다. - 게스트 쉘이 이미 활성화된 경우 명령을
guestshell reboot
실행하여 쉘을 다시 시작하고 변경 사항을 활성화합니다. - 명령을
switch# show guestshell detail
실행하고 게스트 쉘이 활성화되었는지 확인합니다.
에이전트 설치 관리자 다운로드
Apstra 서버에서 HTTPS를 통해 설치 에이전트를 쉽게 복사할 수 있습니다. 다운로드한 후 다운로드한 복사본의 MD5sum이 Apstra 매장과 일치하는지 확인합니다.
에이전트 파일을 검색하려면 Cisco 디바이스가 HTTPS를 사용하여 Apstra 서버에 연결됩니다. 진행하기 전에 이 연결이 작동하는지 확인합니다.
Apstra는 Apstra 서버의 에이전트와 함께 배송됩니다. 이를 , 또는 volatile:
파일 시스템 위치로 복사할 /volatile
수 있습니다. Apstra는 Apstra 서버의 폴더에 /home/admin
md5sum 파일을 제공합니다.
aos_server_ip
아래 실행 파일에서 변수와 aos_version
을(를) 대체합니다. Apstra 서버 버전(예: 4.1.0-115)의 경우 플랫폼 > 정보로 이동합니다.
switch# guestshell run sudo chvrf management wget --no-check-certificate -o /volatile/aos_download.log -O /volatile/aos.run https://<aos_server_ip>/device_agent_images/aos_device_agent_<aos_version>.run guestshell run sudo chvrf management wget --no-check-certificate -o /volatile/aos_download.log -O /volatile/aos.run.md5 https://<aos_server_ip>/device_agent_images/aos_device_agent_<aos_version>.run.md5
파일이 올바르게 다운로드되었는지 확인합니다.
switch# show file volatile:aos.run md5 a28780880a8d674f6eb6a397509db101 switch# show file volatile:aos.run.md5 a28780880a8d674f6eb6a397509db101 aos_device_agent_<aos_version>.run
Cisco 디바이스 에이전트 설치
문제가 발생할 경우 최신 변경 사항을 저장하기 위해 명령을 copy running-config startup-config
실행하는 것이 좋습니다.
Cisco NX-OS 스위치 게스트 쉘에서 명령을 실행하여 아래와 같이 에이전트를 설치합니다.
switch# guestshell run sudo chmod +x /volatile/aos.run switch# guestshell run sudo /volatile/aos.run -- --no-start <omitted output> created 7855 files created 1386 directories created 602 symlinks created 0 devices created 0 fifos + [[ True == \T\r\u\e ]] + true + systemctl enable aos
에이전트 구성 파일 업데이트 및 서비스 시작
에이전트를 설치한 후 서비스를 시작하기 전에 파일을 업데이트 aos.conf
하여 서버에 연결합니다.
에 위치한 /etc/aos/aos.conf
Cisco NX-OS 디바이스 에이전트 구성 파일을 구성합니다. 매개 변수는 Apstra 디바이스 에이전트 구성 파일을 참조하십시오.
파일을 업데이트한 후 명령을 service aos start
실행하여 Apstra 디바이스 에이전트를 시작합니다.
Apstra 서버에서 Apstra 디바이스 활성화
Apstra 디바이스 에이전트가 Apstra와 통신할 때, Apstra는 '디바이스 키'를 사용하여 자신을 식별합니다. Cisco NXOS 스위치의 경우 디바이스 키는 관리 인터페이스 'eth0'의 MAC 주소.
root@Cisco:/etc/aos# ip link show dev eth0 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000 link/ether 08:00:27:8a:39:05 brd ff:ff:ff:ff:ff:ff
디바이스 구축
Apstra GUI의 왼쪽 탐색 메뉴에서 매니지드 디바이스를 > 디바이스로 이동합니다. 에이전트가 실행 중이면 이 목록에 나타나며 표준 절차에 따라 GUI를 사용하여 청사진에 승인하고 할당할 수 있습니다.
Apstra 디바이스 에이전트 재설정
Apstra 에이전트를 어떤 이유로 재설정해야 하는 경우(블루프린트 변경, 재구매, 백업에서 디바이스 복원 등) Apstra 에이전트 메타데이터를 지우고, 디바이스를 다시 등록하고, 청사진에 다시 구축하는 것이 가장 좋습니다.
C9K-172-20-65-5# guestshell [guestshell@guestshell ~]$ sudo su - [root@guestshell ~]# systemctl stop aos [root@guestshell ~]# rm -rf /var/log/aos/* [root@guestshell ~]# systemctl start aos Starting AOS Agents...root@guestshell ~]#
Apstra 디바이스 에이전트 제거
에이전트를 제거하려면 GUI를 사용하여 표준 절차에 따라 청사진에서 먼저 설치하지 않고 할당 해제합니다. 또한 매니지드 디바이스 페이지에서 완전히 삭제할 수도 있습니다.
NX-OS에서 Apstra 패키지를 제거하려면 손님 쉘을 파괴하십시오. 다른 애플리케이션이 게스트쉘을 사용하지 않는 경우에만 이 작업을 수행합니다.
C9K-172-20-65-5# guestshell destroy Remove remaining AOS data from system Removing the guest-shell deletes most of the data left by AOS. Some files are still on the bootflash:/.aos folder. C9K-172-20-65-5# delete bootflash:.aos no-prompt
Apstra EEM 스크립트 제거
Apstra 디바이스 에이전트는 텔레메트리를 지원하기 위해 일부 이벤트 관리자 애플릿을 설치합니다. 이를 안전하게 제거할 수 있습니다.
C9K-172-20-65-5(구성)# 이벤트 관리자 AOS_PROTO_VSH_LAUNCH C9K-172-20-65-5(구성)# 이벤트 관리자 애플릿 AOS_STATS_VSH_LAUNCH C9K-172-20-65-65-없음 5 (구성)# 이벤트 매니저 applet aos_bgp_applet C9K-172-20-65-5 (구성)# 이벤트 관리자 applet aos_ifdown_applet C9K-172-20-65-5 (구성)# 이벤트 관리자 applet aos_ifup_applet
Cisco 에이전트 문제 해결
Apstra 에이전트는 NXOS 게스트 쉘(guestshell)에서 실행되어 기본 bash 및 Linux 환경과 상호 작용합니다. Apstra가 작동하는 내부 Linux Container(LXC)입니다. LXC에서 Apstra는 NXAPI 및 기타 방법을 사용하여 NXOS와 직접 통신합니다. 보안상의 이유로 Cisco는 LXC 인터페이스의 상당 부분을 NXOS 디바이스의 나머지 부분과 분리하므로, 더 많은 문제 해결 명령을 수행하려면 게스트 쉘 bash 프롬프트에 드롭해야 합니다.
게스트 쉘이 NX-OS에서 실행되고 있는지 확인 Apstra 에이전트는 NXOS Guest Shell에서 실행되어 기본 bash 및 linux 환경과 상호 작용합니다. Apstra가 작동하는 내부 Linux Container(LXC)입니다. 게스트 쉘이 활성화되고 실행되는지 확인하고 있습니다.
C9K-172-20-65-5# show guestshell detail Virtual service guestshell+ detail State : Activated Package information Name : guestshell.ova Path : /isanboot/bin/guestshell.ova Application Name : GuestShell Installed version : 2.1(0.0) Description : Cisco Systems Guest Shell Signing Key type : Cisco release key Method : SHA-1 Licensing Name : None Version : None Resource reservation Disk : 1024 MB Memory : 3072 MB CPU : 6% system CPU Attached devices Type Name Alias --------------------------------------------- Disk _rootfs Disk /cisco/core Serial/shell Serial/aux Serial/Syslog serial2 Serial/Trace serial3
등록 서비스 표시
C9K-172-20-65-5# show virtual-service list Virtual Service List: Name Status Package Name ----------------------------------------------------------------------- guestshell+ Activated guestshell.ova
- Apstra에 대한 네트워크 연결성 확인
- 에이전트 설치 확인
- Apstra 에이전트가 실행 중인지 확인
- /etc/aos에 파일 존재 확인
- /var/log/aos의 Apstra 데이터 확인
- Apstra 에이전트 버전 결정
- DNS 확인 실패
- Apstra Service는 Cisco NX-OS에서 시작하는 데 오랜 시간이 걸립니다.
- Apstra 중단 및 오류 없는 문제(MGMT VRF)
- NX-OS 게스트 쉘에서 MGMT VRF 확인
Apstra에 대한 네트워크 연결성 확인
게스트 쉘 내에서 Apstra 서버로 ping하여 ICMP 핑을 확인합니다. VRF의 컨텍스트 내에서 명령을 실행할 때 명령을 chvrf <vrf>
사용할 때 명령을 사용합니다. 이 경우 VRF입니다 management
.
[guestshell@guestshell ~]$ chvrf management ping 172.20.65.3 PING 172.20.65.3 (172.20.65.3) 56(84) bytes of data. 64 bytes from 172.20.65.3: icmp_seq=1 ttl=64 time=0.239 ms 64 bytes from 172.20.65.3: icmp_seq=2 ttl=64 time=0.215 ms
에이전트 설치 확인
Apstra 디바이스 에이전트 패키지가 설치되었는지 확인합니다. NXOS에서 Apstra 에이전트는 게스트 쉘 인스턴스가 시작될 때 시작하도록 /etc/rc.d/init.d/aos
설치합니다.
[guestshell@guestshell ~]$ systemctl status aos aos.service - LSB: Start AOS device agents Loaded: loaded (/etc/rc.d/init.d/aos) Active: active (running) since Tue 2016-11-15 00:10:49 UTC; 3h 54min ago Process: 30 ExecStart=/etc/rc.d/init.d/aos start (code=exited, status=0/SUCCESS) CGroup: /system.slice/aos.service ├─113 tacspawner --daemonize=/var/log/aos/aos.log --pidfile=/var/run/aos.pid --name=SAL2028T5NE --hostname=localhost --domainSocket=aos_spawner_sock --hostSysdbAddress=tb... ├─115 tacleafsysdb --agentName=SAL2028T5NE-LocalTasks-SAL2028T5NE-0 --partition= --storage-mode=persistent --eventLogDir=. --eventLogSev=TaccSpawner/error,Mounter/error,M... ├─116 /usr/bin/python /bin/aos_agent --class=aos.device.common.ProxyDeploymentAgent.ProxyDeploymentAgent --name=DeploymentProxyAgent device_type=Cisco serial_number=@(SWI... ├─117 /usr/bin/python /bin/aos_agent --class=aos.device.common.ProxyCountersAgent.ProxyCountersAgent --name=CounterProxyAgent device_type=Cisco serial_number=@(SWITCH_UNI... └─118 /usr/bin/python /bin/aos_agent --class=aos.device.cisco.CiscoTelemetryAgent.CiscoTelemetryAgent --name=DeviceTelemetryAgent serial_number=@(SWITCH_UNIQUE_ID)
Apstra 에이전트가 실행 중인지 확인
'서비스' 명령으로 실행 시스템 상태를 확인하고 'ps' 명령으로 실행 프로세스를 확인합니다. 우리는 aos_agent 제대로 실행되고 있는지 확인하려고합니다.
[root@guestshell ~]# service aos status aos is running [root@guestshell ~]# ps wax PID TTY STAT TIME COMMAND 1 ? Ss 0:00 /sbin/init 9 ? Ss 0:00 /usr/lib/systemd/systemd-journald 19 ? Ss 0:00 /bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation 22 ? Ss 0:00 /usr/lib/systemd/systemd-logind 29 ? Ss 0:00 /usr/sbin/sshd -D -f /etc/ssh/sshd_config-cisco -p 17682 -o ListenAddress=localhost 38 ? Ss 0:00 /usr/sbin/crond -n 55 pts/1Ss+0:00 /sbin/agetty --noclear ttyS1 56 pts/0Ss+0:00 /sbin/agetty --noclear ttyS0 113 ? Sl 0:01 tacspawner --daemonize=/var/log/aos/aos.log --pidfile=/var/run/aos.pid --name=C9K --hostname=localhost --domainSocket=aos_spawner_sock --hostSysdbAdd 115 ? S 0:03 tacleafsysdb --agentName=C9K-LocalTasks-C9K-0 --partition= --storage-mode=persistent --eventLogDir=. --eventLogSev=TaccSpawner/error,Mounter/ 116 ? Sl 0:01 /usr/bin/python /bin/aos_agent --class=aos.device.common.ProxyDeploymentAgent.ProxyDeploymentAgent --name=DeploymentProxyAgent device_type=Cisco serial_numbe 117 ? Sl 0:19 /usr/bin/python /bin/aos_agent --class=aos.device.common.ProxyCountersAgent.ProxyCountersAgent --name=CounterProxyAgent device_type=Cisco serial_number=@(SWI 118 ? Sl 0:02 /usr/bin/python /bin/aos_agent --class=aos.device.cisco.CiscoTelemetryAgent.CiscoTelemetryAgent --name=DeviceTelemetryAgent serial_number=@(SWITCH_UNIQUE_ID) 700 ? Ss 0:00 sshd: guestshell [priv] 702 ? S 0:00 sshd: guestshell@pts/4 703 pts/4Ss 0:00 bash -li 732 pts/4S 0:00 sudo su - 733 pts/4S 0:00 su - 734 pts/4S 0:00 -bash 823 pts/4R+ 0:00 ps wax
/etc/aos에 파일 존재 확인
게스트 쉘 아래에 Apstra는 /etc/aos 아래에 다수의 구성 파일을 저장합니다.
[root@guestshell aos]# ls -lah /etc/aos total 44K drwxr-xr-x 2 root root 4.0K Nov 15 00:05 . drwxr-xr-x 63 root root 4.0K Nov 15 00:09 .. -rwxr-xr-x 1 root root 1.1K Nov 14 22:26 agent.json -rw-r--r-- 1 root root 1.1K Nov 15 00:05 aos.conf -rwxr-xr-x 1 root root 992 Nov 14 22:26 common_functions -rwxr-xr-x 1 root root 1.4K Nov 14 22:26 health_check_functions -rwxr-xr-x 1 root root 450 Nov 14 22:26 iproute2_functions -rwxr-xr-x 1 root root 916 Nov 14 22:26 lsb_functions -rwxr-xr-x 1 root root 4.5K Nov 14 22:26 platform_functions -rwxr-xr-x 1 root root 156 Nov 14 22:26 version
/var/log/aos의 Apstra 데이터 확인
Apstra는 내부 데이터베이스를 /var/log/aos에 기록합니다.
[root@guestshell aos]# ls -lah /var/log/aos total 500K drwxr-xr-x 2 root root 480 Nov 15 00:10 . drwxr-xr-x 3 root root 120 Nov 15 00:10 .. -rw-r--r-- 1 root root 3.2K Nov 15 00:11 CounterProxyAgent.117.1479168658.log -rw-r--r-- 1 root root 289K Nov 15 02:27 CounterProxyAgent.err -rw-r--r-- 1 root root0 Nov 15 00:10 CounterProxyAgent.out -rw------- 1 root root 31K Nov 15 00:11 CounterProxyAgentC9K_2016-11-15--00-10-59_117-2016-11-15--00-10-59.tel -rw-r--r-- 1 root root 104 Nov 15 00:45 DeploymentProxyAgent.116.1479168650.log -rw-r--r-- 1 root root 12K Nov 15 00:45 DeploymentProxyAgent.err -rw-r--r-- 1 root root0 Nov 15 00:10 DeploymentProxyAgent.out -rw------- 1 root root 31K Nov 15 00:10 DeploymentProxyAgentC9K_2016-11-15--00-10-51_116-2016-11-15--00-10-51.tel -rw-r--r-- 1 root root 4.1K Nov 15 00:11 DeviceTelemetryAgent.118.1479168657.log -rw-r--r-- 1 root root 1.4K Nov 15 00:11 DeviceTelemetryAgent.err -rw-r--r-- 1 root root0 Nov 15 00:10 DeviceTelemetryAgent.out -rw------- 1 root root 31K Nov 15 00:11 DeviceTelemetryAgentC9K_2016-11-15--00-10-58_118-2016-11-15--00-10-58.tel -rw-r--r-- 1 root root0 Nov 15 00:10 C9K-0.115.1479168649.log -rw-r--r-- 1 root root0 Nov 15 00:10 C9K-0.err -rw-r--r-- 1 root root0 Nov 15 00:10 C9K-0.out -rw------- 1 root root 39K Nov 15 00:10 C9K-LocalTasks-C9K-0_2016-11-15--00-10-50_115-2016-11-15--00-10-50.tel -rw------- 1 root root 36K Nov 15 00:10 Spawner-C9K_2016-11-15--00-10-49_111-2016-11-15--00-10-49.tel -rw------- 1 root root 634 Nov 15 00:10 _C9K-00000000582a528a-0001744b-checkpoint -rw-r--r-- 1 root root0 Nov 15 00:10 _C9K-00000000582a528a-0001744b-checkpoint-valid -rw------- 1 root root0 Nov 15 00:10 _C9K-00000000582a528a-0001744b-log -rw-r--r-- 1 root root0 Nov 15 00:10 _C9K-00000000582a528a-0001744b-log-valid -rw-r--r-- 1 root root0 Nov 15 00:10 aos.log [root@guestshell aos]#
Apstra 에이전트 버전 결정
Apstra 에이전트 버전은 /etc/aos/version에서 제공됩니다. 이 명령을 실행하기 전에 aos 서비스에 연결해야 합니다.
[root@guestshell admin]# service aos attach aos@guestshell:/# cat /etc/aos/version VERSION=99.0.0-3874 BUILD_ID=AOS_latest_OB.3874 BRANCH_NAME=master COMMIT_ID=d3eb2585608f0509a11b95fb9d07aed6e26d6c32 BUILD_DATETIME=2018-05-20_10:22:32_PDT AOS_DI_RELEASE=2.2.0-169 aos@guestshell:/#
DNS 확인 실패
Apstra 에이전트는 metadb 연결의 DNS 확인에 민감합니다. /etc/aos/aos.conf의 IP 및/또는 DNS가 디바이스 eth0 관리 포트에서 연결할 수 있는지 확인합니다.
[root@guestshell ~]# aos_show_tech | grep -i dns [2016/10/20 23:04:20.534538UTC@event-'warning']:(textMsg=Failing outgoing mount to <'tbt://aos-server:29731/Data/ReplicaStatus?flags=i','/Metadb/ReplicaStatus'>' due to code 'resynchronizing' and reason 'Dns lookup issue "Temporary failure in name resolution" Unknown error 18446744073709551613) [2016/10/20 23:04:21.540444UTC@OutgoingMountConnectionError-'warning']:(connectionName=--NONE--,localPath=/Metadb/ReplicaStatus,remotePath=tbt://aos-server:29731/Data/ReplicaStatus?flags=i,msg=Tac::ErrnoException: Dns lookup issue "Temporary failure in name resolution" Unknown error 18446744073709551613) [2016/10/20 23:04:21.541174UTC@event-'warning']:(textMsg=Failing outgoing mount to <'tbt://aos-server:29731/Data/ReplicaStatus?flags=i','/Metadb/ReplicaStatus'>' due to code 'resynchronizing' and reason 'Dns lookup issue "Temporary failure in name resolution" Unknown error 18446744073709551613) Insufficient Guestshell filesystem size An error message ‘AOS Agent needs XXMB on the / filesystem’ will occur if the rootfs partition is not at least 1GB large. Please make sure to resize the guestshell filesystem to 2gb ram, 1gb disk, and 6% CPU. <snip> + popd /tmp/selfgz18527139 + rpm -Uvh --nodeps --force /tmp/selfgz18527139/aos-device-agent-1.1.0-0.1.1108.x86_64.rpm Preparing... ################################# [100%] installing package aos-device-agent-1.1.0-0.1.1108.x86_64 needs 55MB on the / filesystem
Apstra Service는 Cisco NX-OS에서 시작하는 데 오랜 시간이 걸립니다.
Cisco NX-OS의 GuestShell이 LXC 컨테이너 내에서 NXAPI를 초기화하는 데는 몇 분이 소요됩니다. 이것은 정상입니다. 이 지연을 감리하기 위해 Apstra 스크립트 초기화에 대기 지연이 추가되었습니다.
Apstra 중단 및 오류 없는 문제(MGMT VRF)
손님이 관리 VRF 뒤에 올바르게 있는지 확인합니다.
기본적으로 'ping' 명령을 실행할 때 Apstra 서버를 핑할 수 없습니다.
아래 - 글로벌 기본 라우팅 테이블 172.20.156.3에서 Apstra 서버로 핑이 실패하겠지만 게스트 셸에서 성공할 것으로 예상합니다.
SAL2028T5PP-172-20-156-5# ping 172.20.156.3 PING 172.20.156.3 (172.20.156.3): 56 data bytes ping: sendto 172.20.156.3 64 chars, No route to host ^C --- 172.20.156.3 ping statistics --- 1 packets transmitted, 0 packets received, 100.00% packet loss SAL2028T5PP-172-20-156-5# ping 172.20.156.3 vrf management PING 172.20.156.3 (172.20.156.3): 56 data bytes 64 bytes from 172.20.156.3: icmp_seq=0 ttl=63 time=0.649 ms 64 bytes from 172.20.156.3: icmp_seq=1 ttl=63 time=0.449 ms 64 bytes from 172.20.156.3: icmp_seq=2 ttl=63 time=0.428 ms 64 bytes from 172.20.156.3: icmp_seq=3 ttl=63 time=0.423 ms 64 bytes from 172.20.156.3: icmp_seq=4 ttl=63 time=0.404 ms ^C
NX-OS 게스트 쉘에서 MGMT VRF 확인
[root@guestshell ~]# ping 172.20.157.3 connect: Network is unreachable [root@guestshell ~]# sudo ip netns exec management ping 172.20.156.3 PING 172.20.156.3 (172.20.156.3) 56(84) bytes of data. 64 bytes from 172.20.156.3: icmp_seq=1 ttl=64 time=0.226 ms 64 bytes from 172.20.156.3: icmp_seq=2 ttl=64 time=0.232 ms ^C