/usr/bin/host は、再起動後も /etc/hosts に対する変更を選択しません。

/usr/bin/host は、再起動後も /etc/hosts に対する変更を選択しません。

Ubuntu Server 12.04( amd64) システムがあり、変更すると、/etc/hosts再起動後も変更は適用されません。これをテストするために使用していますが、/usr/bin/host他のプログラムでも認識していないようです。

これはサーバーであり、まだインストールされnscdていませんdnsmasq。また、ファイルには/etc/nsswitch.conf次の行が含まれています。

hosts:          files dns

だから私はそれがうまくいくことを願っています。また、mtime編集によって変更が行われたかどうかを確認しservice networking restart(非常に難しいですが)実行も試みましたresolvconf -u

すべてのコマンドはroot必要に応じて実行されます。コンピュータには、/etc/network/interfacesNetwork Manager(インストールされていない)を介さずに手動で設定されたネットワークがあります。

基本的に私が達成したいのは、一部のホストのIPを操作できることです。その理由は、ネットワーク内ではルーティングされていないIPを取得しましたが、HTTPSを介してサービスの外部IPを使用できるためです。

私は何を見逃していますか?

メモ:ローカルで実行されているDNSサーバーはなく、nameserverの行/etc/resolv.conf(およびその対応する行interfaces)は間違ったIPを提供するDNSサーバーを指します。

また注:オンラインで検索して「似たような質問」を読んだが、私の出来事は扱われていないようだ。

/etc/host.conf例:

# The "order" line is only used by old versions of the C library.
order hosts,bind
multi on

ベストアンサー1

ホストコマンドはホストファイルをチェックしません。マンページから:

host is a simple utility for performing DNS lookups.

ホストファイルを考慮しながらルックアップをテストするには、pingまたはgetentを使用します。

$ tail -1 /etc/hosts
127.0.0.1   google.com
$ ping -c1 google.com | head -1
PING google.com (127.0.0.1) 56(84) bytes of data.
$ getent ahosts google.com
127.0.0.1       STREAM google.com
127.0.0.1       DGRAM  
127.0.0.1       RAW    

おすすめ記事