Làm cách nào để duy trì các tùy chọn giải quyếtvv như xoay, hết thời gian trong CentOS?


9

CentOS sẽ xóa sạch mọi thay đổi thủ công được thực hiện /etc/resolv.conftheo định kỳ. Mặc định trong Linux là kém về việc thất bại trong một thời gian hợp lý (máy chủ tên truy vấn theo cùng một thứ tự mỗi lần, hết thời gian 5 giây, 2 lần thử lại).

Do đó, DNS đầu tiên trong bạn resolv.confvề cơ bản là đường dẫn quan trọng. Nếu thất bại, bạn có thể xem xét 10 giây trước khi thất bại.

Những giá trị mặc định là tweakable (xem resolv.conf trang người đàn ông), nhưng làm thế nào bất kỳ thay đổi có thể được thực hiện thường xuyên trong CentOS và tồn tại qua khởi động lại vv?

Câu trả lời:


12

Câu trả lời có thể được tìm thấy trong /sbin/dhclient-script:

if [ -n "${RES_OPTIONS}" ]; then
    echo "options ${RES_OPTIONS}" >> ${rscf}
fi

Tuy nhiên, không rõ ràng lắm khi bạn có thể đặt tập lệnh RES_OPTIONSđể tạo tập lệnh - một số thứ như miền tìm kiếm có thể được đặt trong ifcfg-ethXtệp, nhưng các tùy chọn trình phân giải được đặt ở nơi khác. Các tập tin bạn muốn là trong thực tế /etc/sysconfig/network. Để đặt các tùy chọn có liên quan, hãy thêm một cái gì đó giống như dòng này vào tệp đó:

RES_OPTIONS="rotate timeout:1 retries:1"

Điều đó sẽ đặt thời gian chờ thành 1 giây, sử dụng một lần thử lại và yêu cầu khách hàng xoay các bộ phân giải của nó theo yêu cầu thay vì tuần tự đi qua danh sách mỗi lần.

Nếu bạn muốn các thay đổi có hiệu lực ngay lập tức, thì hãy ra service network restartlệnh và kiểm tra cái mới của bạn /etc/resolv.conftrong tất cả vinh quang của nó. Đây là những gì tôi trông giống như khi thử nghiệm điều này:

# cat /etc/resolv.conf 
; generated by /sbin/dhclient-script
search example.com
options rotate timeout:1 retries:1
nameserver 10.1.1.2
nameserver 10.1.1.1

1

Câu trả lời được chấp nhận là khi sử dụng các tập lệnh mạng kế thừa. Nếu bạn sử dụng NetworkManager, bạn thậm chí có thể không có /etc/sysconfig/network, và nếu bạn làm điều đó thì nó vẫn sẽ không được sử dụng cho các kết nối được quản lý bởi NetworkManager .

Nếu bạn sử dụng Trình quản lý mạng :

Để thêm tùy chọn, hãy thêm rotatevào bond0:

nmcli con mod bond0 +ipv4.dns-options rotate

Để loại bỏ tùy chọn đó:

nmcli con mod bond0 -ipv4.dns-options rotate

Điều +tốt là thay đổi tùy chọn quá; NetworkManager đủ thông minh để phát hiện các tùy chọn hiện có và cập nhật chúng. Ví dụ: thay đổi giá trị thời gian chờ:

root@debian:~# nmcli con show bond0 |grep ipv4.dns-options
ipv4.dns-options:                       "rotate,timeout:5"
root@debian:~# nmcli con mod bond0 +ipv4.dns-options timeout:3
root@debian:~# nmcli con show bond0 |grep ipv4.dns-options
ipv4.dns-options:                       "rotate,timeout:3"

Điều này có nghĩa là giá trị bị bỏ qua để loại bỏ và thậm chí không cần thiết. Để loại bỏ thời gian chờ:

nmcli con mod bond0 -ipv4.dns-options timeout

Nó cũng sẽ hoạt động với giá trị hết thời gian chờ nhưng giá trị đó sẽ bị bỏ qua , do đó, việc xóa timeout:5cũng sẽ xóa mọi giá trị hết thời gian chờ khác.

Lưu ý: Trong khi xem xét vấn đề này, tôi đã gặp một lỗi liên quan đã được sửa trong trình quản lý mạng v1.14.6 , v1.15.2-devv1.16 . Nếu bạn gặp bất kỳ vấn đề nào, hãy kiểm tra phiên bản quản lý mạng của bạn trước.


