Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

데이터 경로 디버깅 및 추적 옵션 구성

SRX 시리즈 디바이스에 대한 데이터 경로 디버깅 이해

데이터 경로 디버깅 또는 종단 간 디버깅은 패킷 처리 경로를 따라 여러 처리 장치에서 추적 및 디버깅을 지원합니다. 패킷 필터는 프로덕션 시스템에 미치는 영향을 최소화하면서 실행할 수 있습니다.

패킷 캡처를 수집하는 것이 목표라면 Junos OS 릴리스 19.3R1에 소개된 운영 모드 패킷 캡처를 활용하는 것이 좋습니다. 운영 모드에서 패킷 캡처를 참조하십시오.

SRX 시리즈 방화벽에서 패킷은 수신 및 송신 처리에 이르기까지 다양한 구성 요소와 관련된 일련의 이벤트를 거칩니다.

데이터 경로 디버깅 기능을 사용하면 처리 경로를 따라 서로 다른 데이터 지점에서 추적 및 디버깅(패킷 캡처)을 수행할 수 있습니다. 패킷 처리 경로에서 사용할 수 있는 이벤트는 다음과 같습니다. NP 수신, LBT(로드 밸런싱 스레드), jexec, POT(패킷 순서 스레드) 및 NP 송신. 특정 모듈에 대한 보안 플로우 추적 플래그가 설정된 경우 플로우 모듈 추적을 활성화할 수도 있습니다.

각 이벤트에서 네 가지 작업(개수, 패킷 덤프, 패킷 요약 및 추적) 중 하나를 지정할 수 있습니다. 데이터 경로 디버깅은 캡처할 패킷을 정의하는 필터를 제공하며, 일치하는 패킷만 추적됩니다. 패킷 필터는 논리적 인터페이스, 프로토콜, 원본 IP 주소 접두사, 원본 포트, 대상 IP 주소 접두사 및 대상 포트를 기반으로 패킷을 필터링할 수 있습니다.

데이터 경로 디버깅은 SRX4600, SRX5400, SRX5600 및 SRX5800에서 지원됩니다.

종단 간 디버깅을 사용하려면 다음 단계를 수행해야 합니다.

  1. 캡처 파일을 정의하고 최대 캡처 크기를 지정합니다.

  2. 요구 사항에 따라 특정 유형의 트래픽만 추적하도록 패킷 필터를 정의합니다.

  3. 패킷을 캡처할 처리 경로의 위치를 지정하는 작업 프로필을 정의합니다(예: LBT 또는 NP 수신).

  4. 데이터 경로 디버깅을 사용하도록 설정합니다.

  5. 트래픽을 캡처합니다.

  6. 데이터 경로 디버깅을 사용하지 않도록 설정합니다.

  7. 보고서를 보거나 분석합니다.

포트 및 인터페이스 옵션에 대한 패킷 필터링 동작은 다음과 같습니다.

  • 패킷 필터는 만 지정된 경우 IPv4 및 IPv6 트래픽을 모두 추적합니다.port

  • 패킷 필터는 지정된 경우 IPv4, IPV6 및 비 IP 트래픽을 추적합니다.interface

운영 모드에서 패킷 캡처

데이터 경로 디버깅 또는 종단 간 디버깅은 패킷 처리 경로를 따라 여러 처리 장치에서 추적 및 디버깅을 제공합니다. 패킷 캡처는 데이터 경로 디버그 기능 중 하나입니다. 구성을 커밋하지 않고도 운영 시스템에 미치는 영향을 최소화하면서 운영 모드에서 패킷 캡처를 실행할 수 있습니다.

필터를 사용하여 패킷을 캡처하여 캡처할 패킷을 정의할 수 있습니다. 패킷 필터는 논리적 인터페이스, 프로토콜, 원본 IP 주소 접두사, 원본 포트, 대상 IP 주소 접두사 및 대상 포트를 기반으로 패킷을 필터링할 수 있습니다. 패킷 캡처 출력의 파일 이름, 파일 유형, 파일 크기 및 캡처 크기를 수정할 수 있습니다. 필터를 두 개의 필터로 확장하고 필터 값을 바꿀 수도 있습니다.

운영 모드에서의 패킷 캡처는 SRX4600, SRX5400, SRX5600 및 SRX5800에서 지원됩니다.

