이 페이지에서
ALG에 대해 이야기해보죠.
TALK ALG는 두 사용자 간의 대화형 통신에 사용되는 시각적 통신 프로그램입니다. TALK 프로토콜은 제어 채널 연결을 위해 UDP 포트 517 및 포트 518을 사용합니다. 토크 프로그램은 서버와 클라이언트로 구성됩니다. 서버는 클라이언트 알림을 처리하고 대화 세션을 설정하는 데 도움이 됩니다. 두 가지 유형의 토크 서버가 있습니다. 즉, ntalk와 Talkd입니다. TALK ALG는 ntalk 및 talkd 형식 모두의 패킷을 처리합니다. 또한 필요에 따라 NAT 및 게이트 개방을 수행합니다.
TALK ALG 이해하기
TALK ALG는 두 사용자 간의 대화형 통신에 사용되는 시각적 통신 프로그램입니다. TALK ALG는 TALK 패킷을 처리하고, 네트워크 주소 변환(NAT)을 수행하고, 수신기 측에서 두 개의 게이트(TCP 및 UDP)를 엽니다. 하나의 게이트가 다음 LOOKUP 패킷에 사용됩니다. 다른 게이트는 클라이언트에서 서버로 연결하고 주니퍼 네트웍스 디바이스의 반대편에 있는 클라이언트와 서버 간의 통신을 시작하는 데 사용됩니다.
두 가지 유형의 TALK 서버가 있습니다.
TALK ALG는 ntalk와 talkd 패킷을 모두 처리합니다. TALK ALG는 포트 UDP517 및 포트 UDP518을 사용하여 클라이언트와 서버 간의 연결을 설정합니다.
예: TALK ALG 구성
이 예는 경로 또는 NAT 모드에서 TALK ALG를 구성하고, TALK 트래픽이 디바이스를 통과하도록 허용하고, 주니퍼 네트웍스 디바이스의 반대편에 있는 클라이언트와 서버 간의 통신을 시작하는 방법을 보여줍니다.
요구 사항
이 예는 다음과 같은 하드웨어 및 소프트웨어 구성 요소를 사용합니다.
SRX 시리즈 디바이스
두 개의 PC(클라이언트 및 서버)
시작하기 전에 다음을 수행합니다.
ALG의 개념을 이해합니다. ALG 개요를 참조하십시오.
TALK ALG의 기본 사항을 이해합니다. TALK ALG 이해를 참조하십시오.
개요
이 예에서 먼저 디바이스에서 네트워크 인터페이스를 구성하고, 보안 영역을 생성하고, 영역에 인터페이스를 할당하고, TALK 트래픽이 SRX 시리즈 디바이스를 통과할 수 있도록 정책을 구성합니다.
그런 다음 대상 주소 40.5.2.120/32와 일치하도록 규칙 r1과 함께 정적 NAT 규칙 세트 rs1을 생성하고 주소 20.5.2.120/32가 있는 정적 NAT 접두사를 생성합니다.
그런 다음 소스 규칙 세트 src-rs1과 함께 소스 NAT 풀 src-p1을 생성하여 영역 신뢰에서 영역 신뢰할 수 없는 패킷으로 패킷을 변환합니다. 패킷을 일치시키면 소스 주소가 src-p1 풀의 IP 주소로 변환됩니다.
그런 다음 대상 규칙 세트 des-rs1을 사용하여 대상 NAT 풀 des-p1을 생성하여 영역 트러스트에서 대상 주소 40.5.2.121/32로 패킷을 변환합니다. 패킷을 일치시키면 대상 주소가 des-p1 풀의 IP 주소로 변환됩니다. 마지막으로 TALK ALG 추적 옵션을 구성합니다.
구성
TALK ALG를 구성하려면 다음 작업을 수행하십시오.
경로 모드 구성
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브러브를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 계층 수준에서 명령을 CLI [edit]
로 복사해 붙여 넣은 다음, 구성 모드에서 을(를) 입력 commit
합니다.
set interfaces ge-0/0/1 unit 0 family inet address 20.5.1.1/24 set interfaces fe-0/0/2 unit 0 family inet address 20.5.2.1/24 set security zones security-zone trust interfaces ge-0/0/1 host-inbound-traffic system-services all set security zones security-zone trust interfaces ge-0/0/1 host-inbound-traffic protocols all set security zones security-zone untrust interfaces fe-0/0/2 host-inbound-traffic system-services all set security zones security-zone untrust interfaces fe-0/0/2 host-inbound-traffic protocols all set security policies from-zone trust to-zone untrust policy talk match source-address any set security policies from-zone trust to-zone untrust policy talk match destination-address any set security policies from-zone trust to-zone untrust policy talk match application junos-ntalk set security policies from-zone trust to-zone untrust policy talk then permit
단계별 절차
다음 예제에서는 구성 계층에서 다양한 수준의 탐색이 필요합니다. 이를 수행하는 방법에 대한 지침은 CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
경로 모드 구성 방법:
인터페이스를 구성합니다.
[edit interfaces] user@host#set ge-0/0/1 unit 0 family inet address 20.5.1.1/24 user@host#set fe-0/0/2 unit 0 family inet address 20.5.2.1/24
영역을 구성하고 영역에 인터페이스를 할당합니다.
[edit security zones security-zone trust] user@host#set interfaces ge-0/0/1 host-inbound-traffic system-services all user@host#set interfaces ge-0/0/1 host-inbound-traffic protocols all [edit security zones security-zone untrust] user@host#set interfaces fe-0/0/2 host-inbound-traffic system-services all user@host#set interfaces fe-0/0/2 host-inbound-traffic protocols all
트러스트 영역에서 신뢰할 수 없는 영역으로 TALK 트래픽을 허용하는 TALK 정책을 구성합니다.
[edit security policies from-zone untrust to-zone trust] user@host#set policy talk match source-address any user@host#set policy talk match destination-address any user@host#set policy talk match application junos-ntalk user@host#set policy talk then permit
결과
구성 모드에서 , show security zones
및 show security policies
명령을 입력하여 구성을 show interfaces
확인합니다. 출력에 의도한 구성이 표시되지 않으면 이 예의 구성 지침을 반복하여 수정합니다.
간결성을 위해 이 show
출력에는 이 예와 관련된 구성만 포함됩니다. 시스템의 다른 구성은 타원(...)으로 대체되었습니다.
[edit] user@host# show interfaces ... ge-0/0/1 { unit 0 { family inet { address 20.5.1.1/24; } } } ... fe-0/0/2 { unit 0 { family inet { address 20.5.2.1/24; } } }
[edit] user@host# show security zones security-zone trust { .... interfaces { ge-0/0/1.0 { host-inbound-traffic { system-services { all; } protocols { all; } } } } } ... security-zone untrust { interfaces { fe-0/0/2.0 { host-inbound-traffic { system-services { all; } protocols { all; } } } } }
[edit] user@host# show security policies from-zone trust to-zone untrust { policy talk { match { source-address any; destination-address any; application junos-ntalk; } then { permit; } } }
디바이스 구성이 완료되면 구성 모드에서 을(를) 입력합니다 commit
.
정적 네트워크 변환(NAT) 규칙 세트 구성
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브러브를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 계층 수준에서 명령을 CLI [edit]
로 복사해 붙여 넣은 다음, 구성 모드에서 을(를) 입력 commit
합니다.
set security nat static rule-set rs1 from zone trust set security nat static rule-set rs1 rule r1 match destination-address 40.5.2.120/32 set security nat static rule-set rs1 rule r1 then static-nat prefix 20.5.2.120/32
단계별 절차
다음 예제에서는 구성 계층에서 다양한 수준의 탐색이 필요합니다. 이를 수행하는 방법에 대한 지침은 CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
정적 NAT 규칙 세트를 구성하려면 다음을 수행합니다.
정적 NAT 규칙 세트를 생성합니다.
[edit security nat static rule-set rs1] user@host#set from zone trust
대상 주소와 일치하는 규칙을 정의합니다.
[edit security nat static rule-set rs1] user@host# set rule r1 match destination-address 40.5.2.120/32
디바이스에 대한 정적 NAT 접두사 를 정의합니다.
[edit security nat static rule-set rs1] user@host# set rule r1 then static-nat prefix 20.5.2.120/32
결과
구성 모드에서 명령을 입력하여 구성을 확인합니다 show security nat
. 출력에 의도한 구성이 표시되지 않으면 이 예의 구성 지침을 반복하여 수정합니다.
[edit] user@host# show security nat static { rule-set rs1 { from zone trust; rule r1 { match { destination-address 40.5.2.120/32 } then { static-nat { prefix { 20.5.2.120/32; } } } } } }
디바이스 구성이 완료되면 구성 모드에서 을(를) 입력합니다 commit
.
소스 NAT 풀 및 규칙 세트 구성
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브러브를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 계층 수준에서 명령을 CLI [edit]
로 복사해 붙여 넣은 다음, 구성 모드에서 을(를) 입력 commit
합니다.
set security nat source pool src-p1 address 40.5.1.120/32 set security nat source rule-set src-rs1 from zone trust set security nat source rule-set src-rs1 to zone untrust set security nat source rule-set src-rs1 rule src-r1 match source-address 20.5.1.120/32 set security nat source rule-set src-rs1 rule src-r1 match destination-address 20.5.2.120/32 set security nat source rule-set src-rs1 rule src-r1 then source-nat pool src-p1
단계별 절차
다음 예제에서는 구성 계층에서 다양한 수준의 탐색이 필요합니다. 이를 수행하는 방법에 대한 지침은 CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
소스 NAT 풀 및 규칙 세트를 구성하려면 다음을 수행합니다.
소스 NAT 풀을 생성합니다.
[edit security nat source] user@host#set pool src-p1 address 40.5.1.120/32
소스 NAT 규칙 집합을 생성합니다.
[edit security nat source] user@host# set rule-set src-rs1 from zone trust user@host# set rule-set src-rs1 to zone untrust
패킷과 일치하는 규칙을 구성하고 소스 주소를 소스 풀의 주소로 변환합니다.
[edit security nat source] user@host# set rule-set src-rs1 rule src-r1 match source-address 20.5.1.120/32
패킷과 일치하는 규칙을 구성하고 대상 주소를 소스 풀의 주소로 변환합니다.
[edit security nat source] user@host# set rule-set src-rs1 rule src-r1 match destination-address 20.5.2.120/32
규칙에서 소스 NAT 풀을 구성합니다.
[edit security nat source] user@host# set rule-set src-rs1 rule src-r1 then source-nat pool src-p1
결과
구성 모드에서 명령을 입력하여 구성을 확인합니다 show security nat
. 출력에 의도한 구성이 표시되지 않으면 이 예의 구성 지침을 반복하여 수정합니다.
[edit] user@host# show security nat source { pool src-p1 { address { 40.5.1.120/32; } } rule-set src-rs1 { from zone trust; to zone untrust; rule src-r1 { match { source-address 20.5.1.120/32; destination-address 20.5.2.120/32; } then { source-nat { pool { src-p1; } } } } } }
디바이스 구성이 완료되면 구성 모드에서 을(를) 입력합니다 commit
.
대상 NAT 풀 및 규칙 세트 구성
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브러브를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 계층 수준에서 명령을 CLI [edit]
로 복사해 붙여 넣은 다음, 구성 모드에서 을(를) 입력 commit
합니다.
set security nat destination pool des-p1 address 20.5.2.120/32 set security nat destination rule-set des-rs1 from zone trust set security nat destination rule-set des-rs1 rule des-r1 match source-address 20.5.1.120/32 set security nat destination rule-set des-rs1 rule des-r1 match destination-address 40.5.2.120/32 set security nat destination rule-set des-rs1 rule des-r1 then destination-nat pool des-p1
단계별 절차
다음 예제에서는 구성 계층에서 다양한 수준의 탐색이 필요합니다. 이를 수행하는 방법에 대한 지침은 CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
대상 NAT 풀 및 규칙 세트를 구성하려면 다음을 수행합니다.
대상 NAT 풀을 생성합니다.
[edit security nat destination] user@host#set pool des-p1 address 20.5.2.120/32
대상 NAT 규칙 집합을 생성합니다.
[edit security nat destination] user@host# set rule-set des-rs1 from zone trust
패킷과 일치하는 규칙을 구성하고 소스 주소를 풀의 주소로 변환합니다.
[edit security nat destination] user@host# set rule-set des-rs1 rule des-r1 match source-address 20.5.1.120/32
패킷과 일치하는 규칙을 구성하고 대상 주소를 풀의 주소로 변환합니다.
[edit security nat destination] user@host# set rule-set des-rs1 rule des-r1 match destination-address 40.5.2.120/32
규칙에서 소스 NAT 풀을 구성합니다.
[edit security nat destination] user@host# set rule-set des-rs1 rule des-r1 then destination-nat pool des-p1
결과
구성 모드에서 명령을 입력하여 구성을 확인합니다 show security nat
. 출력에 의도한 구성이 표시되지 않으면 이 예의 구성 지침을 반복하여 수정합니다.
[edit] user@host# show security nat destination { pool des-p1 { address { 20.5.2.120/32; } } rule-set des-rs1 { from zone trust; rule des-r1 { match { source-address 20.5.1.120/32; destination-address 40.5.2.120/32; } then { destination-nat { pool { des-p1; } } } } }
디바이스 구성이 완료되면 구성 모드에서 을(를) 입력합니다 commit
.
TALK ALG 추적 옵션 구성
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브러브를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 계층 수준에서 명령을 CLI [edit]
로 복사해 붙여 넣은 다음, 구성 모드에서 을(를) 입력 commit
합니다.
set security alg talk traceoptions flag all set security alg traceoptions file trace set security alg traceoptions file size 1g set security alg traceoptions level verbose
단계별 절차
다음 예제에서는 구성 계층에서 다양한 수준의 탐색이 필요합니다. 이를 수행하는 방법에 대한 지침은 CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
TALK ALG 추적 옵션을 구성하려면 다음을 수행합니다.
TALK ALG 추적 오피언을 활성화합니다.
[edit security alg] user@host#set talk traceoptions flag all
추적 작업에서 출력을 수신하도록 파일 이름을 구성합니다.
[edit security alg] user@host#set traceoptions file trace
최대 추적 파일 크기를 지정합니다.
[edit security alg] user@host#set traceoptions file size 1g
추적 출력 수준을 지정합니다.
[edit security alg] user@host#set traceoptions level verbose
결과
구성 모드에서 명령을 입력하여 구성을 확인합니다 show security alg
. 출력에 의도한 구성이 표시되지 않으면 이 예의 구성 지침을 반복하여 수정합니다.
[edit] user@host# show security alg traceoptions { file trace size 1g; level verbose; } talk traceoptions flag all;
디바이스 구성이 완료되면 구성 모드에서 을(를) 입력합니다 commit
.
확인
구성이 제대로 작동하는지 확인합니다.
TALK ALG 제어 세션 확인
목적
TALK 제어 세션이 생성되고 모든 TALK 제어 및 데이터 세션이 생성되었는지 확인합니다.
작업
운영 모드에서 명령을 입력합니다 show security flow session
.
user@host>show security flow session ession ID: 128570, Policy name: p11/4, Timeout: 56, Valid Resource information : TALK ALG, 2, 0 In: 5.1.1.200/1105 --> 6.1.1.200/518;udp, If: ge-0/0/1.0, Pkts: 3, Bytes: 336 Out: 6.1.1.200/518 --> 5.1.1.200/1105;udp, If: ge-0/0/2.0, Pkts: 3, Bytes: 156 Session ID: 128617, Policy name: p11/4, Timeout: 1796, Valid Resource information : TALK ALG, 2, 2 In: 6.1.1.200/42224 --> 5.1.1.200/518;udp, If: ge-0/0/2.0, Pkts: 1, Bytes: 112 Out: 5.1.1.200/518 --> 6.1.1.200/42224;udp, If: ge-0/0/1.0, Pkts: 1, Bytes: 52 Session ID: 128618, Policy name: p11/4, Timeout: 1796, Valid Resource information : TALK ALG, 2, 3 In: 6.1.1.200/51430 --> 5.1.1.200/32905;tcp, If: ge-0/0/2.0, Pkts: 4, Bytes: 219 Out: 5.1.1.200/32905 --> 6.1.1.200/51430;tcp, If: ge-0/0/1.0, Pkts: 3, Bytes: 167
의미
Session ID—세션을 식별하는 번호입니다. 이 ID를 사용하여 정책 이름 또는 패킷 수와 같은 세션에 대한 자세한 정보를 얻을 수 있습니다.
Policy name-트래픽을 허용한 정책 이름.
In-수신 플로우(해당 소스 및 대상 포트 번호가 있는 소스 및 대상 IP 주소, 세션은 TCP이며, 이 세션의 소스 인터페이스는 ge-0/0/1.0)입니다.
Out-역 플로우(해당 소스 및 대상 포트 번호가 있는 소스 및 대상 IP 주소, 세션은 TCP, 이 세션의 대상 인터페이스는 fe-0/0/2.0)입니다.
TALK 플로우 게이트 정보 확인
목적
TCP 데이터 채널에 대한 문이 열려 있는지 확인하고 UDP 응답을 역방향으로 합니다.
작업
운영 모드에서 명령을 입력합니다 show security flow gate
.
user@host>show security flow gate Hole: 6.1.1.200-6.1.1.200/0-0->5.1.1.200-5.1.1.200/518-518 Translated: 0.0.0.0/0->0.0.0.0/0 Protocol: udp Application: TALK ALG/65 Age: 110 seconds Flags: 0x0080 Zone: untrust Reference count: 1 Resource: 11-2-2 Hole: 6.1.1.200-6.1.1.200/0-0->5.1.1.200-5.1.1.200/32905-32905 Translated: 0.0.0.0/0->0.0.0.0/0 Protocol: tcp Application: TALK ALG/65 Age: 110 seconds Flags: 0x0080 Zone: untrust Reference count: 1 Resource: 11-2-3
의미
Hole—핀홀에서 허용되는 플로우 범위.
Translated-핀홀(소스 및 대상 IP 주소와 해당 소스 및 대상 포트 번호와 일치할 경우 세션을 생성하는 데 사용되는 Tuples)
Protocol—UDP 또는 TCP와 같은 애플리케이션 프로토콜.
Application-애플리케이션 이름.
Age—핀홀에 대한 유휴 시간 제한.
Flags— 핀홀에 대한 내부 디버그 플래그.
Zone—존(zone) 및 존(zone)과 같은 보안 영역.
Reference count—핀홀에 대한 리소스 관리자 참조 수.
Resource— 핀홀에 대한 리소스 관리자 정보.
TALK ALG 확인
목적
TALK ALG가 활성화되어 있는지 확인합니다.
작업
운영 모드에서 명령을 입력합니다 show security alg status
.
user@host>show security alg status ALG Status : PPTP : Enabled RSH : Disabled RTSP : Enabled SCCP : Enabled SIP : Enabled TALK : Enabled TFTP : Enabled IKE-ESP : Disabled
의미
출력은 다음과 같이 TALK ALG 상태를 보여줍니다.
활성화 - TALK ALG가 활성화되어 있는 것을 보여줍니다.
비활성화 - TALK ALG가 비활성화되어 있는 것을 보여줍니다.
TALK 리소스 관리자 그룹 확인
목적
TALK ALG에서 사용하는 총 리소스 관리자 그룹 및 활성 그룹의 수를 확인합니다.
작업
운영 모드에서 명령을 입력합니다 show security resource-manager group active
.
user@host>show security resource-manager group active Group ID 2: Application - TALK ALG Total groups 3276, active groups 1
TALK 리소스 정보 확인
목적
TALK ALG에서 사용하는 총 리소스 및 활성 리소스 수를 확인합니다.
작업
운영 모드에서 명령을 입력합니다 show security resource-manager resource active
.
user@host>show security resource-manager resource active Resource ID 3: Group ID - 2, Application - TALK ALG Resource ID 2: Group ID - 2, Application - TALK ALG Total Resources 6015, active resources 2