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/interfaces
で手動で構成されています Network 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
承認された回答:
hostコマンドはhostsファイルをチェックしません。マンページから:
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