DHCP 클라이언트의 기능을 확인하는 방법은 무엇입니까?


14
  • Linux의 DHCP 클라이언트가 로그를 작성합니까?
  • 그렇지 않은 경우 로그를 활성화 할 수 있습니까?
  • 로그를 작성하면 어디서 찾을 수 있습니까?
  • DHCP 서버에서 IP 및 네임 서버를 얻을 때 dhcp 클라이언트의 일반적인 로그는 어떻게 생깁니 까?
  • DHCP 클라이언트의 소스 코드는 어디에서 찾을 수 있습니까?

Linux간에 관련 차이점이있는 경우 : Debian 8.1 (기본 최소 설치 amd64)에 관심이 있습니다.


1
"Linux의 dhcp 클라이언트"보다 더 구체적이어야합니다. Linux에는 다양한 dhcp 클라이언트가 있으며 모두 서로 다른 방식으로 기록합니다. 데비안 8.1에 대한 기본 설정이 있을지 모르지만, 그것이 무엇인지 기억할 수는 없습니다.
qasdfdsaq

인터넷 시스템 컨소시엄 DHCP 클라이언트 4.3.1 저작권 2004-2014 인터넷 시스템 컨소시엄. 판권 소유. 자세한 내용은 isc.org/software/dhcp
Gustave

답변:


7

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

2
데비안 8.1 journalctl 작품, ubuntu-14.04.2- 서버에서 항목은 / var / log / syslog에 있습니다. 감사. 그러나 IP 주소 만 기록되고 DNS 서버는 기록되지 않습니다. 더 자세한 출력을 구성 할 수 있습니까?
Gustave

3

많은 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)를 실행 한 후 로그를 확인하십시오.


-3

답변을 인라인으로 찾으십시오.

  • 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


  • DHCP 서버에서 IP 및 네임 서버를 얻을 때 dhcp 클라이언트의 일반적인 로그는 어떻게 생깁니 까?


갤럭시 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

  • DHCP 클라이언트의 소스 코드는 어디에서 찾을 수 있습니까?


    링크 1
    링크 2


2
OP가 DHCP 클라이언트 에 대해 이야기하고 있습니다. DHCPD는 DHCP 서버 데몬입니다.
Larssend

내 시스템에 dhcpd.conf라는 파일이없는 것 같습니다. /etc/dhcp/dhclient.conf 파일이 있습니다. syslog.conf 파일은 없지만 /etc/rsyslog.conf 파일이 있습니다. 해당 파일의 구성을 변경하고 rsyslog를 다시 시작한 다음 eth0을 종료하고 다시 켭니다. 그러나 로그 파일이 나타나지 않습니다. 콘솔에 DHCP 메시지가 나타납니다. 컴퓨터를 다시 시작한 후에도 로그 메시지가 표시되지 않습니다.
Gustave
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.