이 문서에서는 아웃바운드 및 인바운드 트래픽이 별도의 Cisco ASA 5500 Series ASA(Adaptive Security Appliances)를 통과하도록 허용하는 TCP 상태 우회 기능을 구성하는 방법에 대해 설명합니다.
이 문서에 설명된 컨피그레이션을 계속하려면 Cisco ASA에 최소 기본 라이센스가 설치되어 있어야 합니다.
이 문서의 정보는 소프트웨어 버전 9.x를 실행하는 Cisco ASA 5500 Series를 기반으로 합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 규칙을 참조하십시오.
이 섹션에서는 TCP 상태 우회 기능 및 관련 지원 정보에 대한 개요를 제공합니다.
기본적으로 ASA를 통과하는 모든 트래픽은 Adaptive Security Algorithm을 통해 검사되며 보안 정책에 따라 통과하거나 삭제됩니다.방화벽 성능을 최대화하기 위해 ASA는 각 패킷의 상태(예: 새 연결인지 또는 설정된 연결인지 확인)를 확인하고 세션 관리 경로(새 연결 동기화(SYN) 패킷), 빠른 경로(설정된 연결) 또는 컨트롤 플레인 경로(고급 검사)에 할당합니다.
빠른 경로의 현재 연결과 일치하는 TCP 패킷은 보안 정책의 모든 측면을 재확인하지 않고 ASA를 통과할 수 있습니다.이 기능은 성능을 극대화합니다.그러나 빠른 경로(SYN 패킷을 사용)에서 세션을 설정하기 위해 사용되는 방법과 빠른 경로(예: TCP 시퀀스 번호)에서 발생하는 검사는 비대칭 라우팅 솔루션의 방해가 될 수 있습니다.연결의 아웃바운드 및 인바운드 흐름은 모두 동일한 ASA를 통과해야 합니다.
예를 들어, 새 연결은 ASA 1로 이동합니다. SYN 패킷은 세션 관리 경로를 통과하며 연결에 대한 항목이 빠른 경로 테이블에 추가됩니다.이 연결의 후속 패킷이 ASA 1을 통과하는 경우, 패킷은 빠른 경로의 항목과 일치하고 통과됩니다.후속 패킷이 ASA 2로 이동하면 세션 관리 경로를 통과하는 SYN 패킷이 없는 경우 연결의 빠른 경로에 항목이 없으며 패킷이 삭제됩니다.
업스트림 라우터에 비대칭 라우팅이 구성되어 있고 두 ASA 간에 트래픽이 대체되는 경우 특정 트래픽에 대해 TCP 상태 우회 기능을 구성할 수 있습니다.TCP 상태 우회 기능은 빠른 경로에서 세션이 설정되는 방식을 변경하고 빠른 경로 검사를 비활성화합니다.이 기능은 UDP 연결을 처리하는 만큼 TCP 트래픽을 처리합니다.지정된 네트워크와 일치하는 비 SYN 패킷이 ASA에 진입하고 빠른 경로 항목이 없는 경우 패킷이 빠른 경로에서 연결을 설정하기 위해 세션 관리 경로를 거칩니다.빠른 경로에서 트래픽은 빠른 경로 검사를 우회합니다.
이 이미지는 아웃바운드 트래픽이 인바운드 트래픽과 다른 ASA를 통과하는 비대칭 라우팅의 예를 제공합니다.
이 섹션에서는 TCP 상태 우회 기능에 대한 지원 정보에 대해 설명합니다.
다음 기능은 TCP 상태 우회 기능을 사용할 때 지원되지 않습니다.
이 섹션에서는 두 가지 시나리오에서 ASA 5500 Series에서 TCP 상태 우회 기능을 구성하는 방법에 대해 설명합니다.
다음은 첫 번째 시나리오에 사용되는 토폴로지입니다.
TCP 상태 우회 기능을 구성하려면 다음 단계를 완료합니다.
ASA(config)#class-map tcp_bypass
ASA(config)#class-map tcp_bypass
ASA(config-cmap)#match access-list tcp_bypass
ASA(config-cmap)#policy-map tcp_bypass_policy
ASA(config-cmap)#policy-map tcp_bypass_policy
ASA(config-pmap)#class tcp_bypass
ASA(config-cmap)#policy-map tcp_bypass_policy
ASA(config-pmap)#class tcp_bypass
ASA(config-pmap-c)#set connection advanced-options tcp-state-bypass
ASA(config-pmap-c)#service-policy tcp_bypass_policy outside
ASA1에서 TCP 상태 우회 기능에 대한 컨피그레이션의 예는 다음과 같습니다.
!--- Configure the access list to specify the TCP traffic
!--- that needs to by-pass inspection to improve the performance.
ASA1(config)#access-list tcp_bypass extended permit tcp 10.1.1.0 255.255.255.0
172.16.1.0 255.255.255.0
!--- Configure the class map and specify the match parameter for the
!--- class map to match the interesting traffic.
ASA1(config)#class-map tcp_bypass
ASA1(config-cmap)#description "TCP traffic that bypasses stateful firewall"
ASA1(config-cmap)#match access-list tcp_bypass
!--- Configure the policy map and specify the class map
!--- inside this policy map for the class map.
ASA1(config-cmap)#policy-map tcp_bypass_policy
ASA1(config-pmap)#class tcp_bypass
!--- Use the set connection advanced-options tcp-state-bypass
!--- command in order to enable TCP state bypass feature.
ASA1(config-pmap-c)#set connection advanced-options tcp-state-bypass
!--- Use the service-policy policymap_name [ global | interface intf ]
!--- command in global configuration mode in order to activate a policy map
!--- globally on all interfaces or on a targeted interface.
ASA1(config-pmap-c)#service-policy tcp_bypass_policy outside
!--- NAT configuration
ASA1(config)#object network obj-10.1.1.0
ASA1(config-network-object)#subnet 10.1.1.0 255.255.255.0
ASA1(config-network-object)#nat(inside,outside) static 192.168.1.0
ASA2에서 TCP 상태 우회 기능에 대한 컨피그레이션의 예는 다음과 같습니다.
!--- Configure the access list to specify the TCP traffic
!--- that needs to by-pass inspection to improve the performance.
ASA2(config)#access-list tcp_bypass extended permit tcp 172.16.1.0 255.255.255.0
10.1.1.0 255.255.255.0
!--- Configure the class map and specify the match parameter for the
!--- class map to match the interesting traffic.
ASA2(config)#class-map tcp_bypass
ASA2(config-cmap)#description "TCP traffic that bypasses stateful firewall"
ASA2(config-cmap)#match access-list tcp_bypass
!--- Configure the policy map and specify the class map
!--- inside this policy map for the class map.
ASA2(config-cmap)#policy-map tcp_bypass_policy
ASA2(config-pmap)#class tcp_bypass
!--- Use the set connection advanced-options tcp-state-bypass
!--- command in order to enable TCP state bypass feature.
ASA2(config-pmap-c)#set connection advanced-options tcp-state-bypass
!--- Use the service-policy policymap_name [ global | interface intf ]
!--- command in global configuration mode in order to activate a policy map
!--- globally on all interfaces or on a targeted interface.
ASA2(config-pmap-c)#service-policy tcp_bypass_policy outside
!--- NAT configuration
ASA2(config)#object network obj-10.1.1.0
ASA2(config-network-object)#subnet 10.1.1.0 255.255.255.0
ASA1(config-network-object)#nat(inside,outside) static 192.168.1.0
이 섹션에서는 트래픽이 동일한 인터페이스(u-turning)에서 ASA로 들어오고 나가는 비대칭 라우팅을 사용하는 시나리오에 대해 ASA에서 TCP 상태 우회 기능을 구성하는 방법에 대해 설명합니다.
이 시나리오에서 사용되는 토폴로지는 다음과 같습니다.
TCP 상태 우회 기능을 구성하려면 다음 단계를 완료합니다.
ASA(config)#access-list tcp_bypass extended permit tcp 192.168.2.0 255.255.255.0
192.168.1.0 255.255.255.0
ASA(config)#class-map tcp_bypass
ASA(config)#class-map tcp_bypass
ASA(config-cmap)#match access-list tcp_bypass
ASA(config-cmap)#policy-map tcp_bypass_policy
ASA(config-cmap)#policy-map tcp_bypass_policy
ASA(config-pmap)#class tcp_bypass
ASA(config-cmap)#policy-map tcp_bypass_policy
ASA(config-pmap)#class tcp_bypass
ASA(config-pmap-c)#set connection advanced-options tcp-state-bypass
ASA(config-pmap-c)#service-policy tcp_bypass_policy inside
ASA(config)#same-security-traffic permit intra-interface
다음은 ASA의 TCP 상태 우회 기능에 대한 컨피그레이션의 예입니다.
!--- Configure the access list to specify the TCP traffic
!--- that needs to bypass inspection to improve the performance.
ASA(config)#access-list tcp_bypass extended permit tcp 192.168.2.0 255.255.255.0
192.168.1.0 255.255.255.0
!--- Configure the class map and specify the match parameter for the
!--- class map to match the interesting traffic.
ASA(config)#class-map tcp_bypass
ASA(config-cmap)#description "TCP traffic that bypasses stateful firewall"
ASA(config-cmap)#match access-list tcp_bypass
!--- Configure the policy map and specify the class map
!--- inside this policy map for the class map.
ASA(config-cmap)#policy-map tcp_bypass_policy
ASA(config-pmap)#class tcp_bypass
!--- Use the set connection advanced-options tcp-state-bypass
!--- command in order to enable TCP state bypass feature.
ASA(config-pmap-c)#set connection advanced-options tcp-state-bypass
!--- Use the service-policy policymap_name [ global | interface intf ]
!--- command in global configuration mode in order to activate a policy map
!--- globally on all interfaces or on a targeted interface.
ASA(config-pmap-c)#service-policy tcp_bypass_policy inside
!--- Permit same security level traffic on the ASA to support U-turning
ASA(config)#same-security-traffic permit intra-interface
다음을 입력합니다. conn 표시 명령을 사용하여 활성 TCP 및 UDP 연결 수와 다양한 유형의 연결에 대한 정보를 볼 수 있습니다.지정된 연결 유형의 연결 상태를 표시하려면 conn 표시 명령(특권 EXEC 모드)
다음은 출력의 예입니다.
ASA(config)show conn
1 in use, 3 most used
TCP tcp 10.1.1.1:49525 tcp 172.16.1.1:21, idle 0:01:10, bytes 230, flags b
이 기능에 대한 특정 문제 해결 정보가 없습니다.일반적인 연결 문제 해결 정보는 다음 문서를 참조하십시오.
TCP 상태 우회 기능이 활성화된 후에도 ASA에서 이 오류 메시지를 표시합니다.
%PIX|ASA-4-313004:Denied ICMP type=icmp_type, from source_address oninterface
interface_name to dest_address:no matching session
상태 기반 ICMP 기능에 의해 추가된 보안 검사 때문에 ASA에서 ICMP(Internet Control Message Protocol) 패킷을 삭제합니다.이러한 메시지는 일반적으로 ASA를 통해 이미 전달된 유효한 에코 요청 없이 ICMP 에코 응답 또는 ASA에 현재 설정된 TCP, UDP 또는 ICMP 세션과 관련이 없는 ICMP 오류 메시지입니다.
이 기능의 비활성화(즉 연결 테이블에서 Type 3에 대한 ICMP 반환 항목 확인)가 불가능하므로 TCP 상태 우회 기능이 활성화된 경우에도 ASA는 이 로그를 표시합니다.그러나 TCP 상태 우회 기능이 올바르게 작동합니다.
다음 메시지가 표시되지 않도록 하려면 다음 명령을 입력합니다.
hostname(config)#no logging message 313004