목차

소개

사전 요구 사항

요구 사항

사용되는 구성 요소

표기 규칙

구성

네트워크 다이어그램

TACACS+ 지원을 위한 캐시 엔진 구성

다음을 확인합니다.

문제 해결 명령

관련 정보

소개

이 문서에서는 Cisco 캐시 엔진에 액세스하기 위해 TACACS+(Terminal Access Controller Access Control System Plus) 지원을 구성하는 방법에 대해 설명합니다.이 문서의 지침에 따라 캐시 엔진에 텔넷할 때 원격 TACACS+ 서버/데이터베이스에 대해 유효성을 검사할 수 있습니다.서버에 사용자 ID에 대한 항목이 포함되어 있지 않으면 서버에서 유효한 액세스 정보를 로컬로 확인합니다.

사전 요구 사항

요구 사항

이 문서에 대한 특정 요건이 없습니다.

사용되는 구성 요소

이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.

- Cisco Cache Engine 505 - 랩 환경에서 컨피그레이션이 지워짐

- Cisco Cache Engine Software 릴리스 2.3.1

- UNIX용 CiscoSecure

이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.

표기 규칙

문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 규칙을 참조하십시오.

구성

이 섹션에는 이 문서에서 설명하는 기능을 구성하기 위한 정보가 표시됩니다.

참고: 명령 조회 도구(등록된 고객만 해당)를 사용하여 이 섹션에 사용된 명령에 대한 자세한 내용을 확인하십시오.

네트워크 다이어그램

이 문서에서는 다음 네트워크 설정을 사용합니다.

TACACS+ 지원을 위한 캐시 엔진 구성

TACACS+ 지원을 위한 캐시 엔진을 구성하려면 다음 단계를 완료합니다.

1. 각 버전의 WCCP(Web Cache Communication Protocol)에 대해 캐시 엔진을 구성합니다.

2. 기본 컨피그레이션에 다음 명령을 사용합니다.

authentication login local enable

authentication configuration local enable

3. TACACS+ 서버 IP 주소를 구성합니다.여러 서버에서 기본 주소를 지정하면 보조 서버가 빈 옵션으로 남아 있습니다.

4. TACACS+ 서버에 대한 인증을 기본으로 구성합니다.서버를 사용할 수 없는 경우 기본값은 로컬로 지정된 인증입니다.

5. 필요한 경우 TACACS+ 키 정보에 대한 인증을 구성합니다.

참고: Cisco Cache Engine은 PPP가 필요하지 않은 라우터와 달리 TACACS 서버를 인증하기 위해 PPP를 사용하기 때문에 Cisco Cache Engine에서 TACACS+를 활성화해야 합니다.Cisco Cache Engines에서 TACACS+를 활성화하려면 Cisco Secure ACS 2.6을 열고 Group Setup(그룹 설정) 탭을 클릭한 다음 TACACS+ Settings(TACACS+ 설정) 영역에 있는 PPP IP 확인란을 선택합니다.

명령줄은 다음 출력과 유사하게 표시되어야 합니다.

cepro(config)#tacacs server 172.18.124.114

cepro(config)#authentication login tacacs ena primary

cepro(config)#authen configuration tacacs enab

다음을 확인합니다.

이 섹션을 사용하여 컨피그레이션이 제대로 작동하는지 확인합니다.

Output Interpreter 도구(등록된 고객만 해당)(OIT)는 특정 show 명령을 지원합니다.OIT를 사용하여 show 명령 출력의 분석을 봅니다.

- show version - 캐시 엔진에서 실행되는 소프트웨어와 시스템 가동 시간(예: 코드가 이전에 부팅된 위치 및 컴파일된 날짜)과 같은 기타 구성 요소를 표시합니다.

cepro#show version

Cisco Cache Engine

Copyright (c) 1986-2001 by Cisco Systems, Inc.

Software Release: CE ver 2.31 (Build: FCS  02/16/01)