운영 모드에서 패킷을 캡처하려면 다음 단계를 수행해야 합니다.

  1. 운영 모드에서 CLI 명령을 사용하여 요구 사항에 따라 트래픽 유형을 추적하도록 패킷 필터를 정의합니다.request packet-capture start 사용 가능한 패킷 캡처 필터 옵션은 을(를) 참조하십시오 .request packet-capture start
  2. 필요한 패킷을 캡처합니다.
  3. CLI 명령을 사용하여 패킷 캡처를 중지하거나 요청된 수의 패킷을 수집한 후 패킷 캡처가 자동으로 중지될 수 있습니다.request packet-capture stop
  4. 캡처된 패킷 데이터 보고서를 보거나 분석합니다.

운영 모드에서 패킷을 캡처하는 데 대한 제한 사항은 다음과 같습니다.

  1. 구성 모드 패킷 캡처와 운영 모드 패킷 캡처는 공존할 수 없습니다.

  2. 운영 모드 패킷 캡처는 일회성 작업이며 시스템은 이 명령의 기록을 저장하지 않습니다.

  3. 낮은 속도의 트래픽 플로우에서 운영 모드 패킷 캡처를 사용해야 합니다.

추적 옵션을 사용한 보안 디버깅 이해

Junos OS 추적 기능을 사용하면 애플리케이션이 보안 디버깅 정보를 파일에 쓸 수 있습니다. 이 파일에 나타나는 정보는 사용자가 설정한 기준을 기반으로 합니다. 이 정보를 사용하여 보안 애플리케이션 문제를 분석할 수 있습니다.

추적 함수는 분산 방식으로 작동하며 각 스레드는 자체 추적 버퍼에 씁니다. 그런 다음 이러한 추적 버퍼는 한 지점에서 수집되고 정렬된 후 추적 파일에 기록됩니다. 추적 메시지는 IPC(InterProcess Communications) 프로토콜을 사용하여 전달됩니다. 추적 메시지는 BGP, OSPF 및 IKE와 같은 제어 프로토콜 패킷의 우선 순위보다 낮기 때문에 전달이 신뢰할 수 있는 것으로 간주되지 않습니다.

추적 옵션을 사용한 플로우 디버깅 이해

플로우 추적 옵션의 경우, , , , , 및 의 조합을 사용하여 패킷 필터를 정의할 수 있습니다.destination-portdestination-prefixinterfaceprotocolsource-portsource-prefix 특정 모듈에 대한 보안 플로우 추적 플래그가 설정된 경우, 특정 패킷 필터와 일치하는 패킷이 플로우 추적을 트리거하고 추적 파일에 디버깅 정보를 씁니다.

데이터 경로 디버깅(CLI 절차)

데이터 경로 디버깅은 SRX5400, SRX5600 및 SRX5800에서 지원됩니다.

데이터 경로 디버깅을 위한 디바이스 구성:

  1. 다음 요청 명령을 지정하여 패킷 처리 경로를 따라 여러 처리 장치에 대한 데이터 경로 디버깅을 설정합니다.
  2. 다음 명령을 사용하여 데이터 경로 디버그에 대한 추적 옵션을 지정합니다.
  3. 명령을 사용하여 request security packet-filter 패킷 필터를 설정하여 데이터 경로 디버그 작업을 수행할 관련 패킷을 지정할 수 있습니다. 최대 4개의 필터가 동시에 지원됩니다. 예를 들어, 다음 명령은 첫 번째 packet-filter를 설정합니다.
  4. 명령을 사용하여 request security action-profile 지정된 필터에 대한 패킷 일치에 대한 작업을 설정할 수 있습니다. 네트워크 프로세서 ezchip 수신, ezchip 송신, spu.lbt 및 spu.pot에 대한 추적 옵션인 기본 작업 프로필만 지원됩니다.

플로우 디버깅 추적 옵션 설정(CLI 절차)

