오랜만에 네트워크 관련 주제로 글을 씁니다.
어떤 장비를 설치하고 나면 무슨 일이 발생하는지 로그를 남기는데요.
해당 장비 자체적으로 로그를 관리하기도 하지만, 용량의 한계 및 관리의 편의성 때문에 로그만 따로 저장할 수 있는 로그서버를 구축합니다.
Cisco 장비에서 log 관련 설정 하는 방법 및 해당 명령어에 대한 설명을 정리해보도록 하겠습니다.
해당 설정은 간단히 로그를 받을 서버의 IP 만 정의해 주면 그때부터 장비에서 로그 발생 시 해당 서버로 전달하도록 되어 있습니다. (UDP 514(일반적 기준) 포트)
logging on 명령은 log 기능을 enable 시키겠다는 명령이며, Default 가 on 인 상태입니다.
logging 뒤에 Server 의 ip 주소만을 입력하고 저장하였습니다.
그러면 그때부터 해당 장비의 로그가 Syslog Server 로 전달됩니다.
그러면 위에 보시는 것처럼 해당 로그서버에서 바로 log 가 들어오는 것을 확인 가능합니다.
여기서 알 수 있는 내용이 몇 가지 있는데요.
1. 제일 앞에 나오는 날짜 및 시간은 syslog Server 기준의 시간입니다.
2. 3번째 탭(Priority) 에 나오는 Local7.Notice 에서 facility 의 Default 값이 Local7 인 것을 알 수 있습니다.
- facility 에 대한 내용은 밑에서 다시 다루도록 하겠습니다.
3. 4번째 탭(Hostname) 에는 로그를 발생시킨 해당 장비의 IP Address 가 나옵니다.
4. Message 탭에는 해당 로그가 찍힙니다.
단순히 "logging [로그서버ip]" 를 입력해 줌으로써 로그를 서버로 전달할 수 있습니다.
이렇게 간단히 끝내면 좋겠지만, Cisco 장비의 log 관련 설정에는 몇 가지 옵션을 지정할 수 있습니다.
첫 번째는 심각도 수준에 따라 로그를 전달할 수 있습니다.
logging trap [level keyword]
심각도 수준은 낮은 숫자로 갈수록 장비에 위험하다는 뜻이고,
높은 숫자의 Level 은 낮은 숫자의 내용을 모두 포함(include)합니다.
이 말은 곧 "logging trap " 의 level 을 emergencies(0) 으로 설정할 경우 해당 장비에 치명적인 장애 발생 시에만 로그를 전달하고,
그 아래에 해당하는 Level 의 로그(1~7)는 발생되더라도 로그서버로 전달하지 않는다는 뜻입니다.
Default 는 "informational(6) 입니다.
Debugging(7) 의 경우 장비에서 발생되는 모든 log 를 다 전달하므로 CPU 에 부하를 줄 수 있어, 주의를 요합니다.
두 번째는 facility 라는 Option 인데요.
이는 로그서버에서 해당 장비를 구분하기 위한 구분자 역할을 합니다.
다음 영한사전에서 그 뜻을 살펴보면, 시설,설비,재능 이러는 여러가지 뜻을 가지고 있습니다.
syslog 에서 facility 는 "설비" 라는 뜻으로 해석하는 게 제일 맞지 않나 생각해 봅니다.
Cisco 장비에서 "logging facility" 뒤에 option 내용을 살펴보면 위 그림처럼 여러가지 많은 내용을 볼 수 있습니다.
syslog 가 표준 Protocol 인데다, UNIX 계열에서 시작된 거라 다른 장비에서도 이와 유사한 내용을 갖고 있습니다.
- Syslog 메세지의 Facility의 각 숫자가 의미하는 바는 다음과 같습니다.
- 0 kernel messages
- 1 user-level messages
- 2 mail system
- 3 system daemons
- 4 security/authorization messages
- 5 messages generated internally by syslogd
- 6 line printer subsystem
- 7 network news subsystem
- 8 UUCP subsystem
- 9 clock daemon
- 10 security/authorization messages
- 11 FTP daemon
- 12 NTP subsystem
- 13 log audit
- 14 log alert
- 15 clock daemon
- 16 local use 0 (local0)
- 17 local use 1 (local1)
- 18 local use 2 (local2)
- 19 local use 3 (local3)
- 20 local use 4 (local4)
- 21 local use 5 (local5)
- 22 local use 6 (local6)
- 23 local use 7 (local7)
일반적으로 local0 ~ 7 까지를 네트워크 장비에서 사용을 하는데요.
자칫 trap 에 나오는 level0~7 과 숫자가 같다보니 헷갈리는 경우가 많습니다.
저 역시, facility 와 trap 이 동일하다고 생각했었거든요.
facility 는 많은 장비로부터 로그를 받는 로그서버에서 해당 로그에 대한 출처를 좀 더 명확히 하고,
특정 로그를 그룹핑하기 위한 구분자 역할을 위해 사용되어 집니다.
네트워크 장비에서 facility Option 을 위와 같이 이것저것 변경해보면
아래와 같이 syslog Server 에서 변경된 값(Priority)으로 로그가 기록됩니다.
앞서 local0 ~ 7 을 네트워크 장비에서 일반적으로 사용한다고 했는데요.
여기에 대한 명확한 기준은 저도 잘 모르겠습니다만,
보통 국가기관에서 진행하는 보안감사의 지침을 보면, Cisco 장비는 권장사항이 대부분 "local6" 으로 권고하고 있습니다.
세 번째 Option 은 source-interface 입니다.
: 이는 PC와 달리 한 장비에 많은 IP 를 가지고 있는 네트워크 장비의 특성 상, 로그서버에 어떤 IP 를 가지고 기록이 될지를 정하는 기준이 됩니다.
처음에 저는 테스트를 위해 L3스위치의 vlan1 interface 에 ip 를 192.168.200.200 으로 설정하여 log 를 발생시켰습니다.
그리고 현재 살아있는 interface 가 vlan1 밖에 없기 때문에,
Syslog Server 에서도 당연히 vlan 1의 ip 인 192.168.200.200으로 Log 가 전달되었습니다.
하지만 장비의 IP 가 하나인 경우는 L2 스위치의 경우에나 가능하지,
백본급이나 라우터 장비들은 여러개의 Routed Port 및 SVI 에 많은 IP 를 가지고 있습니다.
그래서 실제 Syslog Server 에 어떤 IP 로 Log가 찍히게 될런지 단정하기가 쉽지 않습니다.
TEST 를 위해 아래와 같이 Loopback IP 를 넣고 logging source-interface 를 Loopback Interface 로 설정하였습니다.
그러면 로그서버에서 192.168.200.200 으로 찍히던 로그가 해당 장비의 Lo0 Interface의 IP 인 10.10.10.10 으로 전달됩니다.
여기까지가 대략적인 Cisco 장비에서의 Logging 과 관련한 설정이구요.
추가적으로 한 가지 더 알려드리자면, syslog 와 상관없이 장비에서 Log 발생 시간을 장비의 uptime 으로 지정할지,
현재 시간으로 기록을 할지에 대한 부분도 함께 설정을 해 놓는 게 좋습니다.
확인을 위해 Service Timestaps 를 Default 로 바꿔 보았습니다.
그랬더니, 아예 service timestamps 앞에 no 가 들어가버리네요.
로그서버에서는 아래에서 보시는 것처럼 로그의 발생횟수인 44, 45 로 찍히네요.
다시 timestamps 설정을 아래와 같이 변경하였습니다.
로그서버에서도 아래와 같이 현재시간으로 로그가 남게 됩니다.
장황하게 설명을 했는데요.
일반적으로 많이 사용하는 syslog 설정은 다음과 같다고 보시면 됩니다.
service timestamps debug datetime localtime show-timezone
service timestamps log datetime localtime show-timezone
logging on
logging 192.168.200.200
logging trap informational
logging facility local6
logging source-interface lo0
*. 이 게시글에 사용된 장비는 Cisco WS-C3560-48PS(12.2(25)SEE3 이며, Syslog Server 는 Kiwi Syslog Service manager(Ver.9.5 Trial) 를 사용하였습니다.
Cisco 장비의 Default 설정값은 장비의 모델 및 IOS Version 에 따라 상이할 수 있습니다.
♥읽어주셔서 감사합니다♥
티스토리 댓글과 공감♥은 로그인이 필요 없습니다.
로그인하시면 구독 가능합니다.
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
'IT 이야기 > 네트워크(Network)' 카테고리의 다른 글
Cisco 장비의 CPU 사용량 확인 방법 (show process cpu) (0) | 2020.01.30 |
---|---|
고정IP 변경 배치 파일(Static IP Address Batch File) (4) | 2020.01.30 |
Cisco TACACS+ Config (0) | 2019.06.10 |
Linux Shell Script 를 이용한 Cisco IOS Password 일괄 변경 (0) | 2019.06.07 |
Cisco Router E1/T1 Configuration (0) | 2016.03.10 |
huawei AP http login Configuration (0) | 2015.11.18 |
Cisco 계정 권한 관련 (Privilege Level) (0) | 2015.05.12 |
Cisco Nexus Switch 에서 wr 명령으로 저장하기 (cli alias_NX-OS) (0) | 2014.12.15 |