Tại sao dhclient vẫn chạy khi tôi chọn IP tĩnh?


15

Tôi sửa đổi dhcp thành tĩnh trong / etc / mạng / giao diện (như bên dưới).

# The primary network interface
auto eth0
iface eth0 inet static
netmask 255.255.0.0
address 10.10.130.128
gateway 10.10.1.1

Sau đó khởi động lại giao diện.

$ sudo ifdown eth0; sudo ifup eth0
...
$ ifconfig
eth0      Link encap:Ethernet 
          inet addr:10.10.130.128  Bcast:10.10.255.255  Mask:255.255.0.0

Vì vậy, địa chỉ mới đá vào.

Nhưng DHCP vẫn còn đó chứ?

$ ps aux | grep dhc
root    ... dhclient3 -e IF_METRIC=100 -pf /var/run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases -1 eth0

Điều đó có bình thường không? Nếu không, làm thế nào để khởi động lại giao diện trong IP tĩnh trong khi dừng DHCP cùng một lúc?

Cảm ơn rất nhiều.


Câu trả lời:


22
  1. Trước tiên bạn phải tắt giao diện (ở chế độ dhcp) sudo ifdown eth0
  2. Sau đó chỉnh sửa cấu hình nano /etc/network/interfaces

    # The primary network interface
    auto eth0
    iface eth0 inet static
    netmask 255.255.0.0
    address 10.10.130.128
    gateway 10.10.1.1
    
  3. Đưa giao diện trở lại sudo ifup eth0

Nếu không dhclientthì tắt chính xác,


1
Xin lỗi, nhưng ai đó có thể giải thích chính xác điều này khác với những gì được thực hiện trong OP ở đây không? Tôi đã đọc điều này ba lần và dường như tôi không thể nói được sự khác biệt.
fostandy

Có phải là về việc sửa đổi ('chạm') tệp để ngày thay đổi? Tôi có nên chỉ chỉnh sửa tập tin SAU KHI tôi đã đưa giao diện xuống không? Nếu vậy, làm thế nào tôi có thể 'hoàn tác' thực tế là tôi đã chỉnh sửa nó trước đây?
fostandy

2
@fostandy " ifupdown không hỗ trợ sửa đổi định nghĩa giao diện trong / etc / mạng / giao diện trong khi các giao diện liên quan đã hết " . Tại đây, giao diện được dừng lại trước khi tập tin được sửa đổi.
Bruno

1
@Bruno - cảm ơn đã làm rõ. Vì tò mò bạn sẽ làm gì nếu bạn đã chỉnh sửa /etc/network/interfacestập tin? Có cách nào để buộc thiết lập lại mặc định và bắt đầu lại không?
fostandy

7
Tôi đã bối rối về lý do tại sao nó nên tạo ra sự khác biệt nhưng sau đó một người bạn thông minh của tôi đã giải thích nó rất độc đáo. Vấn đề là nếu tệp được chỉnh sửa và sau đó ifdownđược chạy, trình quản lý mạng không biết rằng nó cần phải dừng lại dhclient, vì tất cả những gì nó thấy trong interfacestệp là một mục tĩnh. Sau đó, giao diện không hoạt động, phát hành ifupđọc chính xác và áp dụng các cài đặt tĩnh, nhưng nó cũng không biết rằng dhclientđã được bắt đầu.
paracycl

2

Tôi đã có cùng một vấn đề (Ubuntu 16.04). Tuy nhiên, đây là một ví dụ trên đám mây và tôi không thể tắt giao diện một cách dễ dàng.

Câu trả lời ngắn: Tôi đã xóa tệp /etc/network/interfaces.d/50-cloud-init.cfgifup được kích hoạt bởi tệp cụ thể đó.

Câu trả lời dài: Tôi đã cấu hình giao diện bằng /etc/network/interfacesđịa chỉ IP tĩnh, nhưng tôi vẫn tìm thấy trong daemon.log rằng dhclient vẫn đang yêu cầu IP từ DHCP và dhclient đã được khởi động thông qua systemd. Cụ thể, systemd được gọi là đơn vị mạng.service, gọi là ifup, đọc cả tệp giao diện và tệp 50-cloud-init.cfg. Kết quả là một số xung đột, nhưng vẫn là một mạng chức năng.


Tôi đã có cùng một vấn đề chính xác và đã học được một cách khó khăn, rằng một tệp sau này (như 99-eth0.cfg) thực sự KHÔNG ghi đè các tuyên bố trước đó! Vì vậy, cảm ơn bạn đã đóng góp;)
Daywalker

1

Tôi đã tìm thấy cho tôi, điều này là do NetworkManager của gnome vẫn đang chạy và nghĩ rằng nó phụ trách thiết bị. Nhìn chung, điều này đáng lẽ phải rõ ràng vì psđã cho thấy dhclient được đưa ra bởi NetworkManager.

Khi tôi khởi động lại hệ thống của mình, thiết bị đã chuyển sang "không được quản lý" trong NetworkManager và thiết bị đã ngừng cố gắng định cấu hình nó. Có lẽ tôi đã có thể đạt được điều tương tự chỉ bằng cách dừng / khởi động lại Trình quản lý mạng, tôi không chắc chắn.

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.