Compiled: 11:20:14 Feb 22 2001 by bbalagot

Image text-base 0x108000, data_base 0x437534

System restarted by Reload

The system has been up for 20 hours, 42 minutes, 59 seconds.

System booted from "flash"

- show hardware - show version 명령과 동일한 정보와 캐시 엔진의 하드웨어 구성 요소를 표시합니다.

cepro#show hardware

Cisco Cache Engine

Copyright (c) 1986-2001 by Cisco Systems, Inc.

Software Release: CE ver 2.31 (Build: FCS  02/16/01)

Compiled: 11:20:14 Feb 22 2001 by bbalagot

Image text-base 0x108000, data_base 0x437534

System restarted by Reload

The system has been up for 21 hours, 15 minutes, 16 seconds.

System booted from "flash"

Cisco Cache Engine CE505 with CPU AMD-K6 (model 8) (rev. 12) AuthenticAMD

2 Ethernet/IEEE 802.3 interfaces

1 Console interface.

134213632 bytes of Physical Memory

131072 bytes of ROM memory.

8388608 bytes of flash memory.

List of disk drives:

/c0t0d0  (scsi bus 0, unit 0, lun 0)

- show running-config - 캐시 엔진에서 실행 중인 컨피그레이션을 표시합니다.

cepro#show running-config

Building configuration...

Current configuration:

!

!

!

user add admin uid 0  password 1 "eeSdy9dcy"  capability admin-access

user add chbanks uid 5001  password 1 "eeSdy9dcy"  capability admin-access

!

!

!

hostname cepro

!

interface ethernet 0

ip address 10.27.2.2 255.255.255.0

ip broadcast-address 10.27.2.255

exit

!

!

interface ethernet 1

exit

!

ip default-gateway 10.27.2.1

ip route 0.0.0.0 0.0.0.0 10.27.2.1

cron file /local/etc/crontab

!

wccp router-list 1 10.27.2.1

wccp web-cache router-list-num 1

!

authentication login tacacs enable primary

authentication login local enable !--- on by default ---!

authentication configuration tacacs enable

authentication configuration local enable  !---- on by default ---!

tacacs server 172.18.124.114 primary

rule no-cache url-regex .*cgi-bin.*

rule no-cache url-regex .*aw-cgi.*

!

!

end

cepro#

- show tacacs - TACACS+ 서버에 대한 설정을 표시합니다.

cepro#show tacacs

Login Authentication for Console/Telnet Session: enabled (primary)

Configuration Authentication for Console/Telnet Session: enabled

TACACS Configuration:

---------------------

Key        =

Timeout    = 5 seconds

Retransmit = 2 times

Server                         Status

----------------------------   ------

172.18.124.114                 primary

- show statistics tacacs - TACACS+ 통계를 표시합니다.

cepro#show statistics tacacs

TACACS+ Statistics

-----------------

Number of access requests: 13

Number of access deny responses: 7

Number of access allow responses: 0

- show authentication - 현재 TACACS+ 현재 인증 및 권한 부여 컨피그레이션을 표시합니다.

cepro#show authentication

Login Authentication:         Console/Telnet Session

----------------------------- -----------------------

local                         enabled

tacacs                        enabled (primary)

Configuration Authentication: Console/Telnet Session

----------------------------- -----------------------

local                         enabled

tacacs                        enabled

cepro#

문제 해결 명령

이 섹션에서는 컨피그레이션 문제를 해결하는 데 사용할 수 있는 정보를 제공합니다.

Output Interpreter 도구(등록된 고객만 해당)(OIT)는 특정 show 명령을 지원합니다.OIT를 사용하여 show 명령 출력의 분석을 봅니다.

참고: debug 명령을 사용하기 전에 디버그 명령에 대한 중요 정보를 참조하십시오.

- show debug - 활성화된 debug 명령을 표시합니다.

cepro#show debug