1
Khi thêm câu trả lời mới vào câu trả lời cũ được chấp nhận, bạn nên lưu ý câu hỏi và câu trả lời cũ bao nhiêu. Những gì được coi là di sản bây giờ không nhất thiết phải như vậy hơn 4 năm trước khi câu hỏi được đặt ra. Thay vì gắn thẻ là di sản, nếu bạn lưu ý khi mặc định thay đổi (phiên bản CentOS - 8 có lẽ là gì?) Và sau đó tiến hành thêm thông tin của bạn thì đó sẽ là một câu trả lời hữu ích hơn nhiều. Hoặc hỏi lại và trả lời phiên bản của riêng bạn (đối với các phiên bản CentOS mới hơn hoặc khi sử dụng Trình quản lý mạng chẳng hạn) và liên kết lại với phiên bản cũ hơn này để tham khảo.
Adam C

Cách cũ vẫn có thể hợp lệ mặc dù ... NetworkManager đã xuất hiện từ lâu nhưng bạn vẫn có thể định cấu hình theo cách cũ trong cả Debian và CentOS.
Thomas Guyot-Sionnest

0

Nếu bạn cần thực hiện việc này với các tệp phẳng thay vì nmclicác lệnh (chẳng hạn như với công cụ quản lý cấu hình), Red Hat cung cấp một giải pháp khác.

Tạo một tập lệnh /etc/NetworkManager/dispatcher.d/15-resolv, sao chép một tùy chỉnh /etc/resolv.confvào vị trí.

#!/bin/bash
#
# Description : script to override default resolv.conf file
# with customized file.
cp -f /etc/resolv.conf.custom /etc/resolv.conf

Sau khi khởi động lại Trình quản lý mạng, tập lệnh này sẽ được thực thi, thay thế tệp bằng tệp của riêng bạn.

https://access.redhat.com/solutions/61921


0

Bạn có thể yêu cầu NetworkManager không quản lý /etc/resolv.conftất cả các tệp cùng nhau.

  1. Tạo /etc/NetworkManager/conf.d/90-dns-none.conftập tin với nội dung sau:

    [main]
    dns=none
    
  2. Tải lại dịch vụ NetworkManager:

    systemctl reload NetworkManager
    

Tài liệu này xuất phát từ một giải pháp thứ hai liên quan đến việc thay thế /etc/resolv.confbằng một liên kết tượng trưng đến tệp của bạn.

Đọc cái này: 22. Cấu hình thủ công tệp /etc/resolv.conf


-1

chỉ cần thêm

resolv_conf_options=rotate\ timeout:1\ retries:1

trong bạn resolvconf.conf


Bạn có chắc chắn đó là một tùy chọn trong CentOS (có liên kết đến tài liệu / nội dung nào đó để hiển thị) không? Tôi thấy nó là một tùy chọn FreeBSD và Ubuntu nhưng không tìm thấy nó trong CentOS
Adam C

Đây là một phần của gói openresolv
Evgeny F

1
đó dường như không phải là một gói tiêu chuẩn, vì vậy không thực sự là một lựa chọn cho CentOS, đặc biệt là trong các môi trường được kiểm soát, mặc dù không phải là một lựa chọn tồi
Adam C

-3

Tôi đã gặp vấn đề tương tự lần trước với VPS linux mới đăng ký của tôi. Làm thế nào tôi giải quyết nó là sử dụng lệnh chattr + i để làm cho tập tin bất biến. Chỉ cần truy cập thư mục / etc và chạy nó sau khi bạn đã thực hiện các thay đổi cần thiết cho tệp giải quyếtvv:

chattr + i decv.conf

Nếu bạn muốn hoàn nguyên cài đặt, chỉ cần làm điều này:

chattr -i decv.conf

Hướng dẫn đầy đủ để bạn tham khảo: http://boxtutor.com/fix-etcresolv-conf-is-not-saving-after-server-reboot/


Đó sẽ là một vấn đề tiềm ẩn ở đây bởi vì sau đó nó sẽ không thể nhận các thay đổi đối với các máy chủ tên từ DHCP - nó sẽ không thay đổi thường xuyên nhưng tôi vẫn muốn nó hoạt động
Adam C
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.