다음 예제에서는 를 사용하여 설정할 수 있는 옵션을 표시합니다.security flow traceoptions

  • filter1 패킷 필터의 imap 대상 포트를 일치시키려면 다음 문을 사용합니다.

  • filter1 패킷 필터에 대한 1.2.3.4 대상 IPv4 접두사 주소를 설정하려면 다음 문을 사용합니다.

  • filter1 패킷 필터에 대해 fxp0 논리적 인터페이스를 설정하려면 다음 문을 사용합니다.

  • filter1 패킷 필터에 대한 TCP IP 프로토콜을 일치시키려면 다음 문을 사용합니다.

  • filter1 패킷 필터의 HTTP 소스 포트를 일치시키려면 다음 문을 사용합니다.

  • filter1 패킷 필터에 대해 5.6.7.8 IPv4 접두사 주소를 설정하려면 다음 문을 사용합니다.

보안 추적 옵션 설정(CLI 절차)

다음 구성 문을 사용하여 CLI 구성 편집기에서 보안 추적 옵션을 구성할 수 있습니다.

  • 원격 추적을 비활성화하려면 다음 문을 입력합니다.

  • 추적 메시지를 로컬 파일에 쓰려면 다음 문을 입력합니다. 시스템은 추적 파일을디렉터리에 저장합니다. /var/log/

  • 추적 파일의 이름을 지정하려면 다음 문을 입력합니다. 유효한 값의 범위는 1자에서 1024자 사이입니다. 이름에는 공백, / 또는 % 문자가 포함될 수 없습니다. 기본 파일 이름은 security입니다.

  • 누적할 수 있는 최대 추적 파일 수를 지정하려면 다음 문을 입력합니다. 유효한 값의 범위는 2에서 1000 사이입니다. 기본값은 3입니다.

  • 파일에 정보를 로깅할 때 시스템에서 사용할 일치 기준을 지정하려면 다음 명령문을 입력합니다. 정규 표현식을 입력합니다. 와일드카드(*) 문자를 사용할 수 있습니다.

  • 모든 사용자가 추적 파일을 읽을 수 있도록 하려면 문을 입력합니다 . world-readable 그렇지 않으면 문을 입력합니다 .no-world-readable

  • 추적 파일이 증가할 수 있는 최대 크기를 지정하려면 다음 문을 입력합니다. 파일이 지정된 크기에 도달하면 압축되어 0.gz로 이름이 바뀌고 다음 파일의 이름은 1.gz가 되는 식입니다.filenamefilename 유효한 값의 범위는 10240에서 1,073,741,824 사이입니다.

  • 추적 옵션을 설정하고 둘 이상의 추적 작업을 수행하려면 다음 플래그를 설정합니다.

  • 이러한 추적 옵션 설정이 적용되거나 적용되지 않는 그룹을 지정하려면 다음 문을 입력합니다.

로그 및 추적 파일 표시

명령을 입력하여 시스템 로그 및 추적 파일에 대한 실시간 추가 사항을 표시합니다.monitor start

장치가 에 의해 지정된 파일에 레코드를 추가하면 레코드가 화면에 표시됩니다.filename 예를 들어, [] 계층 수준의 문을 포함하여 라는 시스템 로그 파일을 구성한 경우 명령을 입력하여 시스템 로그에 추가된 레코드를 표시할 수 있습니다.system-logsyslogedit systemmonitor start system-log

모니터링 중인 파일 목록을 표시하려면 명령을 입력하십시오 .monitor list 지정된 파일에 대한 레코드 표시를 중지하려면 명령을 입력합니다 .monitor stop filename

보안 추적 옵션에 대한 출력 표시

목적

보안 추적 옵션에 대한 출력을 표시합니다.

작업

명령을 사용하여 추적 파일의 출력을 표시합니다.show security traceoptions 예:

이 예제의 출력은 다음과 같습니다.

멀티캐스트 추적 작업 표시

멀티캐스트 추적 작업을 모니터링하고 표시하려면 다음 명령을 입력합니다.mtrace monitor

이 예에서는 쿼리만 표시합니다.mtrace 그러나 디바이스가 응답을 캡처 할 때 디스플레이는 비슷하지만 완전한 응답도 나타납니다(명령 출력에 표시된 것과 정확히 일치).mtracemtracemtrace from-source

표 1 는 디스플레이의 출력 필드를 요약합니다.

표 1: CLI mtrace monitor 명령 출력 요약

필드

설명

