- Linux의 DHCP 클라이언트가 로그를 작성합니까?
- 그렇지 않은 경우 로그를 활성화 할 수 있습니까?
- 로그를 작성하면 어디서 찾을 수 있습니까?
- DHCP 서버에서 IP 및 네임 서버를 얻을 때 dhcp 클라이언트의 일반적인 로그는 어떻게 생깁니 까?
- DHCP 클라이언트의 소스 코드는 어디에서 찾을 수 있습니까?
Linux간에 관련 차이점이있는 경우 : Debian 8.1 (기본 최소 설치 amd64)에 관심이 있습니다.
Linux간에 관련 차이점이있는 경우 : Debian 8.1 (기본 최소 설치 amd64)에 관심이 있습니다.
답변:
ISC의 DHCP 클라이언트는 일반적으로 dhclient
대부분의 Linux 배포에서 호출 됩니다. 보낸 사람 man dhclient
:
클라이언트는 일반적으로 시작 시퀀스 동안 출력을 인쇄하지 않습니다. -v 명령 행 인수를 제공하여 주소를 획득 할 때까지 시작 순서 이벤트를 표시하는 자세한 메시지를 표시 할 수 있습니다. 두 경우 모두 클라이언트는 syslog (3) 기능을 사용하여 메시지를 기록합니다.
시스템 로그를 읽는 방법에는 두 가지가 있습니다. systemd를 사용하는 대부분의 시스템에서는을 사용해야 journalctl
하지만 cat /var/log/syslog
기존의 init 시스템을 여전히 사용하는 시스템에는 유효합니다.
따라서 시스템에서 systemd의 로깅 기능을 사용 journalctl | grep -Ei 'dhcp'
하는 경우 DHCP 클라이언트 로그를 얻는 데 사용할 수 있습니다 . 그렇지 않으면을 입력하십시오 cat /var/log/syslog | grep -Ei 'dhcp'
.
내 DHCP 클라이언트 로그는 일반적으로 다음과 같습니다.
Jul 20 14:17:39 trueclient1 NetworkManager[2622]: <info> (wlan1): canceled DHCP transaction, DHCP client pid 3325
Jul 20 14:17:42 trueclient1 NetworkManager[2622]: <info> Activation (wlan1) Beginning DHCPv4 transaction (timeout in 45 seconds)
Jul 20 14:17:42 trueclient1 dhclient: Internet Systems Consortium DHCP Client 4.2.2
Jul 20 14:17:42 trueclient1 dhclient: For info, please visit https://www.isc.org/software/dhcp/
Jul 20 14:17:42 trueclient1 NetworkManager[2622]: <info> (wlan1): DHCPv4 state changed nbi -> preinit
Jul 20 14:17:42 trueclient1 dhclient: DHCPREQUEST on wlan1 to 255.255.255.255 port 67
Jul 20 14:17:42 trueclient1 dhclient: DHCPACK from 10.8.8.1
Jul 20 14:17:42 trueclient1 NetworkManager[2622]: <info> (wlan1): DHCPv4 state changed preinit -> reboot
많은 Linux 플랫폼에서 dhclient를 디버깅하는 해킹 (그러나 효과적인) 방법 은 / sbin / dhclient-script 에서 bash 추적 을 활성화 하는 것 입니다 .
dhclient는 내가 확인한 대부분의 OS 변형 (RedHat, Debian 등)에서 해당 스크립트를 실행합니다.
-x
해당 스크립트에서 shebang (첫 번째 줄)에 추가 하면 각 줄을 콘솔로 추적 할 수 있습니다.
#!/bin/bash -x
그런 다음 예를 들어 실행할 수 있습니다.
dhclient -r #release lease
dhclient #re-acquire lease
그리고 dhclient-script뿐만 아니라 .d
/ etc / dhcp *에 포함 된 모든 스크립트에서 많은 출력을 볼 수 있습니다 .
추적 출력을 사용하면 현재 상황과 코드에서 어떤 결정을 내릴 수 있는지 확인할 수 있습니다 (출력을 볼 때 스크립트 자체를 참조하십시오).
일반적으로이 출력에서 수신 한 스크립트의 입력 (예 : IP, GATEWAY 등의 매개 변수)을 추론 할 수 있지만 그렇지 않은 경우 종료 직전에 스크립트에 다음과 같은 것을 일시적으로 추가 할 수 있습니다.
env | logger -t dhclient-debugging
그런 다음 dhclient (/ var / log / messages 또는 / var / log / syslog)를 실행 한 후 로그를 확인하십시오.
답변을 인라인으로 찾으십시오.
Linux의 DHCP 클라이언트가 로그를 작성합니까?
그렇습니다.
그렇지 않은 경우 로그를 활성화 할 수 있습니까?
1. Edit dhcpd.conf and add this line
log-facility local7;
2. Edit syslog.conf and append
local7.* /var/log/dhcpd.log
로그를 작성하면 어디서 찾을 수 있습니까?
/var/log/dhcpd.log
갤럭시 dhcpd : 00 : 0d : 62 : d7 : a0 : 12에서 eth0로
갤럭시 dhcpd : 192.168.1.5에서 00 : 0d : 62 : d7 : a0 : 12의 eth0을 통해
갤럭시 dhcpd : 192.168.1.5의 DHCPREQUEST (192.168) .1.1) eth0
은하 를 통한
00 : 0d : 62 : d7 : a0 : 12부터 dhcpd : 192.168.1.5의 DHCPACK : 192.168.1.5에서 00 : 0d : 62 : d7 : a0 : 12를 통한 eth0