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
答え2
このhost
ユーティリティは DNS ルックアップに使用されます。ホスト名を解決するホストファイルやDNS以外の方法は気にしません。通常の状況(nsswitch.confを考慮)でシステムがホスト名を解決する方法を確認するには、getent
このhost
ユーティリティをDNSテスト用に予約する必要があります。例は次のとおりです。
$ host foobar.com
foobar.com has address 69.89.31.56
foobar.com mail is handled by 0 foobar.com.
$ getent hosts foobar.com
10.188.14.16 foobar.com
答え3
dig
、クエリhost
などのプログラムnslookup
ドメイン名システムただ。/etc/hosts
NISやLDAPなどの他のホスト名ソースには問い合わせません。
ほとんどの設定でホスト名をローカルに正常に追加する最も簡単な方法は、DNSサーバーを実行することです。それにもかかわらず、DNSキャッシュを実行することはパフォーマンスの面で良い考えです。つまり、ローカルで実行されているDNSサーバーがないという事実は、解決すべき問題ではなく、解決すべき問題ではありません。
DNS広く使用され、サイズが小さく(多くのLinuxベースのルータで使用されている)、設定が簡単です。 DnsmasqはDNS要求をキャッシュし、ホストファイルに追加の名前を提供できます。小規模ネットワークに適したネイティブDHCPサーバーも提供していますが、その部分を必ず使用する必要はありません。隔離されたマシンがある場合は、そのマシンでDnsmasqを実行してください。ローカルネットワークがある場合は、ルーターでDnsmasq(またはすでに持っている他の同等のソフトウェア)を実行してください。バラよりホスト名を使用してLANからコンピュータにアクセスする方法Dnsmasqの設定方法など、詳細をご覧ください。