Mtrace operation-type at time-of-day

  • operation-type- 멀티캐스트 추적 작업 유형: query 또는 response

  • time-of-day- 멀티캐스트 추적 쿼리 또는 응답이 캡처된 날짜 및 시간입니다.

by

쿼리를 실행하는 호스트의 IP 주소입니다.

resp to address

address- 응답 대상 주소입니다.

qid qid

qid- 질의 ID 번호입니다.

packet from source to destination

  • source- 쿼리 또는 응답 소스의 IP 주소입니다.

  • destination- 쿼리 또는 응답 대상의 IP 주소입니다.

from source to destination

  • source- 멀티캐스트 소스의 IP 주소입니다.

  • destination- 멀티캐스트 대상의 IP 주소입니다.

via group address

address- 추적 중인 그룹 주소.

mxhop=number

number- 최대 홉 설정.

장치 목록 표시하기

디바이스와 지정된 대상 호스트 간의 디바이스 목록을 표시하려면 다음 구문을 사용하여 명령을 입력합니다 .traceroute

표 2에는 traceroute 명령 옵션에 대한 설명이 나와 있습니다.

표 2: CLI traceroute 명령 옵션

옵션

설명

host

지정한 호스트 이름 또는 IP 주소로 경로 추적 패킷을 보냅니다.

interface interface-name

(선택 사항) 지정한 인터페이스에서 트레이스라우트 패킷을 전송합니다. 이 옵션을 포함하지 않으면 모든 인터페이스에서 traceroute 패킷이 전송됩니다.

as-number-lookup

(선택 사항) 디바이스와 대상 호스트 간 각 중간 홉의 AS(Autonomous System) 번호를 표시합니다.

bypass-routing

(선택 사항) 라우팅 테이블을 우회하고 직접 연결된 인터페이스의 호스트에만 traceroute 패킷을 보냅니다. 호스트가 직접 연결된 인터페이스에 없는 경우 오류 메시지가 반환됩니다.

이 옵션을 사용하면 경로가 없는 인터페이스를 통해 로컬 시스템에 대한 경로를 표시할 수 있습니다.

gateway address

(선택 사항) 라우팅할 지정한 게이트웨이를 사용합니다.

inet

(선택 사항) 트레이스라우트 패킷을 IPv4 대상으로 강제 적용합니다.

inet6

(선택 사항) 트레이스라우트 패킷을 IPv6 대상으로 강제 적용합니다.

no-resolve

(선택 사항) 경로를 따라 홉의 호스트 이름이 표시되지 않도록 합니다.

routing-instance routing-instance-name

(선택 사항) traceroute에 대해 지정한 라우팅 인스턴스를 사용합니다.

source address

(선택 사항) traceroute 패킷에서 지정한 소스 주소를 사용합니다.

tos number

(선택 사항) 경로 추적 패킷의 IP 헤더에서 서비스 유형(TOS) 값을 설정합니다. 0에서 255 사이의 값을 지정합니다.

ttl number

(선택 사항) 트레이스라우트 패킷의 TTL(Time-to-Live) 값을 설정합니다. 에서 까지 홉 수를 지정합니다.0128

wait seconds

(선택 사항) 응답을 기다리는 최대 시간을 설정합니다.

명령을 종료 하려면 Ctrl-C를 누릅니다.traceroute

다음은 명령의 샘플 출력입니다 .traceroute

디스플레이의 필드는 J-Web traceroute 진단 도구에 의해 표시되는 필드와 동일합니다.

예: SRX 시리즈 디바이스에서 엔드투엔드 디버깅 구성

이 예에서는 SRX5K-MPC를 사용하는 SRX 시리즈 방화벽에서 엔드 투 엔드 디버깅을 구성하고 활성화하는 방법을 보여줍니다.

요구 사항

이 예에서 사용되는 하드웨어 및 소프트웨어 구성 요소는 다음과 같습니다.

  • 100기가비트 이더넷 CFP 트랜시버와 함께 SRX5K-MPC가 설치된 SRX5600 디바이스

  • SRX 시리즈 방화벽용 Junos OS 릴리스 12.1X47-D15 이상

시작하기 전에:

이 기능을 구성하기 전에 디바이스 초기화 이외의 특별한 구성은 필요하지 않습니다.

개요