Authentication debugging is on

Tacacs debugging is on

- terminal monitor - 디버깅 출력을 화면에 표시합니다.이 출력은 디버그 인증 및 debug tacacs 명령의 결과를 표시합니다.

cepro#terminal monitor

cepro#authenticateUser(): Begin

setRemoteIPAddress(): pRemoteAddress 172.18.124.193

bAuthentication(): Begin

bAuthenticationIntersection(): Begin

bAuthenticationIntersection(): telnet_access 1

setAuthenticatedService(): nServiceToAuthenticate 6

getAuthenticatedService(): Begin

getAuthenticatedService(): nServiceToAuthenticate = 6

bAuthenticationIntersection() getAuthenticatedService 6

setErrorDisplayed(): Begin bStatus 0

getLocalLoginAuthEnable(): Begin

getLocalLoginAuthEnable(): uiState = 1

getTacacsLoginAuthEnable(): Begin

getTacacsLoginAuthEnable(): uiState = 1

getTacacsLoginAuthPrimary(): Begin

getTacacsLoginAuthPrimary(): uiState = 1

IncrementTacacsStatRequest(): Begin

tacacs_plus_login() Begin

isConsole() Begin

getAuthenticatedService(): Begin

getAuthenticatedService(): nServiceToAuthenticate = 6

isConsole() nReturn 0 telnet

tacacs_plus_login() sWhatService() tty = telnet

getRemoteIPAddress(): Begin

getRemoteIPAddress(): pRemoteAddress = 172.18.124.193

tacacs_plus_login() getRemoteIPAddress sHostIp 172.18.124.193

tacacs_malloc() Begin 164

tacacs_malloc() PSkmalloc ptr

getUserStruct() malloc_named ustr

tacacs_plus_login() allocated memory for ustruct

aaa_update_user() Begin

debug_authen_svc() Begin

aaa_update_user(): user='admin' ruser='system' port='telnet'

rem_addr='172.18.124.193' authen_type=1

tacacs_plus_login() updated user

getNumTacacsLoginAttempts(): Begin

getNumTacacsLoginAttempts(): ulRetransmit = 2

####### tacacs_plus_login() num_tries 1

aaa_start_login() Begin

debug_start_login() Begin

debug_start_login()/AUTHEN/START (0): port='telnet' list='(null)'

action=LOGIN service=LOGIN

aaa_randomize_id() Begin

tacacs_plus_start_login() Begin

tacacs_parse_server() Begin user_str admin

getTacacsDirectRequestEnable(): Begin

getTacacsDirectRequestEnable(): cDirectRequestEnable = 0

printIpAddr() Begin

printIpAddr() 0.0.0.0

tacacs_plus_start_login() server.ip_addr 0.0.0.0          server.type

0 server.length 0

choose_version() Begin

create_authen_start() Begin

create_authen_start() len 45

tacacs_malloc() Begin 45

tacacs_malloc() PSkmalloc ptr

create_authen_start() malloc_named tac_pak

fill_tacacs_plus_hdr() Begin encrypt 1

fill_tacacs_plus_hdr() len 33, tac_pak->length 33

#### fill_tacacs_plus_hdr() tac_pak->encrypted 1

#### fill_tacacs_plus_hdr() TEST nTestLen 33

create_authen_start() len 33, tac_pak->length 33

create_authen_start() u->priv_lvl  15 start->priv_lvl 15

create_authen_start() start->action 1

create_authen_start() start->authen_type 1

create_authen_start() start->service 1

create_authen_start() user_len 5

create_authen_start() port_len 6

create_authen_start() addr_len 14

create_authen_start() out_len 33

tacacs_plus_start_login() TACACS+: send AUTHEN/START packet ver=192

id=1541646967

tacacs_plus_start_login() login to TACACS+ server:

printIpAddr() Begin

printIpAddr() 0.0.0.0

tacacs_plus_get_conn() Begin server(0)

