이 페이지 내용
TFTP ALG
TFTP(Trivial File Transfer Protocol) ALG는 UDP 대상 포트 69에 대한 요청을 시작하는 TFTP 패킷을 처리하고 게이트를 열어 역방향에서 요청을 보내는 포트로 패킷을 반환할 수 있도록 합니다. 스테이트풀 방화벽 및 네트워크 주소 변환(NAT) 서비스를 지원하려면 UDP 대상 포트 69에 대해 TFTP ALG를 구성해야 합니다.
기능 탐색기를 사용하여 특정 기능에 대한 플랫폼 및 릴리스 지원을 확인할 수 있습니다.
플랫폼별 TFTP ALG 동작 섹션에서 플랫폼과 관련된 참고 사항을 검토하십시오.
TFTP ALG 이해하기
개요
TFTP(Trivial File Transfer Protocol)는 파일 전송 (RFC 1350)에 사용되는 간단한 프로토콜입니다. TFTP는 UDP 위에 구현되며, 대상 포트 69는 잘 알려진 포트입니다. TFTP 애플리케이션 레이어 게이트웨이(ALG)는 요청을 시작하는 TFTP 패킷을 처리하고 핀홀을 생성하여 역방향에서 패킷을 반환할 수 있도록 합니다.
플로우 처리에는 하나의 TFTP 대화에 대해 두 개의 세션이 있으며, 하나는 RRQ(읽기 요청) 또는 WRQ(쓰기 요청) 패킷에 의해 생성된 TFTP 제어 세션입니다. 다른 하나는 DATA 패킷(RRQ의 경우) 또는 ACK(Acknowledgment) 패킷(WRQ의 경우)에 의해 생성된 TFTP 데이터 세션입니다.
Junos OS 방화벽에서 TFTP 제어 세션은 junos-tftp 애플리케이션 정책을 통해 허용됩니다. 제어 세션 패킷이 수신되면 서버의 모든 포트에서 클라이언트의 TID(포트)까지 TFTP ALG 오픈 핀홀을 통해 데이터 세션이 허용됩니다. NAT 변환이 이미 수행되었고 세션 데이터 구조에서 정보를 사용할 수 있으므로 NAT 변환이 필요하지 않습니다.
TFTP 패킷
모든 전송은 파일 읽기 또는 쓰기 요청으로 시작됩니다. 데이터 패킷이 512바이트 미만이면 전송 종료를 알립니다.
TFTP는 5가지 유형의 패킷을 지원합니다.
읽기 요청(RRQ)
쓰기 요청(WRQ)
데이터(DATA)
승인(ACK)
오류(ERROR)
TFTP 세션
TFTP ALG는 스테이트리스 전송 프로토콜인 UDP를 기반으로 합니다. 방화벽에서 TFTP ALG는 시간 초과가 있는 UDP 세션으로 작동합니다. 패킷 새로 고침 세션이 없는 경우 시간 초과 후 세션이 종료됩니다. TFTP 클라이언트와 서버는 TFTP 대화의 종료를 결정하지만 Fireware의 세션을 인식하지 못하는 경우가 있습니다. 따라서 클라이언트와 서버는 이 시나리오에서 새 TFTP 대화를 요청할 수 있습니다.
TFTP ALG 세션은 다음과 같은 방법으로 진행할 수 있습니다.
TFTP 제어 세션이 시간 초과에 도달하면 데이터 세션이 여전히 활성 상태이면 세션이 종료되지 않습니다.
TFTP 세션은 데이터 세션이 진행 중인지 여부에 관계없이 또는
clear specific sessionCLI 명령에 의해clear security flow session all종료되거나 손상될 수 있습니다.새로운 TFTP 세션 요청이 도착하고 기존 세션에 도달하면 TFTP ALG는 새 요청에 대해 핀홀을 다시 엽니다.
핀홀이 이미 존재하는 경우 TFTP ALG는 핀홀을 다시 열지 않으며 패킷 드롭이 없습니다.
TFTP ALG는 패킷을 삭제하지 않습니다.
TFTP ALG 대화 이해하기
기본적으로 TFTP 서버는 포트 69에서 TFTP 클라이언트의 수신 요청을 수신합니다. TFTP 클라이언트는 소스 터널 식별자(TID) 포트를 선택하고 서버에 초기 요청을 보냅니다. 이에 대한 응답으로 서버는 소스 포트로 선택한 TID를 사용하고 클라이언트의 TID에 응답을 대상 포트로 보냅니다. 그런 다음 두 개의 TID 포트가 나머지 데이터 전송에 사용됩니다.
Read file conversation steps:
호스트 A(클라이언트)는 A의 TID를 소스로, 포트 69를 대상으로 하여 RRQ 패킷을 호스트 B(서버)로 보냅니다.
호스트 B(서버)는 B의 TID를 소스로, A의 TID를 대상으로 하여 호스트 A(클라이언트)에 DATA 패킷을 보냅니다.
호스트 A(클라이언트)는 A의 TID를 소스로, B의 TID를 대상으로 하여 ACK 패킷을 호스트 B(서버)로 보냅니다.
DATA 및 ACK 패킷 대화는 파일 데이터 전송이 완료될 때까지 계속됩니다.
Write file conversation steps:
호스트 A(클라이언트)는 A의 TID를 소스로, 포트 69를 대상으로 하여 WRQ 패킷을 호스트 B(서버)로 전송합니다.
호스트 B(서버)는 B의 TID를 소스로, A의 TID를 대상으로 하여 ACK 패킷을 호스트 A(클라이언트)로 보냅니다.
호스트 A(클라이언트)는 A의 TID를 소스로, B의 TID를 대상으로 하여 DATA 패킷을 호스트 B(서버)로 보냅니다.
호스트 B(서버)는 B의 TID를 소스로, A의 TID를 대상으로 하여 ACK 패킷을 호스트 A(클라이언트)로 보냅니다.
TFTP ALG에 대한 IPv6 지원 이해
TFTP(Trivial File Transfer Protocol) ALG(애플리케이션 레이어 게이트웨이)는 소스 IP 주소와 대상 IP 주소 모두에 대해 IPv6 및 IPv4 주소가 있는 IPv6 및 IPv4 TFTP 대화를 지원하도록 향상되었습니다.
TFTP ALG는 라우팅 요청을 시작하는 패킷을 처리하고 핀홀을 생성하여 역방향에서 요청을 보낸 포트로 패킷을 반환할 수 있도록 합니다.
데이터 세션은 클라이언트에서 서버로의 첫 번째 패킷에 의해 설정됩니다. TFTP ALG는 첫 번째 패킷을 모니터링하고 서버의 모든 포트에서 클라이언트로 핀홀을 엽니다. 이 프로세스는 서버에서 반환 패킷과 후속 데이터 패킷이 통과하는 데 도움이 됩니다.
예: TFTP ALG 구성
TFTP ALG는 요청을 시작하는 TFTP 패킷을 처리하고 게이트를 열어 역방향에서 요청을 보내는 포트로 패킷을 반환할 수 있도록 합니다.
이 예시는 주니퍼 네트웍스 디바이스의 소스 네트워크 주소 변환(NAT) 풀을 통해 TFTP 트래픽을 통과하도록 TFTP ALG를 구성하는 방법을 보여줍니다.
요구 사항
소스 네트워크 주소 변환(NAT) 풀의 모든 IP 주소에 대해 프록시 ARP를 구성합니다.
TFTP ALG의 기본 개념을 이해합니다. TFTP ALG 이해를 참조하십시오.
개요
이 예에서 TFTP ALG는 TFTP 트래픽을 모니터링하고 허용하여 주니퍼 네트웍스 디바이스의 반대편에 위치한 클라이언트와 서버 간에 파일을 전송하도록 구성됩니다.
구성
NAT 소스 풀, 규칙 집합 및 정책 구성
CLI 빠른 구성
이 예의 섹션을 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성과 일치시키는 데 필요한 세부 사항을 변경하고 계층 수준에서 명령을 복사하여 CLI [edit] 로 붙여 넣은 다음, 구성 모드에서 을(를) 입력합니다 commit .
set security nat source pool pool1 address 10.10.10.1/32 to 10.10.10.10/32 set security zones security-zone green address-book address sa1 1.1.1.0/24 set security zones security-zone red address-book address da1 2.2.2.0/24 set security nat source rule-set rs1 from zone green set security nat source rule-set rs1 to zone red set security nat source rule-set rs1 rule r1 match source-address 1.1.1.0/24 set security nat source rule-set rs1 rule r1 match destination-address 2.2.2.0/24 set security nat source rule-set rs1 rule r1 then source-nat pool pool1
set security policy from-zone green to-zone red policy pol1 match destination-address da1 set security policy from-zone green to-zone red policy pol1 match source-address sa1 set security policy from-zone green to-zone red policy pol1 match application junos-tftp set security policy from-zone green to-zone red policy pol1 then permit
TFTP 클라이언트 및 서버 IP 주소가 확실하지 않은 경우 "da1" 및 "sa1"을 "any"로 바꿀 수 있습니다.
단계별 절차
다음 예제에서는 구성 계층에서 다양한 수준의 탐색이 필요합니다. 이를 수행하는 방법에 대한 지침은 CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
소스 네트워크 주소 변환(NAT) 풀을 구성하려면 다음을 수행합니다.
NAT 소스 풀을 생성합니다.
[edit security] user@host# set nat source pool pool1 address 10.10.10.1/32 to 10.10.10.10/32
보안 영역 주소록 항목을 구성합니다.
[edit security zones security-zone] user@host# set green address-book address sa1 1.1.1.0/24 user@host# set red address-book address da1 2.2.2.0/24
NAT 소스 규칙 집합을 만듭니다.
[edit security nat source rule-set rs1] user@host# set from zone green user@host# set to zone red user@host# set rule r1 match source-address 1.1.1.0/24 user@host# set rule r1 match destination-address 2.2.2.0/24 user@host# set rule r1 then source-nat pool pool1
정책 구성
[edit security policies from-zone green to-zone red policy pol1] user@host# set match source-address sa1 user@host# set match destination-address da1 user@host# set match application junos-tftp user@host# set then permit
결과
구성 모드에서 및 show security policies 명령을 입력하여 show security nat 구성을 확인합니다. 출력이 의도된 구성을 표시하지 않으면, 이 예의 구성 지침을 반복하여 수정합니다.
[edit]
user@host# show security nat
source {
pool pool1 {
address {
10.10.10.1/32 to 10.10.10.10/32;
}
}
rule-set rs1 {
from zone green;
to zone red;
rule r1 {
match {
source-address 1.1.1.0/24;
destination-address 2.2.2.0/24;
}
then {
source-nat {
pool {
pool1;
}
}
}
}
}
[edit]
user@host# show security policies
from-zone green to-zone red {policy pol1 {
policy pol1 {
match {
source-address sa1;
destination-address da1;
application [junos-tftp];
}
then {
permit;
}
}
}
default-policy {
permit-all;
}
디바이스 구성을 마쳤으면 구성 모드에서 을(를) 입력합니다 commit .
확인
구성이 올바르게 작동하고 있는지 확인합니다.
네트워크 주소 변환(NAT) 소스 풀 및 규칙 집합 확인
목적
TFTP ALG를 지원하는 데 사용되는 NAT 소스 풀 및 규칙 집합이 제대로 작동하는지 확인합니다.
행동
운영 모드에서 명령을 입력합니다 show security nat static rule r1 .
플랫폼별 TFTP ALG 동작
기능 탐색기를 사용하여 특정 기능에 대한 플랫폼 및 릴리스 지원을 확인할 수 있습니다.
다음 표를 사용하여 플랫폼에 대한 플랫폼별 동작을 검토합니다.
| 플랫폼 |
다름 |
|---|---|
| SRX 시리즈 |
|