[리눅스] 네트워크 콘솔 설정
페이지 정보
작성자 최고관리자 작성일25-11-10 10:41 조회87회 댓글0건관련링크
본문
1) 리눅스 시스템에 시리얼 콘솔을 연결하기 어려운 경우, 네트워크 콘솔로 연결하여 syslog 내용을 네트워크로 전달 받을 수 있음.
라즈베리파이나 Embedded system에서 유용하게 사용할 수 있음.
modprobe netconsole netconsole=4444@<자신의 IP>/<인터페이스 eth0 or eth1>,6666@<원격지 IP>/<원격지 MAC>
echo "8 4 1 7" | tee /proc/sys/kernel/printk
sysctl -w kernel.printk_ratelimit=0
원격지에서는 netcat으로 udp 를 받으면 됨.
nc -luk 6666 이런식으로 하면, 커널 패닉이나 기타 로그를 받을 수 있음.
* printk 메시지는 우선 순위를 0 ~ 7 의 값이 있고, 숫자가 작을수록 더 심각한 메시지임
0 EMERG, 1 ALERT, 2 CRIT, 3 ERR, 4 WARNING, 5 NOTICE, 6 INFO, 7 DEBUG
echo "8 4 1 7" | tee /proc/sys/kernel/printk
^ ^ ^ ^
| | | └──── 4) default_console_loglevel (콘솔 기본값: 보통 7)
| | └───── 3) minimum_console_loglevel (최소 콘솔 로그레벨: 보통 1)
| └────── 2) default_message_loglevel (태그 없는 printk의 기본 레벨: 보통 4=KERN_WARNING)
└─────── 1) console_loglevel (지금 콘솔에 출력할 임계값)
예를 들어, 콘솔은 "메시지의 우선 순위" < console_loglevel 조건일 때, 출력함
즉,
8 4 1 7 --> 0~7 전부 출력
7 4 1 7 --> 0~6 만 출력
4 4 1 7 --> 0~3 만 출력
netconsole 로 전달되는 로그도 console_loglevel 값을 기준으로 전달됨
* 만약, netconsole 모듈이 커널에 포함되어 있다면, cmdline.txt (라즈베리의 경우) 에 다음을 추가하면, 부팅 시 콘솔 화면이 네트워크로 전송됨
loglevel=8 netconsole=6665@<내IP>/eth0,6666@<원격지IP>/<원격지 MAC>
2) 아니면, rsyslogd 를 활성화 해서, /etc/rsyslogd.conf 파일 맨 마지막에 다음 줄 추가
*.* @192.168.1.1:6666;RSYSLOG_TraditionalForwardFormat
이렇게 하면 192.168.1.1 로 syslog 내용이 전달됨 똑같이 UDP 포트로 전달
댓글목록
등록된 댓글이 없습니다.