ホームページ  >  記事  >  運用・保守  >  Linux でホスト ファイルの変更が無効な場合の対処方法

Linux でホスト ファイルの変更が無効な場合の対処方法

藏色散人
藏色散人オリジナル
2019-12-28 10:48:517700ブラウズ

Linux でホスト ファイルの変更が無効な場合の対処方法

#Linux でホスト ファイルの変更に失敗した場合はどうすればよいですか?

1. Linux は、ローカル エイリアス /etc/hosts のホスト名を変更した後に有効にならないことがよくあります。解決策

Linux は、ローカル エイリアスの hostName を変更します。エイリアス /etc/hosts 多くの場合、有効になりません。

たとえば、/etc/hosts の内容は次のとおりです:

#192.68.1.10 message.xxx.com
192.68.1.11 message.xxx.com

しかし、ping message.xxx.com は依然として次のアドレスを指します。 192.68.1.10。

関連する推奨事項: 「linux チュートリアル

# 通常、解決策は 2 つあります。

1). 再起動、これが最も直接的で信頼性が高く安定した方法ですが、再起動が不便な場合は 2 番目の方法を使用できます。

2). 次のように /etc/sysconfig/network ファイルを変更し、HOSTNAME を対応するエイリアスに変更します:

NETWORKING=yes
HOSTNAME=host1

変更後にネットワーク サービスを再起動します

service network restart (本质是/etc/init.d/network)

3 ). サーバーを再起動してもまだ機能しない場合は、ローカル DNS キャッシュが原因である可能性があります。

nscd が有効かどうかを確認します: ps -ef|grep nscd

Linux nscd キャッシュ サービスを直接オフにします:

/etc/init.d/nscd stop

2. Linux DNS

Linux 自体には DNS キャッシュがありません。DNS キャッシュを使用したい場合は、サービス プログラム NSCD (ネーム サービス キャッシュ デーモン) をインストールする必要があります。

nscd は 3 つのサービス passwd グループ ホストをキャッシュします3 つのライブラリはソース /etc/passwd、/etc/hosts、および /etc/resolv.conf に対応し、各ライブラリは 2 つのキャッシュを保存します (1 つは見つかったレコード用、もう 1 つは見つからないレコード用)。各キャッシュにより存続時間 (TTL) が節約されます。

インストール:

  yum install nscd

構成ファイル /etc/nscd.conf を変更し、DNS キャッシュを有効にし、この行を変更します

 enable-cache hosts yes

nscd サービスが有効になっている場合は、DNS キャッシュが存在しますが、それ以外の場合は、DNS キャッシュは存在しません。

サービスの開始、停止、再起動

service nscd start | stop | restart

nscd 構成:

/etc/nscd.conf ファイルを編集し、次の行:

enable-cache hosts yes

Alibaba Cloud ホストの設定は次のとおりです:

[root@iZ2571ykq ~]# cat /etc/nscd.conf 
#logfile        /var/log/nscd.log
threads         6
max-threads     128
server-user     nscd
debug-level     5
paranoia        no
enable-cache    passwd      no
enable-cache    group       no
enable-cache    hosts       yes
positive-time-to-live   hosts   5
negative-time-to-live   hosts       20
suggested-size  hosts       211
check-files     hosts       yes
persistent      hosts       yes
shared          hosts       yes
max-db-size     hosts       33554432

関連パラメータの説明は次のとおりです:

logfile デバッグファイル名 : デバッグ情報を書き込むファイル名を指定します。

debug-level value: 必要なデバッグ レベルを設定します。

スレッド数: これは、リクエストの待機を開始したスレッドの数です。少なくとも 5 つのスレッドが作成されます。

server-user user: このオプションが設定されている場合、nscd は root ではなくこのユーザーとして実行されます。各ユーザーが個別のキャッシュ (-S パラメーター) を使用する場合、このオプションは無視されます。

enable-cache service bb465b611d06b065d5e0e67bdf17426c: 指定されたサービス キャッシュを有効または無効にします。

positive-time-to-live サービス値: 指定されたキャッシュ内のサービスのポジティブ項目 (成功したリクエスト) の TTL (存続時間) を設定します。値は秒単位です。値を大きくすると、キャッシュ ヒット率が増加し、平均応答時間が短縮されますが、キャッシュの一貫性の問題が増加します。

negative-time-to-live サービス値: 指定したキャッシュ内のネガティブ項目 (失敗したリクエスト) の TTL (存続時間) を設定します。値は秒単位です。システム データベースにない uid が所有するファイルがある場合 (Linux カーネル ソースを root として解凍する場合など)、パフォーマンスは大幅に向上します。キャッシュの整合性の問題を軽減するために、値を小さく保つ必要があります。

推奨サイズのサービス値: これは内部ハッシュ テーブルのサイズです。値は最適化のために素数のままにする必要があります。

check-files service bb465b611d06b065d5e0e67bdf17426c: 指定したサービスに属するファイルの変更チェックを有効または無効にします。これらのファイルは、/etc/passwd、/etc/group、および /etc/hosts です。

nscdの表示とクリア

nscdキャッシュDBファイルは/var/db/nscdの下にあります。

nscd -g  查看统计信息

nscd キャッシュをクリアします:

nscd -i passwd
nscd -i group
nscd -i hosts

もちろん、最初にキャッシュ ライブラリを削除するか、nscd サービスを停止します:

rm -f /var/db/nscd/hosts
service nscd restart

または、nscd サービスを直接停止します。service nscd stop。

以上がLinux でホスト ファイルの変更が無効な場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。