데이터 경로 디버깅은 패킷 처리 경로를 따라 여러 처리 장치에서 추적 및 디버깅을 제공하여 문제 해결 기능을 향상시킵니다. 데이터 경로 디버깅 기능을 사용하면 처리 경로를 따라 서로 다른 데이터 지점에서 추적 및 디버깅(패킷 캡처)을 수행할 수 있습니다. 각 이벤트에서 작업(개수, 패킷 덤프, 패킷 요약 및 추적)을 지정하고 필터를 설정하여 캡처할 패킷을 정의할 수 있습니다.

이 예제에서는 트래픽 필터를 정의한 다음 작업 프로필을 적용합니다. 작업 프로필은 처리 장치에 대한 다양한 작업을 지정합니다. 수신 및 송신은 들어오고 나가는 트래픽에 대한 데이터를 캡처하기 위해 처리 경로의 위치로 지정됩니다.

다음에는 운영 모드에서 데이터 경로 디버깅을 사용하도록 설정하고 마지막으로 데이터 캡처 보고서를 봅니다.

주:

데이터 경로 디버깅은 SRX1400, SRX3400, SRX3600, SRX5400, SRX5600, SRX5800에서 지원됩니다.

구성

절차

CLI 빠른 구성

이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 [edit] 계층 수준에서 명령을 CLI로 복사해 붙여 넣은 다음, 구성 모드에서 commit을 입력합니다.

단계별 절차

다음 예는 구성 계층에서 다양한 수준의 탐색이 필요합니다. 이를 수행하는 방법에 대한 지침은 Junos OS CLI 사용자 가이드구성 모드에서 CLI 편집기 사용을 참조하십시오.

데이터 경로 디버깅을 구성하려면 다음을 수행합니다.

  1. 패킷 처리 경로를 따라 여러 처리 장치에 대한 security datapath 디버깅 옵션을 편집합니다.

  2. 캡처 파일, 파일 형식, 파일 크기 및 파일 수를 활성화합니다.

  3. 작업 프로필, 이벤트 유형 및 작업 프로필에 대한 작업을 구성합니다.

결과

구성 모드에서 show security datapath-debug 명령을 입력하여 구성을 확인합니다. 출력이 의도된 구성을 표시하지 않으면, 이 예의 구성 지침을 반복하여 수정합니다.

디바이스 구성을 마쳤으면 구성 모드에서 commit을 입력합니다.

데이터 경로 디버깅 사용

절차

단계별 절차

데이터 경로 디버깅을 구성한 후에는 운영 모드에서 디바이스의 프로세스를 시작해야 합니다.

  1. 데이터 경로 디버깅을 사용하도록 설정합니다.

  2. 구성을 확인하고 보고서를 보기 전에 데이터 경로 디버깅을 비활성화해야 합니다.

    주:

    데이터 캡처를 완료한 후 디버그 프로세스를 중지해야 합니다. 디버그 프로세스를 중지하지 않고 캡처된 파일을 열려고 하면 타사 소프트웨어(예: tcpdump 및 wireshark)를 통해 가져온 파일을 열 수 없습니다.

검증

구성이 올바르게 작동하고 있는지 확인합니다.

데이터 경로 디버그 패킷 캡처 세부 정보 확인

목적

데이터 경로 디버깅 구성을 활성화하여 캡처된 데이터를 확인합니다.

작업

운영 모드에서 show security datapath-debug capture 명령을 입력합니다.

간결성을 위해 명령 출력은 몇 가지 샘플만 표시하도록 잘립니다.show 추가 샘플은 타원으로 대체되었습니다 (...).

결과를 보려면 CLI 운영 모드에서 로컬 UNIX 셸에 액세스하고 디렉터리 로 이동합니다./var/log/<file-name> 유틸리티는 사용하여 결과를 읽을 수 있습니다 .tcpdump

주:

데이터 경로 디버깅 문제 해결을 마쳤으면 수동으로 시작/중지해야 하는 패킷 캡처(packet-dump)를 위한 데이터 경로 디버그 구성을 포함하여 모두 (플로우 추적 옵션에 국한되지 않음) 및 전체 데이터 경로 디버그 구성을 제거합니다.traceoptions 디버깅 구성의 일부가 활성 상태로 유지되면 디바이스의 리소스(CPU/메모리)를 계속 사용합니다.