Nó có nghĩa là gì khi nó nói BOOTPROTO=none
trong /etc/sysconfig/network-scripts/ifcfg-eth0
tập tin.
Tôi nhớ đã từng có BOOTPROTO=static
và rất rõ ràng và thẳng thắn khi nói với chúng tôi rằng nếu IPADDR=<x.x.x.x>
được đưa ra, máy chủ sẽ đưa ra địa chỉ IP được chỉ định. Tương tự như vậy, BOOTPROTO=dhcp
sẽ tìm một máy chủ DHCP để lấy địa chỉ IP động. Redhat nói:
BOOTPROTO=protocol
where protocol is one of the following:
none — No boot-time protocol should be used.
bootp — The BOOTP protocol should be used.
dhcp — The DHCP protocol should be used.
Có nghĩa là nếu chúng ta không chỉ định IP trong tệp ifcfg-eth0, nó sẽ tìm máy chủ DHCP và nếu IP được chỉ định, nó sẽ nhận IP tĩnh đó?
Cơ hội mà nó sẽ tìm kiếm máy chủ DHCP và sửa đổi /etc/resolv.conf ngay cả khi địa chỉ IP được chỉ định
IPADDR=
khi BOOTPROTO được đặt thành không?
Bối cảnh: - Chúng tôi đã di chuyển các trung tâm dữ liệu và phải thay đổi địa chỉ IP trong nhiều máy chủ. Chúng tôi đã sửa đổi /etc/resolv.conf
địa chỉ IP của các máy chủ DNS mới, nhưng vì một số lý do, trong một số máy chủ, chúng /etc/resolv.conf
bị xóa trắng hoặc xuất hiện các địa chỉ IP DNS cũ. Trong /etc/init.d/network
kịch bản tôi thấy nó đang gọi /etc/sysconfig/network-scripts/network-functions
có chức năng này. Đây có phải là thủ phạm?
# Invoke this when /etc/resolv.conf has changed:
change_resolv_conf ()
{
s=$(/bin/grep '^[\ \ ]*option' /etc/resolv.conf 2>/dev/null);
if [ "x$s" != "x" ]; then
s="$s"$'\n';
fi;
if [ $# -gt 1 ]; then
n_args=$#;
while [ $n_args -gt 0 ];
do
if [[ "$s" = *$1* ]]; then
shift;
n_args=$(($n_args-1));
continue;
fi;
s="$s$1";
shift;
if [ $# -gt 0 ]; then
s="$s"$'\n';
fi;
n_args=$(($n_args-1));
done;
elif [ $# -eq 1 ]; then
if [ "x$s" != "x" ]; then
s="$s"$(/bin/grep -vF "$s" $1);
else
s=$(cat $1);
fi;
fi;
(echo "$s" > /etc/resolv.conf;) >/dev/null 2>&1;
r=$?
if [ $r -eq 0 ]; then
[ -x /sbin/restorecon ] && /sbin/restorecon /etc/resolv.conf >/dev/null 2>&1 # reset the correct context
/usr/bin/logger -p local7.notice -t "NET" -i "$0 : updated /etc/resolv.conf";
[ -e /var/lock/subsys/nscd ] && /usr/sbin/nscd -i hosts; # invalidate cache
fi;
return $r;
}
Theo chức năng này, chức năng này được gọi là gì?
Tôi biết rằng thiết lập PEERDNS
để no
sẽ ngăn chặn sự /etc/resolv.conf từ việc thay đổi, tuy nhiên, tôi muốn biết liệu máy chủ của chúng tôi đã bắt đầu tìm kiếm một máy chủ DHCP mặc dù BOOTPROTO
đã được thiết lập để none
và một địa chỉ IP đã được chỉ định? nếu đúng thì tại sao?
Tôi đã khởi động lại các vấn đề máy chủ với vấn đề này một vài lần để sao chép lại vấn đề, nhưng hiện tại nội dung /etc/resolv.conf
không thay đổi. Điều gì có thể khiến /etc/resolv.conf bị thay đổi trong lần khởi động lại đầu tiên?
Chúng ta có thể sử dụng BOOTPROTO=static
? Tôi đọc nó phản đối. Máy của chúng tôi là tất cả RHEL 6.5