듀얼내부네트워크용 ASA 구성 목차 소개사전요구사항요구사항사용되는구성요소표기규칙배경정보구성네트워크다이어그램 ASA 9.x 구성내부호스트가 PAT 를사용하여외부네트워크에액세스허용라우터 B 컨피그레이션다음을확인합니다. 연결문제해결 Syslog 패킷추적기캡처관련정보 소개 이문서에서는두내부네트워크를사용하기위해소프트웨어버전 9.x 를실행하는 Cisco ASA(Adaptive Security Appliance) 를구성하는방법에대해설명합니다. 사전요구사항 요구사항 이문서에대한특정요건이없습니다. 사용되는구성요소 이문서의정보는소프트웨어버전 9.x 를실행하는 Cisco ASA 를기반으로합니다. 이문서의정보는특정랩환경의디바이스를토대로작성되었습니다. 이문서에사용된모든디바
이스는초기화된 ( 기본 ) 컨피그레이션으로시작되었습니다. 현재네트워크가작동중인경우, 모든명령어의잠재적인영향을미리숙지하시기바랍니다. 표기규칙 문서규칙에대한자세한내용은 Cisco 기술팁규칙을참조하십시오. 배경정보 ASA 방화벽뒤에두번째내부네트워크를추가할때다음중요한정보를고려하십시오. ASA는보조주소지정을지원하지않습니다. 현재네트워크와새로추가된네트워크간의라우팅을수행하려면 ASA 뒤에라우터를사용해야합니다. 모든호스트의기본게이트웨이는내부라우터를가리켜야합니다. ASA를가리키는내부라우터에기본경로를추가해야합니다. 내부라우터에서 ARP(Address Resolution Protocol) 캐시를지워야합니다. 구성 ASA 를구성하려면이섹션에설명된정보를사용합니다. 네트워크다이어그램 다음은이문서의예제에사용되는토폴로지입니다. 참고 : 이컨피그레이션에서사용되는 IP 주소지정체계는인터넷에서합법적으로라우팅할수없습니다. 이는실습환경에서사용되는 RFC 1918 주소입니다. ASA 9.x 구성
Cisco 디바이스에서 write terminal 명령의출력이있는경우 Output Interpreter 툴 ( 등록된고객만해당 ) 을사용하여잠재적인문제및수정사항을표시할수있습니다. 다음은소프트웨어버전 9.x 를실행하는 ASA 의컨피그레이션입니다. ASA Version 9.3(2) hostname ASA enable password 8Ry2YjIyt7RRXU24 encrypted passwd 2KFQnbNIdI.2KYOU encrypted names --- This is the configuration for the outside interface. interface GigabitEthernet0/0 nameif outside security-level 0 ip address 203.0.113.2 255.255.255.0 --- This is the configuration for the inside interface. interface GigabitEthernet0/1 nameif inside security-level 100 ip address 192.168.0.1 255.255.255.0 boot system disk0:/asa932-smp-k8.bin --- This creates an object called OBJ_GENERIC_ALL. --- Any host IP address that does not already match another configured --- object will get PAT to the outside interface IP address --- on the ASA (or 10.1.5.1), for Internet-bound traffic. object network OBJ_GENERIC_ALL subnet 0.0.0.0 0.0.0.0 nat (inside,outside) dynamic interface route inside 192.168.1.0 255.255.255.0 192.168.0.254 1 route outside 0.0.0.0 0.0.0.0 203.0.113.1 timeout xlate 3:00:00 timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02 timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00 timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00 timeout sip-provisional-media 0:02:00 uauth 0:05:00 absolute timeout tcp-proxy-reassembly 0:01:00 dynamic-access-policy-record DfltAccessPolicy http server enable http 192.168.0.0 255.255.254.0 inside no snmp-server location no snmp-server contact snmp-server enable traps snmp authentication linkup linkdown coldstart crypto ipsec security-association lifetime seconds 28800 crypto ipsec security-association lifetime kilobytes 4608000 telnet timeout 5 ssh timeout 5 console timeout 0
threat-detection basic-threat threat-detection statistics access-list no threat-detection statistics tcp-intercept class-map inspection_default match default-inspection-traffic policy-map type inspect dns preset_dns_map parameters message-length maximum client auto message-length maximum 512 policy-map global_policy class inspection_default inspect dns preset_dns_map inspect ftp inspect h323 h225 inspect h323 ras inspect rsh inspect rtsp inspect esmtp inspect sqlnet inspect skinny inspect sunrpc inspect xdmcp inspect sip inspect netbios inspect tftp inspect ip-options service-policy global_policy global prompt hostname context Cryptochecksum:6fffbd3dc9cb863fd71c71244a0ecc5f : end 내부호스트가 PAT 를사용하여외부네트워크에액세스허용 내부호스트가번역을위해단일공용주소를공유하도록하려면 PAT(Port Address Translation) 를사용합니다. 가장간단한 PAT 컨피그레이션중하나는모든내부호스트를변환하여외부인터페이스 IP 로보이도록합니다. 이는 ISP 에서사용할수있는라우팅가능한 IP 주소수가몇개또는한개로제한될때사용되는일반적인 PAT 컨피그레이션입니다. 내부호스트가 PAT 를사용하여외부네트워크에액세스할수있도록하려면다음단계를완료합니다. 1. Configuration( 컨피그레이션 ) > Firewall( 방화벽 ) > NAT Rules(NAT 규칙 ) 로이동하고 Add( 추가 ) 를클릭하고 Network Object( 네트워크개체 ) 를선택하여동적 NAT 규칙을구성합니다.
2. 동적 PAT가필요한네트워크 / 호스트 / 범위를구성합니다. 이예에서는모든내부서브넷을선택했습니다. 다음과같이변환하려는특정서브넷에대해이프로세스를반복해야합니다. 3. NAT를클릭하고 Add Automatic Address Translation Rule 확인란을선택하고 Dynamic을입력한다음 Translated Addr 옵션을설정하여외부인터페이스를반영합니다. 줄임표버튼을클릭하면외부인터페이스와같이미리구성된객체를선택할수있습니다.
4. 소스및대상인터페이스를선택하려면 Advanced를클릭합니다.
5. 확인을클릭한다음적용을클릭하여변경사항을적용합니다. 완료되면 ASDM(Adaptive Security Device Manager) 에 NAT 규칙이표시됩니다. 라우터 B 컨피그레이션 다음은라우터 B 의컨피그레이션입니다. Building configuration... Current configuration: version 12.4 service timestamps debug uptime service timestamps log uptime no service password-encryption
hostname Router B username cisco password 0 cisco ip subnet-zero ip domain-name cisco.com isdn voice-call-failure 0 interface Ethernet0/0 ip address 192.168.1.1 255.255.255.0 no ip directed-broadcast interface Ethernet0/1 --- This assigns an IP address to the ASA-facing Ethernet interface. ip address 192.168.0.254 255.255.255.0 no ip directed-broadcast ip classless --- This route instructs the inside router to forward all of the --- non-local packets to the ASA. ip route 0.0.0.0 0.0.0.0 192.168.0.1 no ip http server line con 0 exec-timeout 0 0 length 0 transport input none line aux 0 line vty 0 4 password ww login end 다음을확인합니다. 컨피그레이션이제대로작동하는지확인하기위해웹브라우저를통해 HTTP 를통해웹사이트에액세스합니다. 이예에서는 IP 주소 198.51.100.100 에서호스팅되는사이트를사용합니다. 연결이성공하면다음섹션에제공된출력을 ASA CLI 에서볼수있습니다. 연결 연결을확인하려면 show connection address 명령을입력합니다.
ASA(config)# show connection address 172.16.11.5 6 in use, 98 most used TCP outside 198.51.100.100:80 inside 192.168.1.5:58799, idle 0:00:06, bytes 937, flags UIO ASA 는스테이트풀방화벽이며, 방화벽연결테이블의연결과일치하기때문에웹서버의반환트래픽이방화벽을통해다시허용됩니다. 존재하는연결과일치하는트래픽은인터페이스 ACL(Access Control List) 에의해차단되지않고방화벽을통해허용됩니다. 이전출력에서내부인터페이스의클라이언트는외부인터페이스의 198.51.100.100 호스트에대한연결을설정했습니다. 이연결은 TCP 프로토콜로이루어지며 6 초동안유휴상태가되었습니다. 연결플래그는이연결의현재상태를나타냅니다. 참고 : 연결플래그에대한자세한내용은 ASA TCP 연결플래그 (Connection Build-up 및 teardown) Cisco 문서를참조하십시오. 문제해결 컨피그레이션문제를해결하려면이섹션에설명된정보를사용하십시오. Syslog syslogs 를보려면 show log 명령을입력합니다. ASA(config)# show log in 192.168.1.5 Apr 27 2014 11:31:23: %ASA-6-305011: Built dynamic TCP translation from inside: 192.168.1.5/58799 to outside:203.0.113.2/58799 Apr 27 2014 11:31:23: %ASA-6-302013: Built outbound TCP connection 2921 for outside: 198.51.100.100/80 (198.51.100.100/80) to inside:192.168.1.5/58799 (203.0.113.2/58799) ASA 방화벽은정상작동중에 syslog 를생성합니다.syslogs 는로깅컨피그레이션을기반으로자세한범위를제공합니다. 출력은레벨 6 또는정보레벨에서보이는두개의 syslog 를표시합니다. 이예에서는두개의 syslog 가생성됩니다. 첫번째는방화벽이변환을구축했음을나타내는로그메시지입니다. 특히 PAT(Dynamic TCP Translation) 입니다. 트래픽이내부에서외부인터페이스로이동하는동안소스 IP 주소및포트, 변환된 IP 주소및포트를나타냅니다. 두번째 syslog 는방화벽이클라이언트와서버간의이특정트래픽에대한연결테이블에연결을구축했음을나타냅니다. 이연결시도를차단하도록방화벽이구성되었거나이연결의생성을방해하는다른요인 ( 리소스제약조건또는컨피그레이션오류가능성 ) 인경우방화벽은연결이구축되었음을나타내는로그를생성하지않습니다. 대신연결이거부되는이유또는연결을만드는것을방해하는요인에대한표시를기록합니다. 패킷추적기 패킷추적기기능을활성화하려면다음명령을입력합니다.
ASA(config)# packet-tracer input inside tcp 192.168.1.5 1234 198.51.100.100 80 --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 의패킷추적기기능을사용하면시뮬레이션된패킷을지정하고, 방화벽이트래픽을처리할때완료하는다양한단계, 검사및기능을모두볼수있습니다. 이툴을사용하면방화벽을통과하도록허용되어야한다고생각하는트래픽의예를식별하고, 트래픽을시뮬레이션하기위해 5- 튜플을사용하는것이좋습니다. 이전예에서패킷추적기는다음조건을충족하는연결시도를시뮬레이션하기위해사용됩니다. 시뮬레이션된패킷이내부인터페이스에도착합니다. 사용되는프로토콜은 TCP입니다. 시뮬레이션된클라이언트 IP 주소는 192.168.1.5입니다. 클라이언트는포트 1234에서소싱된트래픽을전송합니다. 트래픽은 IP 주소 198.51.100.100의서버로전송됩니다. 트래픽은포트 80으로이동됩니다. 명령에외부인터페이스에대한언급이없습니다. 이는패킷추적기설계때문입니다. 이툴은방화벽이어떤유형의연결시도를어떻게처리하는지, 여기에는라우팅방법과어떤인터페이스밖으로처리되는지알려줍니다. 팁 : 패킷추적기기능에대한자세한내용은 CLI, 8.4 및 8.6 을사용하여 Cisco ASA 5500 Series Configuration Guide 의 Tracing packets with Packet Tracer 섹션을참조하십시오. 캡처 캡처를적용하려면다음명령을입력합니다. ASA# capture capin interface inside match tcp host 192.168.1.5 host 198.51.100.100 ASA# capture capout interface outside match tcp any host 198.51.100.100 ASA#show capture capin 3 packets captured 1: 11:31:23.432655 192.168.1.5.58799 > 198.51.100.100.80: S 780523448: 780523448(0) win 8192 <mss 1460,nop,wscale 2,nop,nop,sackOK> 2: 11:31:23.712518 198.51.100.100.80 > 192.168.1.5.58799: S 2123396067:
2123396067(0) ack 780523449 win 8192 <mss 1024,nop,nop,sackOK,nop,wscale 8> 3: 11:31:23.712884 192.168.1.5.58799 > 198.51.100.100.80:. ack 2123396068 win 32768 ASA#show capture capout 3 packets captured 1: 11:31:23.432869 203.0.113.2.58799 > 198.51.100.100.80: S 1633080465: 1633080465(0) win 8192 <mss 1380,nop,wscale 2,nop,nop,sackOK> 2: 11:31:23.712472 198.51.100.100.80 > 203.0.113.2.58799: S 95714629: 95714629(0) ack 1633080466 win 8192 <mss 1024,nop,nop,sackOK,nop,wscale 8> 3: 11:31:23.712914 203.0.113.2.58799 > 198.51.100.100.80:. ack 95714630 win 32768/pre> ASA 방화벽은인터페이스를드나드는트래픽을캡처할수있습니다. 이캡처기능은트래픽이방화벽에도달하는지또는방화벽에서출발하는지확실하게확인할수있으므로환상적인기능입니다. 위의예에서는내부및외부인터페이스에서 capin 및 capout 이라는두캡처의컨피그레이션을각각보여줍니다.capture 명령은 match 키워드를사용하며, 이를통해캡처할트래픽을지정할수있습니다. capin 캡처예의경우 tcp 호스트 192.168.1.5 호스트 198.51.100.100 과일치하는내부인터페이스 ( 인그레스또는이그레스 ) 에표시되는트래픽을매칭하고자합니다. 즉, 호스트 192.168.1.5 에서호스트 1998.01.501.550001 호스트호스트에서전송되는모든 TCP 트래픽을캡처하고자합니다 1.1.1.1.1.1.11111.1111101101100111111111 0.100 또는그반대입니다.match 키워드를사용하면방화벽에서해당트래픽을양방향으로캡처할수있습니다. 외부인터페이스에대해정의된 capture 명령은방화벽이해당클라이언트 IP 주소에서 PAT 를수행하기때문에내부클라이언트 IP 주소를참조하지않습니다. 따라서해당클라이언트 IP 주소와일치시킬수없습니다. 대신이예에서는 any 를사용하여가능한모든 IP 주소가해당조건과일치함을나타냅니다. 캡처를구성한후다시연결을설정하고 show capture<capture_name> 명령을사용하여캡처를볼수있습니다. 이예에서는클라이언트가캡처에서볼수있는 TCP 3-way 핸드셰이크에의해분명하게나타나듯이서버에연결할수있음을확인할수있습니다. 관련정보 Cisco Adaptive Security Device Manager Cisco ASA 5500-X Series 차세대방화벽 의견요청 (RFC) Cisco ASA Series CLI 컨피그레이션가이드, 9.0 정적및기본경로구성 기술지원및문서 URL Cisco 시스템