วิธีดูไคลเอ็นต์ DHCP ว่าทำอะไร


14
  • ไคลเอ็นต์ dhcp บน Linux เขียนบันทึกใด ๆ หรือไม่?
  • ถ้าไม่สามารถเปิดใช้งานบันทึกได้และอย่างไร
  • ถ้ามันเขียนบันทึกพวกเขาจะพบได้ที่ไหน?
  • บันทึกทั่วไปของไคลเอ็นต์ dhcp มีลักษณะอย่างไรเมื่อรับ IP และเซิร์ฟเวอร์ชื่อจากเซิร์ฟเวอร์ DHCP
  • ฉันจะหาซอร์สโค้ดของไคลเอนต์ DHCP ได้ที่ไหน

ในกรณีที่มีความแตกต่างที่เกี่ยวข้องระหว่าง Linux: ฉันสนใจ Debian 8.1 (การติดตั้งขั้นต่ำเริ่มต้น amd64)


1
คุณจะต้องเจาะจงมากกว่า "ไคลเอนต์ dhcp บน Linux" มีไคลเอ็นต์ dhcp ที่แตกต่างกันมากมายสำหรับ Linux และพวกเขาทั้งหมดบันทึกวิธีที่แตกต่างกัน อาจมีค่าเริ่มต้นสำหรับ Debian 8.1 แต่ฉันจำไม่ได้ว่ามันคืออะไร
qasdfdsaq

Consortium ของระบบอินเทอร์เน็ต 4.3.1 ลิขสิทธิ์ 2004-2014 Consortium ระบบอินเทอร์เน็ต สงวนลิขสิทธิ์. สำหรับข้อมูลโปรดไปที่isc.org/software/dhcp
Gustave

คำตอบ:


7

ไคลเอ็นต์ DHCP ของ ISC มักจะถูกเรียกdhclientในการแจกแจงลินุกซ์ส่วนใหญ่ จากman dhclient:

ตามปกติไคลเอ็นต์จะไม่พิมพ์ผลลัพธ์ในระหว่างการเริ่มต้น มันสามารถทำเพื่อปล่อยข้อความ verbose แสดงเหตุการณ์ลำดับการเริ่มต้นจนกว่าจะได้รับที่อยู่โดยการจัดหาอาร์กิวเมนต์บรรทัดคำสั่ง -v ไม่ว่าในกรณีใดลูกค้าบันทึกข้อความโดยใช้เครื่องมืออำนวยความสะดวก syslog (3)

มีสองวิธีที่เป็นไปได้ในการอ่านบันทึกระบบของคุณ บนระบบส่วนใหญ่ที่ใช้ systemd คุณต้องใช้journalctlในขณะที่cat /var/log/syslogใช้ได้กับระบบที่ยังคงใช้ระบบเริ่มต้นดั้งเดิม

ดังนั้นหากระบบของคุณใช้ระบบอำนวยความสะดวกในการบันทึกของ 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
บน Debian 8.1 journalctl ทำงานบน ubuntu-14.04.2-server รายการนั้นอยู่ใน / var / log / syslog ขอบคุณ แต่มีเพียงไม่กี่รายการเท่านั้นตัวอย่างเช่นที่อยู่ IP เท่านั้นที่ถูกบันทึกเซิร์ฟเวอร์ DNS ไม่ เป็นไปได้หรือไม่ที่จะกำหนดค่าเอาต์พุต verbose มากขึ้น?
กุสตาฟ

3

hacky ( แต่มีประสิทธิภาพ) วิธีการแก้ปัญหา dhclient บนแพลตฟอร์มลินุกซ์จำนวนมากที่จะช่วยให้การทุบตีการติดตามในsbin /

dhclient รันสคริปต์นั้นในระบบปฏิบัติการส่วนใหญ่ที่ฉันเคยตรวจสอบแล้ว (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 / ข้อความหรือ / var / log / syslog)


-3

กรุณาค้นหาคำตอบแบบอินไลน์

  • ไคลเอ็นต์ dhcp บน Linux เขียนบันทึกใด ๆ หรือไม่?


    ใช่.

  • ถ้าไม่สามารถเปิดใช้งานบันทึกได้และอย่างไร


 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


galaxy dhcpd: DHCPDISCOVER จาก 00: 0d: 62: d7: a0: 12 ผ่าน eth0
galaxy dhcpd: DHCPOFFER บน 192.168.1.5 ถึง 00: 0d: 62: d7: a0: 12 ผ่าน eth0
galaxy dhcpd: DHCPREQUEST สำหรับ 192.168.1.5 (192.168.1.5) .1.1) จาก 00: 0d: 62: d7: a0: 12 ผ่าน eth0
galaxy dhcpd: DHCPACK เมื่อ 192.168.1.5 ถึง 00: 0d: 62: d7: a0: 12 ผ่าน eth0


2
สหกรณ์มีการพูดคุยเกี่ยวกับ DHCP ลูกค้า DHCPD เป็น daemon เซิร์ฟเวอร์ DHCP
Larssend

ดูเหมือนว่าจะไม่มีไฟล์ชื่อ dhcpd.conf ในระบบของฉัน มีไฟล์ /etc/dhcp/dhclient.conf ไม่มีไฟล์ syslog.conf แต่เป็นไฟล์ /etc/rsyslog.conf ฉันทำการเปลี่ยนแปลงการกำหนดค่ากับไฟล์เหล่านั้นเริ่ม rsyslog ใหม่ปิดการทำงานของ eth0 เปิดสวิตช์อีกครั้ง แต่ไม่มีไฟล์บันทึกปรากฏขึ้น ฉันได้รับข้อความ DHCP บนคอนโซล แม้หลังจากรีสตาร์ทเครื่องฉันก็ไม่ได้รับข้อความบันทึก
กุสตาฟ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.