SCCP ALG
SCCP(Skinny Client Control Protocol)는 상대적으로 컴퓨터 처리가 거의 필요 없는 단순하고 가벼운 프로토콜입니다. SCCP 클라이언트는 TCP/IP를 사용하여 클러스터에서 Call Manager 애플리케이션과 통신합니다.
SCCP ALG 이해
SCCP(Skinny Client Control Protocol)는 호출 시그널링을 위한 Cisco 전용 프로토콜입니다. 스키니는 콜 에이전트 기반 통화 제어 아키텍처를 기반으로합니다. 제어 프로토콜은 잘 알려진 TCP 포트 번호 대상으로 전송되는 TCP 프레임에 인코딩된 바이너리 코드 프레임을 사용하여 RTP 미디어 세션을 설정 및 해체합니다.
SCCP 프로토콜은 다른 호출 제어 프로토콜과 동일한 방식으로, 제어 패킷에 정보를 내장함으로써 미디어 단말 장치 매개 변수, 특히 RTP(Real-Time Transport Protocol) 포트 번호 및 미디어 종료의 IP 주소를 협상합니다. SCCP ALG(Application Layer Gateway)는 이러한 제어 패킷을 구문 분석하고 미디어 및 제어 패킷이 시스템을 통해 전송되는 것을 용이하게 합니다.
또한 SCCP ALG는 통화 속도 제한을 구현하고 중요한 리소스를 과부하 및 DoS(Denial-of-Service) 공격으로부터 보호할 수 있도록 지원합니다.
Junos OS의 SCCP ALG는 다음과 같은 기능을 구현합니다.
SCCP 프로토콜 데이터 단위 검증
내장 IP 주소 및 포트 번호 변환
미디어를 통과하기 위한 방화벽 리소스(핀홀 및 게이트) 할당
유휴 통화 노후화
SCCP ALG 매개변수를 위한 구성 API
카운터, 상태 및 통계 표시를 위한 운영 모드 API
SCCP 아키텍처에서는 콜 매니저(Call Manager)로 알려진 프록시가 대부분의 프로세싱을 수행합니다. 엔드 스테이션이라고도 하는 IP 전화는 SCCP 클라이언트를 실행하고 포트 2000에서 TCP를 통한 기본(그리고 가능한 경우 보조) 콜 매니저에 연결하고 기본 Call Manager에 등록합니다. 그런 다음 이 연결을 사용하여 클라이언트로 오가는 통화를 설정할 수 있습니다.
SCCP ALG는 다음을 지원합니다.
SCCP 클라이언트에서 Call Manager를 통해 다른 SCCP 클라이언트로의 콜 플로우.
원활한 페일오버—기본 장애가 발생한 동안 대기 방화벽으로 진행 중인 모든 통화를 스위치로 전환합니다.
VoIP(Voice-over-IP) 시그널링 페이로드 검사—수신 VoIP 시그널링 패킷의 페이로드를 완벽하게 검사합니다. 이상 패킷 공격은 ALG에 의해 차단됩니다.
SCCP 시그널링 페이로드 검사—수신 SCCP 시그널링 패킷의 페이로드를 완전히 검사합니다. 이상 패킷 공격은 ALG에 의해 차단됩니다.
스테이트풀 프로세싱—해당 VoIP 기반 상태 머신을 호출하여 구문 분석 정보를 처리합니다. 모든 상태 외 또는 트랜잭션 외 패킷이 식별되고 적절하게 처리됩니다.
NAT(Network Address Translation)—필요한 경우 변환된 IP 주소 및 포트 번호로 기존 라우팅 정보 및 네트워크 토폴로지 기반의 페이로드 내 내장 IP 주소 및 포트 정보를 변환합니다.
VoIP 트래픽을 위한 핀홀 생성 및 관리—미디어 또는 시그널링에 사용되는 IP 주소 및 포트 정보를 식별하고 핀홀을 동적으로 열고 닫아 미디어를 안전하게 스트리밍합니다.
이 항목에는 다음 섹션이 포함됩니다.
SCCP 보안
SCCP ALG에는 다음과 같은 보안 기능이 포함되어 있습니다.
TCP에 대한 SCCP 제어 메시지의 Stateful 검사 및 메시지 형식의 검증 및 현재 호출 상태에 대한 메시지 유효성 확인 잘못된 메시지가 삭제되었습니다.
Cisco IP 전화기와 Cisco Call Manager 간의 보안 정책 적용
ALG에서 처리하는 호출 수를 제한하는 속도로 통화 플러딩으로부터 보호합니다.
클러스터된 구축 환경에서 디바이스 장애 발생 시 진행 중인 호출을 포함한 원활한 페일오버
SCCP 구성 요소
SCCP VoIP 아키텍처의 주요 구성 요소는 다음과 같습니다.
SCCP 클라이언트
SCCP 클라이언트는 시그널링과 통화 시 SCCP를 사용하는 엔드 스테이션(End Station)이라고도 하는 IP 전화기에서 실행됩니다. SCCP 클라이언트가 전화를 걸려면 먼저 기본 호출 관리자(그리고 가능한 경우 보조 클라이언트)에 등록해야 합니다. 클라이언트와 Call Manager 간의 연결은 포트 2000에서 TCP를 통해 수행됩니다. 그런 다음 이 연결을 사용하여 클라이언트를 오가는 호출을 설정할 수 있습니다. 미디어 전송은 RTP, UDP 및 IP를 통해 전송됩니다.
통화 관리자
Call Manager는 SCCP 호출 제어 서버 소프트웨어를 구현하고 SCCP VoIP 네트워크에서 모든 장치와 통신을 전반적으로 제어합니다. 여기에는 SCCP 그룹, 숫자 영역, 경로 계획 정의, 모니터링 및 제어 등이 포함됩니다. 네트워크 디바이스의 초기화, 승인 및 등록 제공 주소, 전화 번호 및 번호 형식이 포함된 중복 데이터베이스 제공 호출된 디바이스 또는 에이전트와의 접촉을 시작하여 음성 통신이 흐를 수 있는 논리적 세션을 설정할 수 있습니다.
클러스터
클러스터는 SCCP 클라이언트와 Call Manager의 집합입니다. 클러스터의 Call Manager는 클러스터의 모든 SCCP 클라이언트를 감지합니다. 클러스터에 백업을 위한 호출 관리자가 두 개 이상 있을 수 있습니다. Call Manager 동작은 다음과 같은 클러스터 시나리오마다 다릅니다.
클러스터 내- Call Manager가 각 SCCP 클라이언트를 감지하고, 호출은 동일한 클러스터의 SCCP 클라이언트 간에 수행됩니다.
클러스터 간- 호출 관리자가 통화 설정을 위해 H.323을 사용하여 다른 Call Manager와 통신해야 하는 경우.
승인 제어 및 주소 해결을 위해 게이트키퍼를 사용하여 클러스터 간 호출
또한 Call Manager 동작은 PSTN(Public Switched Telephone Network)의 SCCP 클라이언트와 전화 간의 통화와 H.323을 사용하는 다른 관리 도메인의 SCCP 클라이언트와 전화 간의 통화에 따라 달라집니다.
SCCP 트랜잭션
SCCP 트랜잭션은 SCCP 호출을 진행하기 위해 수행해야 하는 프로세스입니다. SCCP 트랜잭션에는 다음 프로세스가 포함됩니다.
클라이언트 초기화
초기화하기 위해 SCCP 클라이언트는 Call Manager의 IP 주소, 자체 IP 주소 및 IP 게이트웨이 및 DNS 서버에 대한 기타 정보를 결정해야 합니다. 초기화는 로컬 LAN에서 이루어집니다. 클라이언트는 IP 주소, DNS 서버 주소, TFTP 서버 이름 및 주소를 얻기 위해 DHCP(Dynamic Host Control Protocol) 요청을 보냅니다. 클라이언트는 sepmacaddr.cnf라는 구성 파일을 다운로드하기 위해 TFTP 서버 이름을 필요로 합니다. TFTP 이름이 지정되지 않은 경우 클라이언트는 IP 전화의 기본 파일 이름을 사용합니다. 그런 다음 클라이언트는 TFTP 서버에서 .cnf(xml) 구성 파일을 다운로드합니다. CNF 파일에는 기본 및 보조 Cisco Call Manager의 IP 주소 또는 주소가 포함되어 있습니다. 이 정보를 통해 클라이언트는 Call Manager에 연락하여 등록합니다.
클라이언트 등록
SCCP 클라이언트는 초기화 후 잘 알려진 기본 포트 2000에서 TCP 연결을 통해 Call Manager에 등록합니다. 클라이언트는 Call Manager에 IP 주소, 전화의 MAC 주소 및 프로토콜 및 버전과 같은 기타 정보를 제공하여 등록합니다. 클라이언트가 등록될 때까지 전화를 시작하거나 수신할 수 없습니다. Keepalive messages는 클라이언트와 Call Manager 사이에 이 TCP 연결을 열어 두어 장치에 대한 정책이 이를 허용하는 경우 클라이언트가 언제든지 전화를 시작하거나 수신할 수 있도록 합니다.
통화 설정
SCCP를 사용한 IP 전화 통화 설정은 항상 Call Manager에서 처리합니다. 통화 설정에 대한 메시지가 Call Manager로 전송되어 통화 상태에 적합한 메시지를 반환합니다. 통화 설정이 성공하고 장비의 정책이 통화를 허용하는 경우, Call Manager는 미디어 설정 메시지를 클라이언트로 보냅니다.
미디어 설정
Call Manager는 호출 당사자의 IP 주소와 포트 번호를 호출 당사자에게 보냅니다. 또한 Call Manager는 호출 당사자의 미디어 IP 주소와 포트 번호를 호출된 당사자에게 보냅니다. 미디어 설정 후 미디어가 클라이언트 간에 직접 전송됩니다. 통화가 끝나면 Call Manager에 통보를 받으며 미디어 스트림을 종료합니다. 이 프로세스 중에는 Call Manager가 호출 설정 기능을 클라이언트에게 넘겨주지 않습니다. 미디어는 RTP/UDP/IP를 통해 클라이언트 간에 직접 스트리밍됩니다.
SCCP 버전
Junos OS 릴리스 12.1X46-D10 및 Junos OS Release 17.3R1부터 SCCP ALG는 SCCP 버전 16, 17 및 20을 지원하며 여러 SCCP 메시지가 새로운 형식으로 업데이트되었습니다. Cisco CALL Manager(CM) 버전 7은 SCCP 버전 20을 사용합니다.
SCCP 제어 메시지 및 RTP Flow
그림 1 은 전화 1과 전화 2 사이의 간단한 전화를 설정 및 끊는 데 사용되는 SCCP 제어 메시지를 보여줍니다. Phone1에서 통화를 시작하는 OffHook 메시지와 통화 종료 시그널링하는 OnHook 메시지를 제외하고 통화의 모든 측면은 Call Manager에 의해 제어됩니다.
SCCP 메시지
표 1, 표 2, 표 3 및 표 4 에는 디바이스가 허용하는 4개의 간격으로 SCCP 호출 메시지 ID가 나열되어 있습니다.
#define STATION_REGISTER_MESSAGE |
0x00000001 |
#define STATION_IP_PORT_MESSAGE |
0x00000002 |
#define STATION_ALARM_MESSAGE |
0x00000020 |
#define STATION_OPEN_RECEIVE_CHANNEL_ACK |
0x00000022 |
#define STATION_START_MEDIA_TRANSMISSION |
0x00000001 |
#define STATION_STOP_MEDIA_TRANSMISSION |
0x00000002 |
#define STATION_CALL_INFO_MESSAGE |
0x00000020 |
#define STATION_OPEN_RECEIVE_CHANNEL_ACK |
0x00000022 |
#define STATION_CLOSE_RECEIVE_CHANNEL |
0x00000106 |
#define STATION_REGISTER_TOKEN_REQ_MESSAGE |
0x00000029 |
#define STATION_MEDIA_TRANSMISSION_FAILURE |
0x0000002A |
#define STATION_OPEN_MULTIMEDIA_RECEIVE_CHANNEL_ACK |
0x00000031 |
#define STATION_OPEN_MULTIMEDIA_RECEIVE_CHANNEL |
0x00000131 |
#define STATION_START_MULTIMEDIA_TRANSMISSION |
0x00000132 |
#define STATION_STOP_MULTIMEDIA_TRANSMISSION |
0x00000133 |
#define STATION_CLOSE_MULTIMEDIA_RECEIVE_CHANNEL |
0x00000136 |
SCCP ALG 제한 사항
SCCP는 Cisco 전용 프로토콜입니다. 따라서 Cisco가 프로토콜을 변경하면 SCCP ALG 구현이 중단됩니다. 그러나 엄격한 디코딩을 우회하고 프로토콜 변경을 원활하게 처리하기 위한 해결 방법이 제공됩니다.
정책을 변경하면 세션이 삭제되고 이미 설정된 SCCP 호출에 영향을 미칩니다.
SCCP ALG는 트래픽 또는 미디어 비활성 중에 붕괴된 핀홀을 엽니다. 즉, 연결이 일시적으로 손실되는 동안 미디어 세션은 재구축되지 않습니다.
Call Manager(CM) 버전 6.x 이상은 섀시 클러스터 모드에서 TCP 프로브 패킷을 지원하지 않습니다. 따라서 페일오버가 있을 때 기존 SCCP 세션이 중단됩니다. 페일오버 중에도 새 SCCP 세션을 생성할 수 있습니다.
SCCP ALG 비활성 미디어 타임아웃 이해
비활성 미디어 타임아웃 기능은 네트워크 리소스를 보존하고 처리량을 극대화하는 데 도움이 됩니다.
이 매개 변수는 그룹 내 미디어 트래픽 없이 통화가 활성 상태를 유지할 수 있는 최대 시간(초)을 나타냅니다. 실시간 전송 프로토콜(RTP) 또는 RTCP(Real-Time Control Protocol) 패킷이 통화 내에서 발생할 때마다 이 타임아웃은 리셋됩니다. 비활동 기간이 이 설정을 초과하면 미디어를 위해 열린 SCCP(스키니 클라이언트 제어 프로토콜)의 게이트가 폐쇄됩니다. 기본 설정은 120초이며 범위는 10~2550초입니다. 타임아웃이 완료되면 미디어(세션 및 핀홀)에 대한 리소스가 제거되지만 통화가 종료되지 않습니다.
SCCP ALG 구성 개요
SCCP ALG(Skinny Client Control Protocol Application Layer Gateway)는 기본적으로 디바이스에서 활성화되며 이를 활성화하기 위한 어떠한 조치도 필요하지 않습니다. 하지만 다음과 같은 지침을 사용하여 SCCP ALG 작업을 세부 조정할 수 있습니다.
네트워크 리소스를 보존하고 처리량을 극대화합니다. 지침은 예제: SCCP ALG 비활성 미디어 타임아웃 설정을 참조하십시오.
세션이 NAT(Network Address Translation) 모드 및 Route 모드인 경우 알 수 없는 메시지를 전달합니다. 지침은 예제: 알 수 없는 SCCP ALG 메시지 유형 허용을 참조하십시오.
DoS(Denial-of-Service) 플러드 공격으로부터 SCCP 클라이언트를 보호합니다. 지침은 예제: SCCP ALG DoS 공격 보호 구성을 참조하십시오.
예: SCCP ALG 비활성 미디어 타임아웃 설정
이 예에서는 SCCP ALG에 대한 비활성 미디어 타임아웃 값을 설정하는 방법을 보여줍니다.
요구 사항
시작하기 전에 그룹 내의 미디어 트래픽 없이 통화가 활성 상태를 유지할 수 있는 최대 시간(초)을 나타내는 데 사용되는 매개 변수를 검토합니다. SCCP ALG 비활성 미디어 타임아웃에 대한 이해를 참조하십시오.
개요
통화 중 RTP 또는 RTCP 패킷이 발생할 때마다 이 타임아웃은 리셋됩니다. 비활성 기간이 이 설정을 초과하는 경우 미디어를 위해 열린 SCCP의 게이트가 닫힙니다. 이 예에서는 미디어 비활성 타임아웃을 90초로 설정합니다.
구성
절차
GUI 빠른 구성
단계별 절차
SCCP ALG에 대한 비활성 미디어 타임아웃을 설정하려면 다음을 수행합니다.
Configure>Security>ALG를 선택합니다.
SCCP 탭을 선택합니다.
비활성화된 미디어 타임아웃 상자에 을 입력합니다
90
.OK를 클릭하여 구성을 확인하고 후보 구성으로 저장합니다.
디바이스 구성을 완료한 경우 Commit Options>Commit을 클릭합니다.
단계별 절차
SCCP ALG에 대한 비활성 미디어 타임아웃을 설정하려면 다음을 수행합니다.
SCCP ALG 비활성 미디어 타임아웃 값을 구성합니다.
[edit] user@host# set security alg sccp inactive-media-timeout 90
디바이스 구성을 완료한 경우 구성을 커밋합니다.
[edit] user@host# commit
확인
구성이 제대로 작동하는지 확인하려면 명령을 입력합니다 show security alg sccp
.
예: 알 수 없는 SCCP ALG 메시지 유형 허용
이 예에서는 NAT 모드와 Route 모드 모두에서 알 수 없는 SCCP 메시지 유형을 허용하도록 SCCP ALG를 구성하는 방법을 보여줍니다.
요구 사항
시작하기 전에 디바이스에 대한 새로운 SCCP 메시지 유형을 수용할지 여부를 결정합니다.
개요
SCCP(Skinny Client Control Protocol)의 지속적인 개발을 수용하기 위해 새로운 SCCP 메시지 유형이 포함된 트래픽을 허용할 수 있습니다. 알 수 없는 SCCP 메시지 유형 기능을 사용하면 NAT(Network Address Translation) 모드와 Route 모드 모두에서 알 수 없는 메시지 유형을 포함하는 SCCP 트래픽을 수용하도록 디바이스를 구성할 수 있습니다.
기본값은 알려지지 않은(지원되지 않는) 메시지를 삭제하는 것입니다. 보안을 손상시킬 수 있기 때문에 알 수 없는 메시지를 허용하는 것은 권장하지 않습니다. 그러나 보안 테스트 또는 프로덕션 환경에서 알 수 없는 SCCP 메시지 유형 명령은 서로 다른 벤더 장비와의 상호 운영성 문제를 해결하는 데 유용합니다. 알 수 없는 SCCP 메시지를 허용하면 네트워크 운영에 도움이 되므로 나중에 VoIP(Voice-over-IP) 트래픽을 분석하여 일부 메시지가 삭제된 이유를 파악할 수 있습니다.
알 수 없는 SCCP 메시지 유형 명령은 지원되는 VoIP 패킷으로 식별된 수신 패킷에만 적용됩니다. 패킷을 식별할 수 없는 경우 항상 삭제됩니다. 패킷이 지원되는 프로토콜로 식별되고 알 수 없는 메시지 유형을 허용하도록 디바이스를 구성한 경우 해당 메시지는 처리하지 않고 전송됩니다.
구성
절차
GUI 빠른 구성
단계별 절차
알 수 없는 메시지 유형을 허용하도록 SCCP ALG를 구성하려면 다음을 수행합니다.
Configure>Security>ALG를 선택합니다.
SCCP 탭을 선택합니다.
Enable Permit NAT 적용 확인란을 선택합니다.
Enable Permit 라우팅 확인란을 선택합니다.
OK를 클릭하여 구성을 확인하고 후보 구성으로 저장합니다.
디바이스 구성을 완료한 경우 Commit Options>Commit을 클릭합니다.
단계별 절차
알 수 없는 메시지 유형을 허용하도록 SCCP ALG를 구성하려면 다음을 수행합니다.
세션이 NAT 모드 또는 Route 모드인 경우 알 수 없는 메시지 유형을 전달하도록 허용합니다.
[edit] user@host# set security alg sccp application-screen unknown-message permit-nat-applied permit-routed
디바이스 구성을 완료한 경우 구성을 커밋합니다.
[edit] user@host# commit
확인
구성이 제대로 작동하는지 확인하려면 명령을 입력합니다 show security alg sccp
.
예: SCCP ALG DoS 공격 방어 구성
이 예에서는 SCCP ALG에 대한 연결 플러드 보호를 구성하는 방법을 보여줍니다.
요구 사항
시작하기 전에 DoS 플러드 공격으로부터 SCCP 미디어 게이트웨이를 보호할지 여부를 결정합니다.
개요
SCCP ALG(Skinny Client Control Protocol Application Layer Gateway) 클라이언트를 DoS(Denial-of-Service) 플러드 공격으로부터 보호할 수 있습니다.
SCCP 호출 플러드 보호를 구성하면 SCCP ALG는 사용자가 설정한 임계값을 초과하는 모든 호출을 드롭합니다. 범위는 클라이언트당 초당 2~1000건의 호출이며, 기본값은 20입니다.
이 예에서 디바이스는 클라이언트당 초당 500회를 초과하는 모든 호출을 삭제하도록 구성됩니다.
구성
절차
GUI 빠른 구성
단계별 절차
SCCP ALG에 대한 호출 플러드 보호를 구성하려면 다음을 수행합니다.
Configure>Security>ALG를 선택합니다.
SCCP 탭을 선택합니다.
Call flood 임계값 상자에 을 입력합니다
500
.OK를 클릭하여 구성을 확인하고 후보 구성으로 저장합니다.
디바이스 구성을 완료한 경우 Commit Options>Commit을 클릭합니다.
단계별 절차
SCCP ALG에 대한 호출 플러드 보호를 구성하려면 다음을 수행합니다.
DoS 공격 차단 구성:
[edit] user@host# set security alg sccp application-screen call-flood threshold 500
디바이스 구성을 완료한 경우 구성을 커밋합니다.
[edit] user@host# commit
확인
구성이 제대로 작동하는지 확인하려면 명령을 입력합니다 show security alg sccp
.
예: 전용 존에서 SCCP ALG 콜 매니저 또는 TFTP 서버 구성
이 예에서는 공용 존의 발신자가 SCCP ALG Call Manager 또는 전용 존에 있는 TFTP 서버에 등록할 수 있도록 주니퍼 네트웍스 장치의 나가는 인터페이스에서 정적 NAT를 구성하는 방법을 보여줍니다.
요구 사항
시작하기 전에 SCCP ALG를 통한 NAT 지원에 대해 알아보십시오. SCCP ALG 이해하기를 참조하십시오.
개요
이 예( 그림 2 참조)에서는 단일 디바이스가 Call Manager 또는 TFTP 서버의 역할을 합니다. Call Manager 또는 TFTP 서버 및 전화1은 전용 존에 연결되고, phone2는 공용 존에 연결됩니다. Call Manager 또는 TFTP 서버에 대한 정적 NAT 규칙을 구성하여 Phone2가 부팅되면 TFTP 서버에 연락하고 Call Manager의 IP 주소를 얻습니다. 그런 다음 공용에서 프라이빗 존으로 SCCP 트래픽을 허용하는 인폴(in-pol)이라는 정책을 생성하고, 전화1을 허용하도록 아웃폴(out-pol)이라는 정책을 만듭니다.
TFTP 서버 구성 파일()sep <mac_addr>.cnf
에 있는 Call Manager의 IP 주소를 Call Manager의 NAT IP 주소로 변경하는 것이 좋습니다.
토폴로지
그림 2 는 프라이빗 존에 있는 통화 관리자 또는 TFTP 서버를 보여줍니다.
이 예에서는 다음과 같이 NAT를 구성합니다.
-
공용 존의 패킷을 대상 주소 172.16.1.2/32와 일치시키기 위해 Phone2라는 규칙을 사용하여 프록시로 불리는 정적 NAT 규칙을 만듭니다. 패킷 매칭을 위해 대상 IP 주소는 전용 주소 10.1.1.4/32로 변환됩니다.
-
인터페이스 ge-0/0/1.0에서 주소 172.16.1.2/32에 프록시 ARP를 구성합니다. 이를 통해 시스템은 이러한 주소에 대한 인터페이스에서 수신된 ARP 요청에 응답할 수 있습니다.
-
phone1에서 phone2로의 통신을 위한 인터페이스 NAT를 활성화하기 위해 Phone1이라는 규칙을 사용하여 전화기라는 두 번째 규칙 집합을 구성합니다.
구성
절차
CLI 빠른 구성
예제의 이 섹션을 신속하게 구성하려면 다음 명령을 복사하여 텍스트 파일에 붙여넣고, 줄 바꿈을 제거하고, 네트워크 구성에 필요한 세부 정보를 변경하고, 명령을 계층 수준에서 CLI [edit]
에 복사하여 붙여넣은 다음 구성 모드에서 입력 commit
합니다.
set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.1/24 set interfaces ge-0/0/1 unit 0 family inet address 172.16.1.1/24 set security zones security-zone private interfaces ge-0/0/0.0 set security zones security-zone public interfaces ge-0/0/1.0 set security address-book book1 address phone1 10.1.1.3/32 set security address-book book1 address cm-tftp_server 10.1.1.4/32 set security address-book book1 attach zone private set security address-book book2 address phone2 172.16.1.4/32 set security address-book book2 attach zone public set security nat source rule-set phones from zone private set security nat source rule-set phones to zone public set security nat source rule-set phones rule phone1 match source-address 10.1.1.3/32 set security nat source rule-set phones rule phone1 then source-nat interface set security nat static rule-set to-proxy from zone public set security nat static rule-set to-proxy rule phone2 match destination-address 172.16.1.2/32 set security nat static rule-set to-proxy rule phone2 then static-nat prefix 10.1.1.4/32 set security nat proxy-arp interface ge-0/0/1.0 address 172.16.1.2/32 set security policies from-zone public to-zone private policy in-pol match source-address phone2 set security policies from-zone public to-zone private policy in-pol match destination-address cm-tftp_server set security policies from-zone public to-zone private policy in-pol match destination-address phone1 set security policies from-zone public to-zone private policy in-pol match application junos-sccp set security policies from-zone public to-zone private policy in-pol then permit set security policies from-zone private to-zone public policy out-pol match source-address any set security policies from-zone private to-zone public policy out-pol match destination-address phone2 set security policies from-zone private to-zone public policy out-pol match application junos-sccp set security policies from-zone private to-zone public policy out-pol then permit set security policies from-zone private to-zone private policy tftp-pol match source-address any set security policies from-zone private to-zone private policy tftp-pol match destination-address any set security policies from-zone private to-zone private policy tftp-pol match application junos-tftp set security policies from-zone private to-zone private policy tftp-pol then permit
단계별 절차
다음 예제에서는 구성 계층에서 다양한 레벨을 탐색해야 합니다. 그 방법에 대한 지침은 CLI 사용자 가이드의 Configuration 모드에서 CLI Editor를 사용하는 것을 참조하십시오.
SCCP ALG Call Manager 또는 전용 존에 있는 TFTP 서버에 NAT를 구성하려면 다음을 수행합니다.
-
인터페이스를 구성합니다.
[edit] user@host# set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.1/24 user@host# set interfaces ge-0/0/1 unit 0 family inet address 172.16.1.1/24
-
보안 존을 생성합니다.
[edit security zones] user@host# set security-zone private interfaces ge-0/0/0.0 user@host# set security-zone public interfaces ge-0/0/1.0
-
주소록을 만들고 존을 첨부합니다.
[edit security address-book book1] user@host# set address phone1 10.1.1.3/32 user@host# set address cm-tftp_server 10.1.1.4/32 user@host# set attach zone private
[edits security address-book book2] user@host# set address phone2 172.16.1.4/32 user@host# set attach zone public
-
정적 NAT에 대한 규칙 집합을 생성하고 규칙을 할당합니다.
[edit security nat static rule-set to-proxy] user@host# set from zone public user@host# set rule phone2 match destination-address 172.16.1.2/32 user@host# set rule phone2 then static-nat prefix 10.1.1.4/32
-
프록시 ARP를 구성합니다.
[edit security nat] user@host# set proxy-arp interface ge-0/0/1.0 address 172.16.1.2/32
-
전화1부터 전화2까지의 통신을 위해 인터페이스 NAT를 구성합니다.
[edit security nat source rule-set phones] user@host# set from zone private user@host# set to zone public user@host# set rule phone1 match source-address 10.1.1.3/32 user@host# set rule phone1 then source-nat interface
-
퍼블릭 존에서 프라이빗 존으로 트래픽을 허용하는 정책을 구성합니다.
[edit security policies from-zone public to-zone private policy in-pol] user@host# set match source-address phone2 user@host# set match destination-address cm-tftp_server user@host# set match destination-address phone1 user@host# set match application junos-sccp user@host# set then permit
-
프라이빗 존에서 퍼블릭 존으로 트래픽을 허용하는 정책을 구성합니다.
[edit security policies from-zone private to-zone public policy out-pol] user@host# set match source-address any user@host# set match destination-address phone2 user@host# set match application junos-sccp user@host# set then permit
-
전화1에서 CM/TFTP 서버로 트래픽을 허용하는 정책을 구성합니다.
[edit security policies from-zone private to-zone private policy tftp-pol] user@host# set match source-address any user@host# set match destination-address any user@host# set match application junos-tftp user@host# set then permit
결과
구성 모드에서 , show security zones
, show security address-book
show security nat
및 show security policies
명령을 입력show interfaces
하여 구성을 확인합니다. 출력이 의도한 구성을 표시하지 않는 경우 이 예제의 구성 지침을 반복하여 수정합니다.
[edit] user@host# show interfaces ge-0/0/0 { unit 0 { family inet { address 10.1.1.1/24; } } } ge-0/0/1 { unit 0 { family inet { address 172.16.1.1/24; } } } [edit] user@host# show security zones security-zone private { interfaces { ge-0/0/0.0; } } security-zone public { interfaces { ge-0/0/1.0; } } [edit] user@host# show security address-book book1 { address phone1 10.1.1.3/32; address cm-tftp_server 10.1.1.4/32; attach { zone private; } } book2 { address phone2 172.16.1.4/32; attach { zone public; } } [edit] user@host# show security nat source { rule-set phones { from zone private; to zone public; rule phone1 { match { source-address 10.1.1.3/32; } then { source-nat { interface; } } } } } static { rule-set to-proxy { from zone public; rule phone2 { match { destination-address 172.16.1.2/32; } then { static-nat prefix 10.1.1.4/32; } } } } proxy-arp { interface ge-0/0/1.0 { address { 172.16.1.2/32; } } } [edit] user@host# show security policies from-zone public to-zone private { policy in-pol { match { source-address phone2; destination-address cm-tftp_server; destination-address phone1; application junos-sccp; } then { permit; } } } from-zone private to-zone public { policy out-pol { match { source-address any; destination-address phone2; application junos-sccp; } then { permit; } } } from-zone private to-zone private { policy tftp-pol { match { source-address any; destination-address any; application junos-tftp; } then { permit; } } }
디바이스 구성을 완료한 경우 구성 모드에서 입력 commit
합니다.
확인
구성이 올바르게 작동하는지 확인하려면 다음 작업을 수행합니다.
소스 NAT 규칙 사용량 검증
목적
소스 NAT 규칙과 일치하는 트래픽이 있는지 확인합니다.
작업
운영 모드에서 명령을 입력합니다 show security nat source rule all
.
user@host> show security nat source rule all
Total rules: 1 Total referenced IPv4/IPv6 ip-prefixes: 3/0 source NAT rule: phone1 Rule-set: phones Rule-Id : 3 Rule position : 2 From zone : private To zone : public Match Source addresses : 10.1.1.3 - 10.1.1.3 Destination port : 0 - 0 Action : interface Persistent NAT type : N/A Persistent NAT mapping type : address-port-mapping Inactivity timeout : 0 Max session number : 0 Translation hits : 0
의미
소스 Translation hits
NAT 규칙과 일치하는 트래픽이 없다는 필드가 표시됩니다.
정적 NAT 구성 검증
목적
정적 NAT 규칙 집합과 일치하는 트래픽이 있는지 확인합니다.
작업
운영 모드에서 명령을 입력합니다 show security nat static rule phone2
.
user@host> show security nat static rule phone2
Static NAT rule: phone2 Rule-set: to-proxy Rule-Id : 1 Rule position : 1 From zone : public Destination addresses : 172.16.1.2 Host addresses : 10.1.1.4 Netmask : 32 Host routing-instance : N/A Translation hits : 0
의미
소스 Translation hits
NAT 규칙 집합과 일치하는 트래픽이 없다는 필드가 표시됩니다.
SCCP ALG 검증
목적
SCCP ALG가 활성화되었는지 확인합니다.
작업
운영 모드에서 명령을 입력합니다 show security alg status | match sccp
.
user@host> show security alg status | match sccp
SCCP : Enabled
의미
출력은 다음과 같이 SCCP ALG 상태를 보여줍니다.
-
활성화—SCCP ALG가 활성화됨을 보여줍니다.
-
비활성화—SCCP ALG가 비활성화됨을 보여줍니다.
SIP ALG의 보안 정책 검증
목적
퍼블릭 존과 프라이빗 존 간의 정적 NAT가 설정되었는지 확인합니다.
작업
운영 모드에서 명령을 입력합니다 show security policies
.
user@host> show security policies
from-zone private to-zone public { policy out-pol { match { source-address any; destination-address phone2; application junos-sccp; } then { permit; } } } from-zone public to-zone private { policy in-pol { match { source-address phone2; destination-address [ cm-tftp_server phone1 ]; application junos-sccp; } then { permit; } } } from-zone private to-zone private { policy tftp-pol { match { source-address any; destination-address any; application junos-tftp; } then { permit; } } }
의미
샘플 출력은 퍼블릭 존과 프라이빗 존 간의 정적 NAT가 설정된 것을 보여줍니다.
SCCP ALG 구성 검증
SCCP ALG 검증
목적
SCCP 검증 옵션을 표시합니다.
작업
CLI에서 명령을 입력합니다 show security alg sccp
.
user@host> show security alg sccp ? Possible completions: calls Show SCCP calls counters Show SCCP counters
의미
출력은 모든 SCCP 검증 매개변수 목록을 보여줍니다. 다음 정보를 확인합니다.
모든 SCCP 통화
모든 SCCP 통화 카운터
자세한 내용은
SCCP ALG 호출 검증
목적
모든 SCCP 통화 목록 표시
작업
CLI에서 명령을 입력합니다 show security alg sccp calls
.
user@host> show security alg sccp calls Possible completions: calls Show SCCP calls counters Show SCCP counters endpoints Show SCCP endpoints
의미
출력은 모든 SCCP 검증 매개변수 목록을 보여줍니다. 다음 정보를 확인합니다.
모든 SCCP 통화
모든 SCCP c alls에 대한 카운터
모든 SCCP 엔드포인트에 대한 정보
SCCP ALG 호출 세부 정보 검증
목적
모든 SCCP 통화에 대한 세부 정보를 표시합니다.
작업
CLI에서 명령을 입력합니다 show security alg sccp calls detail
.
user@host> show security alg sccp calls detail Client IP address: 11.0.102.91 Client zone: 7 Call Manager IP: 13.0.99.226 Conference ID: 16789504 Resource manager group: 2048 SCCP channel information: Media transmit channel address (IP address/Port): 0.0.0.0:0 Media transmit channel translated address (IP address/Port): 0.0.0.0:0 Media transmit channel pass-through party ID (PPID): 0 Media transmit channel resource ID: 0 Media receive channel address (IP address/Port): 11.0.102.91:20060 Media receive channel translated address (IP address/Port): 25.0.0.1:1032 Media receive channel pass-through party ID (PPID): 16934451 Media receive channel resource ID: 8185 Multimedia transmit channel address (IP address/Port): 0.0.0.0:0 Multimedia transmit channel translated address (IP address/Port): 0.0.0.0:0 Multimedia transmit channel pass-through party ID (PPID): 0 Multimedia transmit channel resource ID: 0 Multimedia receive channel address (IP address/Port): 0.0.0.0:0 Multimedia receive channel translated address (IP address/Port): 0.0.0.0:0 Multimedia receive channel pass-through party ID (PPID): 0 Multimedia receive channel resource ID: 0 Total number of calls = 1
의미
출력은 모든 SCCP 검증 매개변수 목록을 보여줍니다. 다음 정보를 확인합니다.
클라이언트 존
전화 관리자 IP 주소: 13.0.99.226
컨퍼런스 ID
리소스 관리자 그룹
SCCP 채널 정보
총 통화 수
SCCP ALG 카운터 검증
목적
모든 SCCP 카운터 목록 표시
작업
J-Web 인터페이스에서 Monitor>ALG>SCCP>Counters를 선택합니다. 또는 CLI에서 명령을 입력합니다 show security alg sccp counters
.
user@host> show security alg sccp ounters SCCP call statistics: Active client sessions : 0 Active calls : 0 Total calls : 0 Packets received : 0 PDUs processed : 0 Current call rate : 0 Error counters: Packets dropped : 0 Decode errors : 0 Protocol errors : 0 Address translation errors : 0 Policy lookup errors : 0 Unknown PDUs : 0 Maximum calls exceeded : 0 Maximum call rate exceeded : 0 Initialization errors : 0 Internal errors : 0 Nonspecific error : 0 No active calls to delete : 0 No active client sessions to delete : 0 Session cookie create errors : 0 Invalid NAT cookie detected : 0
의미
출력은 모든 SCCP 검증 매개변수 목록을 보여줍니다. 다음 정보를 확인합니다.
SCCP 호출 통계
오류 카운터