Bagaimana cara melihat apa yang dilakukan klien DHCP?

14
  • Apakah klien dhcp di Linux menulis log?
  • Jika tidak, dapatkah log diaktifkan dan bagaimana caranya?
  • Jika menulis log, di mana mereka dapat ditemukan?
  • Bagaimana log khas klien dhcp terlihat ketika memperoleh IP dan server nama dari server DHCP?
  • Di mana saya dapat menemukan kode sumber klien DHCP?

Jika ada perbedaan yang relevan antara Linux: Saya tertarik pada Debian 8.1 (instalasi minimal standar amd64).

Gustave
sumber
1
Anda harus lebih spesifik daripada "klien dhcp di Linux". Ada banyak klien dhcp berbeda untuk Linux dan mereka semua mencatat cara yang berbeda. Mungkin ada yang standar untuk Debian 8.1 meskipun saya tidak ingat apa itu.
qasdfdsaq
Konsorsium Sistem Internet Klien DHCP 4.3.1 Hak Cipta 2004-2014 Konsorsium Sistem Internet. Seluruh hak cipta. Untuk info, silakan kunjungi isc.org/software/dhcp
Gustave

Jawaban:

6

Klien DHCP ISC biasanya dipanggil dhclientdi sebagian besar distribusi Linux. Dari man dhclient:

Klien biasanya tidak mencetak output selama urutan startup-nya. Dapat dibuat untuk memancarkan pesan verbose yang menampilkan peristiwa urutan startup sampai memperoleh alamat dengan memberikan argumen baris perintah -v. Dalam kedua kasus, klien mencatat pesan menggunakan fasilitas syslog (3).

Ada dua cara yang mungkin untuk membaca log sistem Anda. Pada sebagian besar sistem yang menggunakan systemd, Anda harus menggunakan journalctl, sedangkan cat /var/log/syslogberlaku untuk sistem yang masih menggunakan sistem init tradisional.

Oleh karena itu, jika sistem Anda menggunakan fasilitas logging systemd, Anda dapat menggunakan journalctl | grep -Ei 'dhcp'untuk mendapatkan log klien DHCP. Kalau tidak, masukkan cat /var/log/syslog | grep -Ei 'dhcp'.

Inilah yang biasanya terlihat seperti log klien DHCP saya:

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
Larssend
sumber
2
Pada karya Debian 8.1 journalctl, pada server ubuntu-14.04.2 entri berada di / var / log / syslog. Terima kasih. Tetapi: hanya ada sangat sedikit entri, misalnya hanya alamat IP yang dicatat, server DNS tidak. Apakah mungkin untuk mengkonfigurasi lebih banyak keluaran verbose?
Gustave
3

Cara hacky (tapi efektif) untuk men-debug dhclient pada banyak platform Linux adalah mengaktifkan bash tracing di / sbin / dhclient-script .

dhclient menjalankan skrip itu pada sebagian besar varian OS yang telah saya periksa (RedHat, Debian, dll).

Cukup menambahkan -xshebang (baris pertama) dalam skrip itu harus memungkinkan melacak setiap baris ke konsol, misalnya:

#!/bin/bash -x

Maka Anda dapat menjalankan, misalnya

dhclient -r #release lease
dhclient #re-acquire lease

Dan Anda akan melihat banyak output, tidak hanya dari skrip dhclient, tetapi dari semua .dskrip yang disertakan di / etc / dhcp *.

Keluaran jejak harus memungkinkan Anda untuk mencari tahu apa yang terjadi dan keputusan apa yang dibuat oleh kode (referensi skrip itu sendiri ketika melihat output).

Anda biasanya dapat menyimpulkan input (mis. Parameter termasuk IP, GATEWAY, dll) skrip yang diterima dari output ini, tetapi jika tidak, Anda dapat menambahkan sesuatu seperti ini untuk skrip sesaat sebelum keluar:

   env | logger -t dhclient-debugging

Kemudian periksa log Anda setelah menjalankan dhclient (/ var / log / messages atau / var / log / syslog)

akom
sumber
-3

Silakan temukan inline jawabannya.

  • Apakah klien dhcp di Linux menulis log?


    Ya, benar.

  • Jika tidak, dapatkah log diaktifkan dan bagaimana caranya?


 1. Edit dhcpd.conf and add this line
  log-facility local7;

 2. Edit syslog.conf and append 
  local7.* /var/log/dhcpd.log


  • Jika menulis log, di mana mereka dapat ditemukan?

    /var/log/dhcpd.log


  • Bagaimana log khas klien dhcp terlihat ketika memperoleh IP dan server nama dari server DHCP?


galaksi dhcpd: DHCPDISCOVER dari 00: 0d: 62: d7: a0: 12 via eth0
galaxy dhcpd: DHCPOFFER pada 192.168.1.5 hingga 00: 0d: 62: d7: a0: 12 via eth0
galaxy dhcpd: DHCPREQUEST for 192.168.1.5 (192.168 .1.1) dari 00: 0d: 62: d7: a0: 12 via eth0
galaxy dhcpd: DHCPACK pada 192.168.1.5 hingga 00: 0d: 62: d7: a0: 12 via eth0

Ruban Savvy
sumber
2
OP berbicara tentang klien DHCP . DHCPD adalah daemon server DHCP.
Larssend
Sepertinya tidak ada file bernama dhcpd.conf di sistem saya. Ada file /etc/dhcp/dhclient.conf. Tidak ada file syslog.conf, tetapi file /etc/rsyslog.conf. Saya membuat perubahan konfigurasi pada file-file itu, me-restart rsyslog, mematikan eth0, menyalakannya lagi. Tetapi tidak ada file log yang muncul. Saya mendapatkan beberapa pesan DHCP di konsol. Bahkan setelah restart mesin saya tidak mendapatkan pesan log.
Gustave