Làm cách nào để ghi đè máy chủ tên do DHCP cung cấp?


12

Tôi (nghĩ) rằng tôi đã cấu hình một địa chỉ IP tĩnh trong /etc/network/interfaces:

# The primary network interface 
auto eth0 
iface eth0 inet static
    address 10.1.1.2
    netmask 255.255.255.0
    network 10.1.1.0
    broadcast 10.1.1.255
    gateway 10.1.1.1

Và tôi thay đổi tập tin /etc/resolv.confđể bao gồm các máy chủ tên mong muốn.

Sau đó tôi khởi động lại mạng sudo /etc/init.d/networking restart

Nhưng sau một vài giờ, độ phân giải luôn luôn quay trở lại máy chủ tên DHCP.


Tôi cũng nên nói rằng đây là Ubuntu Server chỉ có l0eth0giao diện.


resolvconfgói cài đặt?
Gilles 'SO- ngừng trở nên xấu xa'

Bạn đang cố gắng sử dụng dhclient trên một giao diện mạng khác (có thể là wifi hoặc giao diện quay số), hoặc dhclient chạy không chính xác trên eth0 mặc dù nó được coi là tĩnh?
poolie

Chỉ có eth0 và lo0, IP tôi đặt thủ công giống như IP DHCP tôi sẽ nhận được (máy chủ DHCP sẽ luôn phục vụ cùng một IP tĩnh). Nhưng tôi không muốn sử dụng máy chủ tên do máy chủ DHCP cung cấp, vì vậy tôi nghĩ rằng tôi sẽ tự đặt IP và sẽ không có DHCP, nhưng tôi không hiểu tại sao độ phân giải vẫn được cập nhật.
David park

Gilles - không, tôi đã chạy: dpkg -L decvconf và nhận: Gói `giải quyết 'không được cài đặt.
David park

Câu trả lời:


34

Nếu bạn muốn ghi đè hoặc chắp thêm vào các máy chủ tên được đề xuất bởi máy chủ DHCP, bạn có thể định cấu hình này trong /etc/dhcp/dhclient.conf, ví dụ:

interface "eth0" {
    prepend domain-name-servers 10.0.0.2;
}

Bạn cũng có thể thực hiện việc này từ điều khiển "Chỉnh sửa kết nối" trong chỉ báo mạng trong Unity hoặc Gnome.


4
Đây là giải pháp tốt nhất, tôi đã đăng một tùy chọn khác, nhưng nhận ra rằng đặt IP tĩnh không phải là ý tưởng hay trong môi trường AWS EC2. :)
David park

Điều gì nếu bạn muốn trả trước một số máy chủ tên miền?
dangonfast

Chuẩn bị máy chủ tên miền 127.0.0.1dường như loại bỏ máy chủ tên được cung cấp bởi dhcp (điều này không xảy ra khi chuẩn bị máy chủ tên khác)
dangonfast

2
Thay thế prependbằng supersedeđể ghi đè hoàn toàn giá trị DHCP.
Sqerstet

1

Một giải pháp sẽ giải quyết vấn đề của bạn là cấu hình resolvconfgói của bạn . Điều này sẽ được ưu tiên cho các máy chủ tên ưa thích của bạn cũng như bất kỳ cài đặt mong muốn nào khác, cài đặt giải quyếtvv như thông tin tìm kiếm và tên miền.

Chỉnh sửa tập tin: /etc/resolvconf/resolv.conf.d/head

Đặt máy chủ tên bạn muốn và bất kỳ cấu hình nào bạn muốn ưu tiên khi có thay đổi mạng ở đó. Khi có bất kỳ thay đổi nào đối với mạng, cấu hình sẽ luôn được ưu tiên.

Một ví dụ về /etc/resolvconf/resolv.conf.d/headtập tin:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

nameserver 8.8.8.8
search mydomain.com

Nhìn vào câu trả lời cho một câu hỏi tương tự:
ghi đè máy chủ tên dns

Lưu ý:
Đảm bảo có một nguồn cấp dữ liệu sau lần nhập cuối cùng. Hầu hết các biên tập viên sẽ tự động cung cấp một nguồn cấp dữ liệu khi lưu tệp.


-2

Tôi tìm thấy một tài liệu tham khảo để loại bỏ các khách hàng dhcp, tôi nghĩ đó là thủ phạm chính. Tôi đã làm điều này và chưa thấy vấn đề. Sẽ đợi 'đến sáng để xác nhận, nhưng có vẻ như máy khách dhcp vẫn đang chạy và phải dừng lại và gỡ cài đặt.

apt-get remove isc-dhcp-client dhcp3-client dhcpcd

Tôi hơi bối rối nếu giải pháp là lệnh trả trước hoặc nếu nó thực sự loại bỏ ứng dụng khách DHCP.
Eugene van der Merwe

@EugenevanderMerwe Đó là lệnh trả trước. Người đăng cho biết "Đây là giải pháp tốt nhất, tôi đã đăng một tùy chọn khác, nhưng nhận ra rằng việc đặt IP tĩnh không phải là ý tưởng hay trong môi trường AWS EC2. :)"
Grammargeek

-3

Theo nguyên tắc thông thường, bạn phải luôn gỡ cài đặt tất cả các dịch vụ mạng bằng cách sử dụng apt-get --purge remove <package-name>. Bằng cách này, tất cả các tệp cấu hình cũng sẽ bị xóa.

Trong trường hợp này, lệnh sẽ là:

apt-get --purge remove isc-dhcp-client isc-dhcp-common

Lệnh này sẽ loại bỏ hoàn toàn isc-dhcp-client.


4
Điều này có liên quan như thế nào và tại sao bạn nghĩ rằng đó là một quy tắc chung tốt? Anh ta không muốn ngừng sử dụng DHCP?
poolie
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.