UniFi - USG에서 Netconsole 디버그 로깅을 활성화 하는 방법

download at 2016-12-31T23:18:40Z origin

 Overview


이 문서는 netconsole 디버그 로깅을 UniFi 시큐리티 게이트웨이 (USG)로 로깅하는 방법에 대하여 서술합니다. 이 과정은 디버그 정보를 캡쳐하여 시리얼 콘솔로 장치에 연결하여 정보를 확인하지 않고 정보를 캡쳐하도록 할 수 있기 때문에 유용합니다.

이 문서는 펌웨어 버전 4.4.34 이후 버전을 대상으로 합니다.

Table of Contents


  1. Intro
  2. netconsole 로깅 활성화
  3. netconsole 상태 점검
  4. netconsole 로깅 비활성화
  5. 재부팅후에도 지속하기
  6. 관련 문서

Intro


맨위로 가기

ubnt-netconsole 유틸리티는 USG 버전 4.3.34 이후 버전부터 포함된 기능입니다. 이 기능은 netconsole 로깅의 환경설정을 돕기 위해 창안되었습니다. 이 기능은 OS가 네트워크로 로그를 서버로 전송할 수 없는 상황이며, 리부팅 동안 해당 내용을 잃어버릴 염려가 있는 인스턴스의 크래시 디테일을 캡쳐할 수 있어 매우 유용합니다.

netconsole을 사용하기 위해서는 syslog 서버를 설정하여 원격 로깅 데이터를 허용해야합니다.

ubnt-netconsole 명령어 사용법을 확인하기 위해서는 USG로 SSH 접근하여 다음 명령어를 수행합니다:

$ sudo ubnt-netconsole
Usage: /usr/sbin/ubnt-netconsole <device> <remote ip> [remote port] [remote mac]
      /usr/sbin/ubnt-netconsole status
      /usr/sbin/ubnt-netconsole disable

netconsole 로깅 활성화


맨위로 가기

netconsole 로깅을 활성화하려면, syslog 서버에 도달할 수 있도록 인터페이스를 명시합니다. 해당 정보에는 syslog 서버의 IP, 포트 정보, 선택적으로 서버의 MAC 주소가 포함됩니다. syslog 서버가 USG 인터페이스에 직접 연결이 되어있지 않다면, 해당 서버에 도달할 수 있도록 다음 홉 라우터의 MAC 주소를 명시해야합니다. (syslog 서버가 인터넷을 통해서 접근한다면, ISP 라우터의 정보가 될 수 있습니다.)

이 예제에서는, syslog 서버가 LAN의 192.168.1.50 에 있고, 해당 주소는 USG의 eth1 인터페이스를 사용하며 514 포트와 MAC 주소로 12:34:56:78:90:aa 를 사용합니다.

$ sudo ubnt-netconsole eth1 192.168.1.50 514 12:34:56:78:90:aa
Netconsole : enabled
Device     : eth1
Local IP   : 192.168.1.1
Local port : 6665
Local mac  : 80:2a:a8:8e:f8:3d
Remote IP  : 192.168.1.50
Remote port: 514
Remote mac : 12:34:56:78:90:aa

"Netconsole: enabled" 의 결과는 성공적으로 설정되었다고 출력합니다.


netconsole 상태 점검


맨위로 가기

netconsole 상태를 점검하려면, sudo ubnt-netconsole status 를 수행합니다. 명령어를 수행하면 다음과 같이 활성, 비활성 정보를 출력합니다.

$ sudo ubnt-netconsole status
Netconsole : enabled
Device     : eth1
Local IP   : 192.168.1.1
Local port : 6665
Local mac  : 80:2a:a8:8e:f8:3d
Remote IP  : 192.168.1.50
Remote port: 514
Remote mac : 12:34:56:78:90:aa

$ sudo ubnt-netconsole status
Netconsole not active

netconsole 로깅 비활성화


맨위로 가기

netconsole 로깅을 비활성화 하려면, sudo ubnt-netconsole disable 명령어를 수행합니다. 비활성화 명령어는 어떠한 결과도 출력하지 않지만, 상태를 체킹하여 비활성화 여부를 확인할 수 있습니다. 재부팅 이후에도 비활성화됩니다.

$ sudo ubnt-netconsole disable
$ sudo ubnt-netconsole status
Netconsole not active

재부팅 후에도 유지하기


맨위로 가기

netconsole 로깅을 재부팅 이후에도 지속하고 싶다면, 활성화 명령어를 /etc/rc.local 파일의 exit 0 라인 위에 명령어를 추가하여 수행할 수 있습니다. 이전 예제에서 적용한 환경설정을 유지하고 싶다면 /etc/rc.local 아래에 다음과 같이 추가합니다.

/usr/sbin/ubnt-netconsole eth1 192.168.1.50 514 12:34:56:78:90:aa
exit 0

관련 문서


맨위로 가기