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 -x
và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 .d
tậ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)