printIpAddr() Begin

printIpAddr() 0.0.0.0

tacacs_plus_get_conn() **pSocketHandleIndex 89434348

tacacs_plus_get_conn() Look at server in the TACACS+ server list

tacacs_plus_get_conn() TACACS+: This is a loop through server list

tacacs_plus_openconn() Begin

printIpAddr() Begin

printIpAddr() 172.18.124.114

open_handle() Begin

tacacs_plus_socket() Begin

tacacs_plus_socket Socket: return nSocket 784 nSockFdTbl[28] = 784

printIpAddr() Begin

printIpAddr() 172.18.124.114

open_handle() TACACS+: Opening TCP/IP connection to 172.18.124.114

open_handle() nSockFdTbl[28]= 784

setCurrentServer() Begin SaveCurrentServer->ip_addr 172.18.124.114

IncrementTacacsStatPerServerRequest(): Begin

##### IncrementTacacsStatPerServerRequest  Server->ip_addr 1920733868

tacacs_root.ulTacacsServerAddr

open_handle() socket(28) 784

tacacs_plus_connect() Begin

tacacs_plus_connect() socket(28) 784

tacacs_plus_connect() End

open_handle() is connected

open_handle() *connection_handle 28

open_handle() **pSocketHandleIndex 28

tacacs_plus_openconn() **pSocketHandleIndex 28

get_server() Begin

tacacs_plus_openconn() server->opens++

tacacs_plus_get_conn() **pSocketHandleIndex 28

tacacs_plus_get_conn() oldServerCount: 0, count:0

tacacs_plus_start_login() **pHandleIndex 28

tacacs_plus_send_receive() Begin

tacacs_plus_proc_send_receive() Begin

tacacs_plus_proc_send_receive() length 33

copy_tac_plus_packet() Begin

tacacs_malloc() Begin 45

tacacs_malloc() PSkmalloc ptr

copy_tac_plus_packet() malloc_named copy

tacacs_plus_encrypt() Begin

getTacacsKey(): Begin

getTacacsKey(): sKey =

tacacs_plus_encrypt() key

tacacs_plus_encrypt() sizeof(tacacs_plus_pkt_hdr) 12

tacacs_plus_encrypt() sizeof(uchar) 1

tacacs_plus_encrypt() tac_pak->encrypted 1

tacacs_plus_encrypt() tac_pak->encrypted = TAC_PLUS_CLEAR && key is empty

tacacs_plus_proc_send_receive() out_pak->encrypted 1

tacacs_plus_proc_send_receive() out_pak->encrypted 1

tacacs_plus_proc_send_receive() PSkfree dump_pak

tacacs_plus_proc_send_receive() ntohl(out_pak->length) 33

dump_start_session() Begin ntohl(out_pak->length) 33

getTacacsKey(): Begin

getTacacsKey(): sKey =

0xc0 0x1 0x1 0x1 0x77 0xaa 0xe3 0x5b 0x0 0x0 0x0 0x21 0x1 0xf 0x1 0x1 0x5

0x6 0xe 0x0 0x61 0x64 0x6d

encrypt_md5_xor() Begin

encrypt_md5_xor() no key

dump_summarise_incoming_packet_type() Begin

Read AUTHEN/START size=45

dump_nas_pak() Begin

dump_header() Begin

PACKET: key=

version 192 (0xc0), type 1, seq no 1, encrypted 1

session_id 2007688027 (0x77aae35b), Data length 33 (0x21)

End header

type=AUTHEN/START, priv_lvl = 15action=login

authen_type=ascii

service=login

user_len=5 port_len=6 (0x6), rem_addr_len=14 (0xe)

data_len=0

User: port: rem_addr: data:

End packet

dump_start_session() PSkfree test

getTacacsTimeout(): Begin

getTacacsTimeout(): ulTimeout = 5

tacacs_plus_sockwrite() Begin

