Tôi đang cố gắng định cấu hình dnsmasq(8)
trên hệ thống Debian GNU / Linux trong DHCP
mạng riêng. Trong quá trình thiết lập thủ công cục bộ - sau khi cài đặt dnsmasq
istelf - người ta có thể chỉ cần bao gồm dòng
prepend domain-name-servers 127.0.0.1;
vào /etc/dhcp/dhclient.conf
và khởi động lại mạng. Điều này sẽ bao gồm các máy chủ địa phương trong /etc/resolv.conf
và một đã sẵn sàng để đi. (Xem thêm: http://wiki.debian.org/HowTo/dnsmasq#Local_Caching )
Nhưng những nỗ lực để làm điều tương tự từ xa, đặc biệt là khi làm việc với phần mềm quản lý cấu hình , sẽ dẫn đến kết nối mạng bị mất. Chà, vì mục tiêu không phải là khởi động lại mạng, mà là cập nhật resolv.conf
..:
Làm thế nào một người có thể buộc dhclient(8)
phải cập nhật resolv.conf
trong khi giữ cho các kết nối mạng luôn hoạt động?
[BIÊN TẬP]
Dưới đây xin vui lòng tìm một kịch bản làm việc cho tôi:
if grep '^\s*nameserver\>.\+\<127\.0\.0\.1\>' /etc/resolv.conf >/dev/null; then
: # do nothing
else
grep -v '^\s*nameserver\>' /etc/resolv.conf > /tmp/resolv.conf.new
echo "nameserver 127.0.0.1" >> /tmp/resolv.conf.new
grep '^\s*nameserver\>' /etc/resolv.conf >> /tmp/resolv.conf.new
mv -f /tmp/resolv.conf.new /etc/resolv.conf
fi
Điều đó thật khó xử - và tôi vẫn đang tìm kiếm một giải pháp tốt hơn.
resolv.conf
. Lưu ý rằng chính máy khách DHCP không phải là vấn đề ở đây, đó là resolv.conf
tệp: Nó được xem xét bởi resolver(3)
C-API và do đó được sử dụng bởi các phần mềm khác. Thông thường, bản cập nhật được thực hiện bởi một trong hai dhclient(8)
hoặc resolvconf(8)
, nhưng reset đầu tiên kết nối mạng và sau này thất bại trong việc giữ gìn cấu hình hiện tại -
dhclient(8)
trang hướng dẫn nói nó hỗ trợ một số giao thức sôi nổi gọi là "Omapi" cho phép cấu hình từ xa, và đề cập đến nhữngomshell
công cụ có thể được sử dụng để thiết lập / thông số nhất định unset trong các khách hàng và cập nhật nó, cũng như đóng cửa và khởi động lại. Bạn đã khám phá tuyến đường này?