Làm thế nào để xem DHCP client làm gì?


14
  • Máy khách dhcp trên Linux có ghi nhật ký nào không?
  • Nếu không, các bản ghi có thể được kích hoạt và làm thế nào?
  • Nếu nó viết nhật ký, chúng có thể được tìm thấy ở đâu?
  • Nhật ký thông thường của máy khách dhcp trông như thế nào khi lấy IP và máy chủ tên từ máy chủ DHCP?
  • Tôi có thể tìm mã nguồn của máy khách DHCP ở đâu?

Trong trường hợp có sự khác biệt có liên quan giữa các Linux: Tôi quan tâm đến Debian 8.1 (cài đặt tối thiểu mặc định amd64).


1
Bạn sẽ cần phải cụ thể hơn "máy khách dhcp trên Linux". Có rất nhiều máy khách dhcp khác nhau dành cho Linux và tất cả chúng đều ghi lại các cách khác nhau. Có lẽ có một mặc định cho Debian 8.1 mặc dù tôi không thể nhớ nó là gì.
qasdfdsaq 24/07/2015

Internet Systems Consortium DHCP Client 4.3.1 Bản quyền 2004-2014 Hiệp hội Internet Systems. Đã đăng ký Bản quyền. Để biết thông tin, vui lòng truy cập isc.org/software/dhcp
Gustave

Câu trả lời:


6

Máy khách DHCP của ISC thường được gọi dhclienttrong hầu hết các bản phân phối Linux. Từ man dhclient:

Máy khách thường không in đầu ra trong chuỗi khởi động. Nó có thể được thực hiện để phát ra các thông báo dài dòng hiển thị các sự kiện chuỗi khởi động cho đến khi nó có được một địa chỉ bằng cách cung cấp đối số dòng lệnh -v. Trong cả hai trường hợp, máy khách ghi nhật ký tin nhắn bằng cách sử dụng tiện ích syslog (3).

Có hai cách để đọc nhật ký hệ thống của bạn. Trên hầu hết các hệ thống sử dụng systemd, bạn phải sử dụng journalctl, trong khi đó cat /var/log/sysloglà hợp lệ cho các hệ thống vẫn sử dụng hệ thống init truyền thống.

Do đó, nếu hệ thống của bạn đang sử dụng tiện ích ghi nhật ký của systemd, bạn có thể sử dụng journalctl | grep -Ei 'dhcp'để nhận nhật ký máy khách DHCP. Nếu không, nhập cat /var/log/syslog | grep -Ei 'dhcp'.

Đây là những gì nhật ký máy khách DHCP của tôi thường trông như sau:

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
Trên tạp chí Debian 8.1 hoạt động, trên máy chủ ubfox-14.04.2, các mục nhập nằm trong / var / log / syslog. Cảm ơn. Nhưng: chỉ có rất ít mục, ví dụ chỉ có địa chỉ IP được ghi, máy chủ DNS thì không. Có thể cấu hình đầu ra dài dòng hơn?
Gustave

3

Một cách hacky (nhưng hiệu quả) để gỡ lỗi dhclient trên nhiều nền tảng Linux là cho phép bash trace trong / sbin / dhclient-script .

dhclient chạy tập lệnh đó trên hầu hết các biến thể HĐH mà tôi đã kiểm tra (RedHat, Debian, v.v.).

Chỉ cần thêm -xvào shebang (dòng đầu tiên) trong tập lệnh đó sẽ cho phép truy tìm từng dòng trên bảng điều khiển, ví dụ:

#!/bin/bash -x

Sau đó, bạn có thể chạy, ví dụ

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

Và bạn sẽ thấy rất nhiều đầu ra, không chỉ từ dhclient-script, mà từ tất cả các .dtập lệnh được bao gồm trong / etc / dhcp *.

Đầu ra theo dõi sẽ cho phép bạn tìm hiểu điều gì đang xảy ra và quyết định nào mà mã đang tạo ra (tham khảo chính tập lệnh khi nhìn vào đầu ra).

Bạn thường có thể suy ra các đầu vào (ví dụ: các tham số bao gồm IP, GATEWAY, v.v.) tập lệnh nhận được từ đầu ra này, nhưng nếu không, bạn có thể tạm thời thêm một cái gì đó như thế này vào tập lệnh ngay trước khi thoát:

   env | logger -t dhclient-debugging

Sau đó kiểm tra nhật ký của bạn sau khi chạy dhclient (/ var / log / message hoặc / var / log / syslog)


-3

Vui lòng tìm câu trả lời nội tuyến.

  • Máy khách dhcp trên Linux có ghi nhật ký nào không?


    Vâng, nó làm.

  • Nếu không, các bản ghi có thể được kích hoạt và làm thế nào?


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

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


  • Nếu nó viết nhật ký, chúng có thể được tìm thấy ở đâu?

    /var/log/dhcpd.log


  • Nhật ký thông thường của máy khách dhcp trông như thế nào khi lấy IP và máy chủ tên từ máy chủ DHCP?


galaxy dhcpd: DHCPDISCOVER từ 00: 0d: 62: d7: a0: 12 qua eth0
galaxy dhcpd: DHCPOFFER trên 192.168.1.5 đến 00: 0d: 62: d7: a0: 12 qua eth0
galaxy dhcpd: DHCPREQUEST .1.1) từ 00: 0d: 62: d7: a0: 12 qua eth0
galaxy dhcpd: DHCPACK trên 192.168.1.5 đến 00: 0d: 62: d7: a0: 12 qua eth0


2
OP đang nói về máy khách DHCP . DHCPD là daemon máy chủ DHCP.
Larssend 24/07/2015

Dường như không có tập tin nào có tên dhcpd.conf trên hệ thống của tôi. Có một tập tin /etc/dhcp/dhclient.conf. Không có tệp syslog.conf, nhưng tệp /etc/rsyslog.conf. Tôi đã thực hiện các thay đổi cấu hình cho các tệp đó, khởi động lại rsyslog, tắt eth0, bật lại. Nhưng không có tệp nhật ký xuất hiện. Tôi nhận được một số tin nhắn DHCP trên bàn điều khiển. Ngay cả sau khi khởi động lại máy tôi không nhận được thông báo nhật ký.
Gustave
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.