Dải tùy chọn cụ thể từ một phản hồi trong dhclient


7

Tôi cố gắng cấm dhclientcập nhật cấu hình NTP của mình với các máy chủ nhận được qua DHCP, vì đây là mặc định trên Debian / Ubuntu. Tuy nhiên, máy chủ DHCP của tôi bỏ qua danh sách các tùy chọn được yêu cầu (từ requestcài đặt) và các câu trả lời của nó luôn chứa máy chủ NTP.

Vì vậy, tôi muốn xóa tùy chọn trước khi xử lý thêm hoặc ít nhất ghi đè lên nó với một giá trị trống. Ghi đè có thể sử dụng supersedecài đặt, nhưng tôi không quản lý để làm trống. Tôi cũng không thể tìm cách xóa hoàn toàn một tùy chọn.

Trên thực tế, điều gì dẫn đến một giá trị trống là chỉ định một giá trị không hợp lệ trong supersede(ví dụ: chứa các chữ cái, vì chỉ cho phép các giá trị số). Điều này thực sự không hợp lệ và gây ra lỗi trong logfile. Có ai biết một cách tốt hơn?


trả trước không làm những gì bạn muốn? Ngoài ra những tùy chọn bạn đang tìm cách ghi đè?
slm

Từ sự hiểu biết của tôi, prependthêm các giá trị bổ sung vào phía trước của phản ứng. Tôi muốn thay thế hoàn toàn ntp-serverstùy chọn bằng một giá trị trống hoặc loại bỏ nó.
F30

Câu trả lời:


2

Cách dễ dàng:

# rm /etc/dhcp/dhclient-exit-hooks.d/ntp

1
Tôi đã làm điều đó, nhưng không thể tin rằng không có cách nào để bỏ qua một số phần nhất định của phản hồi ngay từ đầu. Khi nó đứng, chỉ cần xóa móc vẫn xuất hiện là giải pháp tốt nhất.
F30

1
Bạn đã nộp báo cáo lỗi? Tôi thực sự ngạc nhiên khi supersede không hoạt động khi tôi thử nó. có vẻ như thay thế "" nên hoạt động như một tuyên bố từ chối.
dfc

1
Tôi đã gửi một yêu cầu tính năng với ISC bây giờ. Thật không may, họ không có trình theo dõi lỗi công khai, nhưng đó là lỗi ISC # 35631. Lỗi Debian # 672232 cũng liên quan đến một chủ đề tương tự.
F30

-1

Tôi nghĩ rằng bạn có thể định cấu hình dhclientthông qua tệp `/etc/dhclient.conf cho nó biết tùy chọn nào bạn muốn nó chính thức yêu cầu các giá trị từ máy chủ DHCP của bạn.

Thí dụ

request subnet-mask, broadcast-address, routers, domain-name, 
    domain-name-servers, host-name;

Bạn có thể tìm hiểu thêm về điều này thông qua dhclient.conftrang người đàn ông.

đoạn trích

There  is a variety of data contained in offers that DHCP servers send to 
DHCP clients.  The data that can be specifically requested is what are
called DHCP Options.  DHCP Options are defined in dhcp-options(5).

The request statement

 [ also ] request [ [ option-space . ] option ] [, ... ];

The request statement causes the client to request that any server 
responding to the client  send  the  client  its  values  for  the  
specified options.   Only  the  option names should be specified in the 
request statement - not option parameters.  By default, the DHCPv4 client 
requests the subnet-mask, broadcast-address, time-offset, routers, 
domain-search, domain-name, domain-name-servers, host-name,  nis-domain, 
nis-servers, ntp-servers and interface-mtu options while the DHCPv6 client 
requests the dhcp6 name-servers and domain-search options.  Note that if you
enter a ´request´ statement, you over-ride these defaults and these options 
will not be requested.

In some cases, it may be desirable to send no parameter request list at all.  
To do this, simply write the  request  statement  but  specify  no 
parameters:

    request;

In most cases, it is desirable to simply add one option to the request list 
which is of interest to the client in question.  In this case, it is best to 
´also request´ the additional options:

    also request domain-search, dhcp6.sip-servers-addresses;

Vô hiệu hóa qua /dhclient-exit-hooks.d?

Trêu chọc bản cài đặt Ubuntu 12.10 tôi nhận thấy thư mục này, /etc/dhcp/dhclient-exit-hooks.dvới tệp này bên trong nó , ntpdate. Nhìn vào tệp này, nó chứa một tập lệnh shell sẽ thực hiện cập nhật trên hệ thống khi hợp đồng thuê được mua hoặc phát hành qua DHCP. Bạn có thể vô hiệu hóa việc cập nhật máy chủ NTP của mình thông qua tập lệnh này, bằng cách bình luận ra tệp này:

ntp_servers_setup() {
    case $reason in
        BOUND|RENEW|REBIND|REBOOT)
            ntp_servers_setup_add
            ;;
        EXPIRE|FAIL|RELEASE|STOP)
            ntp_servers_setup_remove
            ;;
    esac
}


ntp_servers_setup

Như tôi đã nói, câu trả lời của máy chủ DHCP của tôi chứa tùy chọn cụ thể bất kể những gì được yêu cầu.
F30

Giải pháp bổ sung của bạn về cơ bản dường như là tốt nhất, xem thêm câu trả lời của @ dfc. Tuy nhiên, hook tương ứng là ntpvà không ntpdate. Cái sau chỉ ghi cấu hình cho ntpdatecông cụ CLI, điều này ít liên quan đến trình nền NTP.
F30

@ F30 - Có, tôi đã thấy giải pháp của anh ấy, điều đó có vẻ hơi nặng tay khi phải làm theo cách đó nhưng nếu nó hoạt động thì nó hoạt động. Các hook phải khác nhau sau đó trên Debian / Ubuntu, như tôi đã nói hook đó ntpdate, trực tiếp từ bản cài đặt Ubuntu 12.10. Những gì ver. Dù sao bạn cũng đang sử dụng Debian / Ubuntu?
slm

Tôi đang chạy Ubuntu 13.10. Các ntpdatemóc hiện diện cũng như (và một phần của quá trình cài đặt mặc định), nhưng như đã nói ở trên nó chỉ tạo ra một cấu hình cho công cụ CLI. Điều này không có gì khác biệt miễn là bạn không gọi ntpdate. Nếu daemon NTP (gói "ntp") được cài đặt, đó cũng là ntphook. Điều đó thiết lập một bổ sung ntp.confvà cũng khởi động lại daemon, sau đó ưu tiên cấu hình mới.
F30
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.