UniFi - USG에서 Netconsole 디버그 로깅을 활성화 하는 방법 ======================================================= download at 2016-12-31T23:18:40Z `origin `_  Overview -------------- 이 문서는 netconsole 디버그 로깅을 UniFi 시큐리티 게이트웨이 (USG)로 로깅하는 방법에 대하여 서술합니다. 이 과정은 디버그 정보를 캡쳐하여 시리얼 콘솔로 장치에 연결하여 정보를 확인하지 않고 정보를 캡쳐하도록 할 수 있기 때문에 유용합니다. 이 문서는 펌웨어 버전 4.4.34 이후 버전을 대상으로 합니다. Table of Contents -------------- #. `Intro <#intro>`__ #. `netconsole 로깅 활성화 <#enabling%20netconsole%20logging>`__ #. `netconsole 상태 점검 <#checking%20netconsole%20status>`__ #. `netconsole 로깅 비활성화 <#disabling%20netconsole%20logging>`__ #. `재부팅후에도 지속하기 <#persisting%20across%20reboots>`__ #. `관련 문서 <#related%20articles>`__ -------------- Intro -------------- `맨위로 가기 <#top>`__ ubnt-netconsole 유틸리티는 USG 버전 4.3.34 이후 버전부터 포함된 기능입니다. 이 기능은 netconsole 로깅의 환경설정을 돕기 위해 창안되었습니다. 이 기능은 OS가 네트워크로 로그를 서버로 전송할 수 없는 상황이며, 리부팅 동안 해당 내용을 잃어버릴 염려가 있는 인스턴스의 크래시 디테일을 캡쳐할 수 있어 매우 유용합니다. netconsole을 사용하기 위해서는 syslog 서버를 설정하여 원격 로깅 데이터를 허용해야합니다. ubnt-netconsole 명령어 사용법을 확인하기 위해서는 USG로 SSH 접근하여 다음 명령어를 수행합니다: :: $ sudo ubnt-netconsole Usage: /usr/sbin/ubnt-netconsole [remote port] [remote mac]       /usr/sbin/ubnt-netconsole status       /usr/sbin/ubnt-netconsole disable -------------- netconsole 로깅 활성화 -------------- `맨위로 가기 <#top>`__ 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 상태 점검 -------------- `맨위로 가기 <#top>`__ 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 로깅 비활성화 -------------- `맨위로 가기 <#top>`__ netconsole 로깅을 비활성화 하려면, ``sudo ubnt-netconsole disable`` 명령어를 수행합니다. 비활성화 명령어는 어떠한 결과도 출력하지 않지만, 상태를 체킹하여 비활성화 여부를 확인할 수 있습니다. 재부팅 이후에도 비활성화됩니다. :: $ sudo ubnt-netconsole disable $ sudo ubnt-netconsole status Netconsole not active -------------- 재부팅 후에도 유지하기 -------------- `맨위로 가기 <#top>`__ 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 -------------- 관련 문서 -------------- `맨위로 가기 <#top>`__ - `기초 - SSH를 사용하여 커넥션을 생성하기 `__