tacacs_plus_proc_send_receive() PSkfree out_pak

getTacacsTimeout(): Begin

getTacacsTimeout(): ulTimeout = 5

sockread() Begin

tacacs_plus_proc_send_receive() read

tacacs_malloc() Begin 18

tacacs_malloc() PSkmalloc ptr

tacacs_plus_proc_send_receive() malloc_named *in

tacacs_plus_proc_send_receive() allocated memory

getTacacsTimeout(): Begin

getTacacsTimeout(): ulTimeout = 5

sockread() Begin

tacacs_plus_proc_send_receive() OK

tacacs_plus_decrypt() Begin

getTacacsKey(): Begin

getTacacsKey(): sKey =

tacacs_plus_decrypt() key

tacacs_plus_decrypt() tac_pak->encrypted = TAC_PLUS_CLEAR && key is empty

authen_resp_sanity_check() Begin

tacacs_plus_hdr_sanity_check() Begin

authen_debug_response() Begin

authen_debug_response() TACACS+: ver=192 id=1541646967 received AUTHEN

status = FAIL

tacacs_plus_start_login() PSkfree out_tac_pak

unload_authen_resp() Begin

tacacs_plus_start_login() PSkfree in_tac_pak

debug_authen_status() Begin

TACACS+/AUTHEN (2007688027): status = FAIL

tacacs_plus_login() Authentication failed.

tacacs_plus_login() label1

aaa_cleanup_login() Begin

aaa_close_connection() Begin

tacacs_plus_closeconn() Begin

get_server() Begin

close_handle() Begin

close_handle() nHandleIndex 28 nSockFdTbl[**handle] 784

aaa_set_password() Begin

aaa_free_user() Begin

debug_authen_svc() Begin

aaa_close_connection() Begin

TACACS+/AUTHEN: free user admin system telnet 172.18.124.193

authen_type=ASCII service=LOGIN priv_lv

aaa_free_user() PSkfree ustr

####### tacacs_plus_login() num_tries 2

aaa_start_login() Begin

debug_start_login() Begin

debug_start_login()/AUTHEN/START (0): port='unknown' list='(null)'

action=LOGIN service=LOGIN

TACACS+/AUTHEN/START aaa_start_login() (0): ERROR (no ustruct)

tacacs_plus_login() TACACS+: aaa_start

aaa_free_user() Begin

tacacs_plus_login() try_local_login AUTHENTICATION_INTERNAL_ERROR

IncrementTacacsStatDenyAccess(): Begin

localAuthentication(): Begin

localAuthentication() usrName admin

localAuthentication() passwd system

localAuthentication() pUid 89435294

localAuthentication() telnet_access

localAuthentication() rc == TRUE

AuthenticationIntersection(): bTacacsLogin 0

IncrementLocalLoginStat(): Begin

getLocalConfigAuthEnable(): Begin

getLocalConfigAuthEnable(): uiState = 1

getTacacsConfigAuthEnable(): Begin

getTacacsConfigAuthEnable(): uiState = 1

getTacacsConfigAuthPrimary(): Begin

getTacacsConfigAuthPrimary(): uiState = 0

localAuthentication(): Begin

localAuthentication() usrName admin

localAuthentication() passwd system

localAuthentication() pUid 89435294

localAuthentication() telnet_access

localAuthentication() rc == TRUE

AuthenticationIntersection(): bTacacsConfig 0

AuthenticationIntersection():== Local Database Authentication ==

IncrementLocalConfigStat(): Begin

AuthenticationIntersection(): user has been found

AuthenticationIntersection(): bTacacsLogin pUid 89435294

AuthenticationIntersection(): GOT ACCESS capab 0 Admin 0 Ftp 0 Http 0

Telnet 0

authenticateUser() AUTHENTICATION IS OK

authenticateUser() AUTHENTICATION #2

관련 정보

- Cisco 500 Series 캐시 엔진 제품 및 서비스