Thay đổi địa chỉ để thử lại tìm nạp địa chỉ IP


10

Hóa ra raspberry pi không cố gắng lắm để có được địa chỉ IP bằng dhcp, trong khi mất điện, rpi của tôi đã khởi động nhanh hơn máy chủ dhcp và không bao giờ có địa chỉ IP. Trong tình huống như vậy, rpi dường như đã được khởi động, nhưng nó không nhận được địa chỉ IP và tôi không bao giờ thấy yêu cầu dhcp từ nó cho đến khi tôi khởi động lại nó.

dhclient được chạy như vậy:

dhclient -1 -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0

Tôi không thể tìm thấy bất kỳ cách nào để thay đổi các đối số thành dhclient, đối số -1 có thể là thủ phạm. Làm cách nào tôi có thể thực hiện raspberrypi thử lại các yêu cầu dhcp cho đến khi nhận được phản hồi?

Chỉnh sửa: điều này liên quan đến bản phân phối Raspbian khàn khàn.


1
Vấn đề tương tự với wifi. Nếu Bộ định tuyến Wifi được bật khi khởi động, mọi thứ đều ổn, ngay cả khi khởi động lại bộ định tuyến. Nhưng nếu bộ định tuyến tắt khi mâm xôi khởi động thì nó không bao giờ có được IP. Trân trọng

Tôi cũng có vấn đề tương tự. Tuy nhiên, tôi không biết làm thế nào dhclient được chạy. Có một số cấu hình hoặc tôi cần phải làm một cái gì đó cho điều đó?
Kangkan

Câu trả lời:


7

Xóa -1khỏi các đối số dòng lệnh của bạn, sau đó chỉnh sửa timeoutretrycác giá trị /etc/dhclient.conftheo ý thích của bạn. Bạn có thể nhìn vào trang man ( man dhclient.conf) để biết thêm chi tiết.


Vấn đề là, như đã nói, tôi không thể tìm thấy bất kỳ cách nào để thay đổi dòng lệnh của dhclient, dường như bằng cách nào đó, được khởi động một cách kỳ diệu bằng cách nào đó trong gói ifupdown .deb khi một cái gì đó phân tích / etc / network / giao diện
số

@nos Bạn cần tìm tập lệnh init mạng. Tôi không thể nhớ nó ở đâu.
Alex Chamberlain

@Alex Chamberlain Hóa ra dòng lệnh để bắt đầu dhclient được mã hóa cứng trong tệp nhị phân / sbin / ifup. Vì vậy, tôi đang tìm giải pháp thay thế vào thời điểm này.
số

Xin lỗi vì điều đó. Dù sao, distro đó là gì? Lạ thay, họ sẽ mã cứng thành một thứ nhị phân. Giải pháp khôn ngoan, bạn chỉ cần thêm một vài dòng vào RC.local để tiêu diệt quy trình pháp lý hiện có và sau đó bắt đầu quy trình của riêng bạn với các đối số tùy chỉnh, v.v.
Munkeh

Chỉnh sửa bài đăng - Tôi đang sử dụng rasbpian
nos

1

Nội dung của / etc / mạng / giao diện của bạn là gì?

Tôi giả sử có auto eth0 vì nó truy vấn DHCP khi khởi động.

Điều gì nếu bạn thay đổi điều đó thành allow_hotplug eth0? Điều đó sẽ phản ứng với những thay đổi đối với giao diện (cáp được chèn / loại bỏ), nếu tôi hiểu đúng về nó.

(Tất cả điều này chỉ là phỏng đoán có giáo dục của tôi).


Mẹo này hoạt động rất tốt đối với tôi: nó cho phép cắm nóng và tăng tốc thời gian khởi động. Nhưng nó phải được viết là "cho phép hotplug eth0".
dùng27164

0

Có một cách giải quyết được đưa ra ở đây bởi Jeroen: https://bugs.launchpad.net/raspbian/+orms/1125066

Tôi đã thiết lập cách giải quyết và khởi động lại - có vẻ ổn vào lúc này. Sẽ xác nhận nếu sự cố được giải quyết trong bản cập nhật sau khi thử nghiệm một lúc.

Đây là cách giải quyết:

Cách giải quyết là tạo tập lệnh bao bọc bằng cách đổi tên / sbin / dhclient thành / sbin / dhclient-bin và nhưng văn bản bên dưới trong / sbin / dhclient và sau đó chmod nó thành 777:

#!/bin/sh
/sbin/dhclient-bin -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0
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.