ASA 네트워크주소변환컨피그레이션트러블슈팅 목차 소개 ASA 에서 NAT 컨피그레이션트러블슈팅 ASA 컨피그레이션을사용하여 NAT 정책테이블작성방법 NAT 문제를해결하는방법패킷추적기유틸리티사용 show nat 명령의출력보기 NAT 문제해결방법론 NAT 컨피그레이션의일반적인문제문제 / 장애 :NAT RPF(Reverse Path Failure) 오류로인해트래픽이실패합니다. 오류 : 전달및역방향플로우에대해일치하는비대칭 NAT 규칙문제 / 장애 : 수동 NAT 규칙이순서가잘못되어잘못된패킷일치를발생시킵니다. 문제 / 장애 :NAT 규칙이너무광범위하며실수로일부트래픽을매칭합니다. 문제 / 장애 :NAT 규칙은트래픽을잘못된인터페이스로전환합니다. 문제 / 장애 :NAT 규칙은매핑된인터페이스의트래픽에대해 ASA 에서 ARP(Proxy Address Resolution Protocol) 로이동합니다. 관련정보 소개 이문서에서는 Cisco ASA(Adaptive Security Appliance) 플랫폼에서 NAT(Network Address Translation) 컨피그레이션의문제를해결하는방법에대해설명합니다. 이문서는 ASA 버전 8.3 이상에유효합니다. 참고 : 기본 NAT 컨피그레이션을보여주는비디오를포함하는 NAT 컨피그레이션의몇가지기본예는이문서하단의관련정보섹션을참조하십시오. ASA 에서 NAT 컨피그레이션트러블슈팅 NAT 컨피그레이션을트러블슈팅할때 ASA 의 NAT 컨피그레이션이 NAT 정책테이블을구축하는데사용되는방법을이해하는것이중요합니다. 이러한컨피그레이션오류는 ASA 관리자가발생한대부분의 NAT 문제를해결합니다. NAT 컨피그레이션규칙이잘못되었습니다. 예를들어, 수동 NAT 규칙은 NAT 테이블의맨위에배치되며, 이로인해 NAT 테이블아래로더구체적인규칙이더멀리배치되지않습니다.
NAT 컨피그레이션에사용되는네트워크객체는너무광범위하여트래픽이실수로이러한 NAT 규칙과일치하고더구체적인 NAT 규칙을누락시킵니다. 패킷추적기유틸리티를사용하여 ASA에서대부분의 NAT 관련문제를진단할수있습니다.NAT 컨피그레이션을사용하여 NAT 정책테이블을구축하는방법및특정 NAT 문제를트러블슈팅및해결하는방법에대한자세한내용은다음섹션을참조하십시오. 또한 show nat detail 명령을사용하여어떤 NAT 규칙이새연결에의해적중되는지파악할수있습니다. ASA 컨피그레이션을사용하여 NAT 정책테이블작성방법 ASA 에서처리하는모든패킷은 NAT 테이블에대해평가됩니다. 이평가는상단 ( 섹션 1) 에서시작하며 NAT 규칙이일치할때까지작동이중지됩니다.NAT 규칙이일치하면해당 NAT 규칙이연결에적용되고더이상패킷에대해 NAT 정책이검사되지않습니다. ASA 의 NAT 정책은 NAT 컨피그레이션에서구축됩니다. ASA NAT 테이블의세섹션은다음과같습니다. 섹션 1 섹션 2 섹션 3 수동 NAT 정책이러한항목은구성에표시되는순서대로처리됩니다. 자동 NAT 정책이는객체의 NAT 유형 ( 고정또는동적 ) 및접두사 ( 서브넷마스크 ) 길이를기반으로처리됩니다. 자동수동 NAT 정책이후이러한항목은구성에표시되는순서대로처리됩니다. 이다이어그램은서로다른 NAT 섹션및이러한섹션을정렬하는방법을보여줍니다. 다음예에서는 NAT 테이블에두개의규칙 ( 하나의수동 NAT 문과하나의자동 NAT 컨피그레이션 ) 이포함된 ASA 의 NAT 컨피그레이션이어떻게표시되는지보여줍니다.
NAT 문제를해결하는방법 패킷추적기유틸리티사용 NAT 컨피그레이션문제를해결하려면패킷이 NAT 정책에도달하는지확인하기위해패킷추적기유틸리티를사용합니다. 패킷추적기를사용하면 ASA 에들어가는샘플패킷을지정할수있으며, ASA 는패킷에어떤컨피그레이션이적용되는지, 허용되는지여부를나타냅니다. 아래예에서는내부인터페이스로들어오고인터넷의호스트로향하는샘플 TCP 패킷이제공됩니다. 패킷추적기유틸리티는패킷이동적 NAT 규칙과일치하며외부 IP 주소 172.16.123.4 로변환되었음을보여줍니다. ASA# packet-tracer input inside tcp 10.10.10.123 12345 209.165.200.123 80...(output omitted)... Phase: 2 Type: NAT Subtype: Result: ALLOW Config: object network 10.10.10.0-net nat (inside,outside) dynamic interface Additional Information: Dynamic translate 10.10.10.123/12345 to 172.16.123.4/12345...(output omitted)... Result: input-interface: inside input-status: up input-line-status: up output-interface: outside output-status: up
output-line-status: up Action: allow ASA# Cisco ASDM(Adaptive Security Device Manager) 에서패킷추적기를활성화하려면 NAT 규칙을선택하고 Packet Trace 를클릭합니다. 이렇게하면 NAT 규칙에지정된 IP 주소가패킷추적기도구의입력으로사용됩니다. show nat 명령의출력보기 show nat detail 명령의출력을사용하여 NAT 정책테이블을볼수있습니다. 특히, ASA 에서사용할 NAT 항목을확인하기위해 translate_hits 및 untranslate_hits 카운터를사용할수있습니다. 새 NAT 규칙에 translate_hits 또는 untranslate_hits 가없는경우, 즉트래픽이 ASA 에도달하지않거나 NAT 테이블에서우선순위가높은다른규칙이트래픽과일치함을의미합니다. 다음은다른 ASA 컨피그레이션의 NAT 컨피그레이션및 NAT 정책테이블입니다.
앞의예에서는이 ASA 에구성된 6 개의 NAT 규칙이있습니다.show nat 출력에서는이러한규칙이 NAT 정책테이블을구축하는데사용되는방법과각규칙에대한 translate_hits 및 untranslate_hits 수를보여줍니다. 이러한히트카운터는연결당한번만증가합니다.ASA 를통해연결이구축되면현재연결과일치하는후속패킷은 NAT 라인을증가시키지않습니다 (ASA 에서액세스목록적중횟수가작동하는방식과마찬가지로 ). Translate_hits: 앞으로방향의 NAT 규칙과일치하는새연결수입니다. " 앞으로방향 " 은연결이 NAT 규칙에지정된인터페이스의방향으로 ASA 를통해구축되었음을의미합니다. 내부서버가외부인터페이스로변환되도록 NAT 규칙이지정된경우 NAT 규칙의인터페이스순서는 "nat (inside, outside)..."; 해당서버가외부의호스트에대한새연결을시작하면 translate_hit 카운터가증가합니다. untranslate_hits: 반대방향의 NAT 규칙과일치하는새연결수입니다. NAT 규칙이내부서버가외부인터페이스로변환되도록지정하는경우 NAT 규칙의인터페이스순서는 "nat (inside, outside)...";asa 외부의클라이언트가내부서버에대한새연결을시작할경우 untranslate_hit 카운터가증가합니다. 다시한번, 새 NAT 규칙에 translate_hits 또는 untranslate_hits 가없는경우, 즉트래픽이 ASA 에도달하지않거나 NAT 테이블에서우선순위가높은다른규칙이트래픽과일치함을의미합니다. NAT 문제해결방법론 샘플패킷이 ASA 의적절한 NAT 컨피그레이션규칙과일치하는지확인하려면패킷추적기를사용
합니다. 어떤 NAT 정책규칙이적중되었는지알아보려면 show nat detail 명령을사용합니다. 연결이예상과다른 NAT 컨피그레이션과일치하는경우다음질문을통해문제를해결하십시오. 트래픽이적중하려는 NAT 규칙보다우선하는다른 NAT 규칙이있습니까? 이트래픽이잘못된규칙과매칭하도록하는너무광범위한 ( 서브넷마스크가너무짧음 ( 예 : 255.0.0.0) 개체정의가있는다른 NAT 규칙이있습니까? 수동 NAT 정책의순서가잘못되어패킷이잘못된규칙과매칭됩니까? NAT 규칙이잘못구성되었으므로규칙이트래픽과일치하지않습니까? 샘플문제및해결방법은다음섹션을참조하십시오. NAT 컨피그레이션의일반적인문제 다음은 ASA 에서 NAT 를구성할때발생하는몇가지일반적인문제입니다. 문제 / 장애 :NAT RPF(Reverse Path Failure) 오류로인해트래픽이실패합니다. 오류 : 전달및역방향플로우에대해일치하는비대칭 NAT 규칙 NAT RPF 확인은 TCP 동기화 (SYN) 와같이 ASA 가정방향방향으로변환한연결이 TCP SYN/ 승인 (ACK) 과같은역방향으로동일한 NAT 규칙으로변환되도록합니다. 가장일반적으로이문제는 NAT 문의로컬 ( 변환되지않음 ) 주소로향하는인바운드연결에의해발생합니다. 기본레벨에서 NAT RPF 는서버에서클라이언트로의역방향연결이동일한 NAT 규칙과일치하는지확인합니다. 그렇지않으면 NAT RPF 확인이실패합니다. 예 :
209.165.200.225 의외부호스트가로컬 ( 변환되지않은 ) IP 주소 10.2.3.2 로직접전송하면 ASA 는패킷을삭제하고이 syslog 를기록합니다. %ASA-5-305013: Asymmetric NAT rules matched for forward and reverse flows; Connection for icmp src outside:209.165.200.225 dst inside:10.2.3.2 (type 8, code 0) denied due to NAT reverse path failure 해결책 : 먼저호스트가올바른글로벌 NAT 주소로데이터를전송하는지확인합니다. 호스트가올바른주소로향하는패킷을전송하는경우연결에서적중하는 NAT 규칙을확인합니다.NAT 규칙이올바르게정의되고 NAT 규칙에서참조하는객체가올바른지확인합니다. 또한 NAT 규칙의순서가적절한지확인합니다. 거부된패킷의세부정보를지정하려면패킷추적기유틸리티를사용합니다. 패킷추적기는 RPF 검사실패로인해삭제된패킷을표시해야합니다. 다음으로, NAT 단계및 NAT-RPF 단계에서어떤 NAT 규칙이적중되었는지확인하기위해패킷추적기의출력을확인합니다. 패킷이 NAT RPF-check 단계에서 NAT 규칙과일치하면, 이는역방향플로우가 NAT 변환에도달할것임을나타내지만, NAT 단계의규칙과일치하지않는경우, 전달흐름이 NAT 규칙에맞지않음을나타냅니다. 이출력은이전다이어그램에표시된시나리오와일치합니다. 여기서외부호스트는서버의로컬 IP 주소로트래픽을잘못전송하고전역 ( 변환된 ) IP 주소는보내지않습니다.
ASA# packet-tracer input outside tcp 209.165.200.225 1234 10.2.3.2 80... Phase: 8 Type: NAT Subtype: rpf-check Result: DROP Config: object network inside-server nat (inside,outside) static 172.18.22.1 Additional Information:... ASA(config)# 패킷이올바른매핑된 IP 주소 172.18.22.1 로향하는경우패킷은 UN-NAT 단계에서정확방향의올바른 NAT 규칙과 NAT RPF 확인단계의동일한규칙을매칭합니다. ASA(config)# packet-tracer input outside tcp 209.165.200.225 1234 172.18.22.1 80... Phase: 2 Type: UN-NAT Subtype: static Result: ALLOW Config: object network inside-server nat (inside,outside) static 172.18.22.1 Additional Information: NAT divert to egress interface inside Untranslate 172.18.22.1/80 to 10.2.3.2/80... Phase: 8 Type: NAT Subtype: rpf-check Result: ALLOW Config: object network inside-server nat (inside,outside) static 172.18.22.1 Additional Information:... ASA(config)# 문제 / 장애 : 수동 NAT 규칙이순서가잘못되어잘못된패킷일치를발생시킵니다. 수동 NAT 규칙은컨피그레이션의모양에따라처리됩니다. 컨피그레이션에서매우광범위한 NAT 규칙이먼저나열되면 NAT 테이블에서더아래쪽의더구체적인또다른규칙을재정의할수있습니다. 트래픽적중 NAT 규칙을확인하려면패킷추적기를사용합니다. 수동 NAT 항목을다른순서로다시정렬해야할수도있습니다. 해결책 : ASDM 을사용하여 NAT 규칙재정렬
해결책 : 규칙을제거하고특정라인번호로다시삽입하면 NAT 규칙을 CLI 로다시주문할수있습니다. 특정라인에새규칙을삽입하려면인터페이스가지정된바로뒤에행번호를입력합니다. 예 : ASA(config)# nat (inside,outside) 1 source static 10.10.10.0-net 10.10.10.0-net destination static 192.168.1.0-net 192.168.1.0-net 문제 / 장애 :NAT 규칙이너무광범위하며실수로일부트래픽을매칭합니다. 너무넓은객체를사용하는 NAT 규칙이생성되는경우도있습니다. 이러한규칙이 NAT 테이블의상단 ( 예 : 섹션 1 상단 ) 에배치되면의도한것보다많은트래픽이일치할수있으며테이블아래의더먼곳에있는 NAT 규칙이적중되지않습니다. 해결책 : 트래픽이너무넓은객체정의와일치하는규칙을일치하는지확인하려면패킷추적기를사용합니다. 이경우해당객체의범위를줄이거나 NAT 테이블아래로또는 NAT 테이블의 after-auto 섹션 ( 섹션 3) 으로규칙을이동해야합니다. 문제 / 장애 :NAT 규칙은트래픽을잘못된인터페이스로전환합니다. 패킷이 ASA 를이그레스 (egress) 할인터페이스를결정할때 NAT 규칙이라우팅테이블보다우선할수있습니다. 인바운드패킷이 NAT 문의변환된 IP 주소와일치하는경우이그레스인터페이스를확인하기위해 NAT 규칙이사용됩니다. NAT 전환확인 ( 라우팅테이블을재정의할수있는것 ) 은인터페이스에도착하는인바운드패킷에대해목적지주소변환을지정하는 NAT 규칙이있는지확인합니다. 해당패킷의목적지 IP 주소를변환하는방법을명시적으로지정하는규칙이없는경우전역라우팅테이블을참조하여이그레스인터페이스를확인합니다. 패킷대상 IP 주소를변환하는방법을명시적으로지정하는규칙이있는경우 NAT 규칙은변환을통해패킷을다른인터페이스로 "pull" 하고전역라우팅테이블은효과적
으로우회됩니다. 이문제는대개인바운드트래픽에대해나타나며, 이는외부인터페이스에도착하며, 대개트래픽을의도하지않은인터페이스로전환하는순서가잘못된 NAT 규칙때문입니다. 예 : 솔루션 : 이문제는다음작업중하나로해결할수있습니다. 더구체적인항목이먼저나열되도록 NAT 테이블의순서를조정합니다. NAT 문에비중첩전역 IP 주소범위를사용합니다. NAT 규칙이 ID 규칙인경우 (IP 주소가규칙에의해변경되지않음을의미 ) route-lookup 키워드를사용할수있습니다 (NAT 규칙이 ID 규칙이아니므로위의예제에이키워드는적용되지않음 ). route-lookup 키워드는 NAT 규칙과일치할때 ASA가추가검사를수행하도록합니다.ASA의라우팅테이블이패킷을이 NAT 컨피그레이션이패킷을분기하는동일한이그레스인터페이스로전달하는지확인합니다. 라우팅테이블이그레스인터페이스가 NAT 전환인터페이스와일치하지않으면 NAT 규칙이일치하지않으며 ( 규칙이생략됨 ) 패킷이 NAT 테이블아래로계속내려가서이후 NAT 규칙에의해처리됩니다. route-lookup 옵션은 NAT 규칙이 'identity' NAT 규칙인경우에만사용할수있습니다. 즉, IP 주소는규칙에의해변경되지않습니다.NAT 라인의끝에 route-lookup 을추가하거나 ASDM 의 NAT 규칙컨피그레이션에서 Lookup route table to locate egress interface 확인란을선택한경우 NAT 규칙에따라 route-lookup 옵션을활성화할수있습니다. 문제 / 장애 :NAT 규칙은매핑된인터페이스의트래픽에대해 ASA 에서 ARP(Proxy Address Resolution Protocol) 로이동합니다. 전역인터페이스의 NAT 문에서전역 IP 주소범위에대한 ASA 프록시 ARP 입니다.NAT 문에 no-
proxy-arp 키워드를추가하면 NAT 규칙별로이프록시 ARP 기능을비활성화할수있습니다. 이문제는의도한것보다훨씬더큰실수로전역주소서브넷을만든경우에도나타납니다. 해결책 : 가능한경우 no-proxy-arp 키워드를 NAT 라인에추가합니다. 예 : ASA(config)# object network inside-server ASA(config-network-object)# nat (inside,outside) static 172.18.22.1 no-proxy-arp ASA(config-network-object)# end ASA# ASA# show run nat object network inside-server nat (inside,outside) static 172.18.22.1 no-proxy-arp ASA# 또한 ASDM 을사용하여이를수행할수있습니다.NAT 규칙내에서 Disable Proxy ARP on egress interface 확인란을선택합니다. 관련정보 비디오 :DMZ 서버액세스를위한 ASA 포트포워딩 ( 버전 8.3 및 8.4) 기본 ASA NAT 컨피그레이션 :ASA 버전 8.3 이상의 DMZ의웹서버 2부 :Cisco ASA Series Firewall CLI 컨피그레이션가이드, 9.1 기술지원및문서 Cisco Systems