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
ベストアンサー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