BOOTPROTO = none |静的| dhcpおよび/etc/resolv.conf

ividにBOOTPROTO=noneと表示されている場合の意味= “4b2fd48573″>

ファイル。

BOOTPROTO=staticがあったことを覚えていますが、次の場合は非常に明確でわかりやすくなっています。 IPADDR=<x.x.x.x>を指定すると、サーバーは指定されたIPアドレスを取得します。同様に、BOOTPROTO=dhcpは、動的IPアドレスを取得するためにDHCPサーバーを探します。 Redhatのコメント:

 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. 
  • ifcfg-eth0ファイルでIPを指定しない場合、IPを検索します。 DHCPサーバーとIPが指定されている場合、その静的IPを取得しますか?

  • DHCPサーバーを検索して/ etc / resolvを変更する可能性はどのくらいありますか。 BOOTPROTOがnoneに設定されている場合、IPアドレスがIPADDR=で指定されていてもconf?

コンテキスト:-データセンターを移動し、多くのサーバーでIPアドレスを変更する必要がありました。新しいDNSサーバーのIPアドレスで/etc/resolv.confを変更しましたが、何らかの理由で、一部のサーバーでは/etc/resolv.confが空白になるか、古いDNSIPアドレスを思い付きました。/etc/init.d/networkスクリプトでは、/etc/sysconfig/network-scripts/network-functionsこの機能があります。これが原因ですか?

# 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; } 

この機能はどのような状況で呼び出されますか?

わかっています。その設定からnoを指定すると、/ etc / resolve.confが変更されなくなりますが、サーバーがDHCPサーバーを探し始めたかどうかも知りたいです。 BOOTPROTOnoneに設定されていて、IPアドレスが指定されていても?はいの場合、なぜですか?

この問題でサーバーの問題を数回再起動して問題を再度再現しましたが、/etc/resolv.confの内容は現在変更されていません。 「最初の再起動時に/etc/resolv.confが変更された原因は何ですか?

BOOTPROTO=staticを使用できますか?非推奨を読みました。すべてRHEL6.5です

回答

/etc/sysconfig/network-scripts/ifup-ethを読むと、次のように表示されます。 BOOTPROTOdhcpまたはbootpに設定されている場合、そのネットワークはDHCPを使用します。それ以外の場合はDHCPを使用します。未使用:

if ["${BOOTPROTO}" = "bootp" -o "${BOOTPROTO}" = "dhcp" ]; then DYNCONFIG=true 

さらに下の場合、DYNCONFIGがnullでない場合(およびdhclientが使用可能)次に、スクリプトはDHCPの使用を試みます。それ以外の場合は、静的IPアドレス指定が試行されます。

iv id = “9fa000facc”内でgrep -r BOOTPROTO *を使用します。 >

には上記のスニペット以外は表示されません。これは、上記の2つのうちのいずれかでない限り、BOOTPROTOで何でも使用できることを示しています。

BOOTPROTO=staticを使用できますが、サポートされていないと言われた場合、tを保証することはできません。将来的にはこのように機能するでしょう。さらに、問題に違いはありません。staticまたはnoneを使用すると、スクリプトでDHCPが使用されなくなります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です