hostsファイルですべてのサブドメインを1つのIPに?


8

VirtualBox VMをホストオンリーネットワークで実行しています。このVMはApacheを実行しており、ホストマシンのWebブラウザーからアクセスできる名前ベースの仮想ホストを多数セットアップします。

問題は、仮想ホストに新しいサブドメインを追加するたびに、それをhostsファイルに追加する必要があることです。今私はこのようなものを持っています:

192.168.56.3 vm site1.vm site2.vm site3.vm site4.vm ...

これと同じ効果を出したい

192.168.56.3 vm *.vm

*がhostsファイルでワイルドカードとして機能しないことを知っています。実際のDNSサーバーを実行せずに望ましい結果を得る別の方法はありますか?それを吸い取って、hostsファイルに手動で追加し続ける必要がありますか?

回答:


8

これを行うワイルドカードの方法はありません。DNSサーバーを実装するか、hostsファイルにエントリを追加し続ける必要があります。

あなたがDNSサーバーをインストールして行くならば、あなたはインストールする必要はありませんbind-あなたは、単純なキャッシュDNSサーバのようにインストールすることができtotddnsmasqまたはmaradns

何をするかに関係なくresolv.conf、新しいDNSサーバーが含まれていることを確認する必要があります。次のエントリがそこに表示されている必要があります(この例では、DNSサーバーはlocalhostにインストールされています)...

nameserver 127.0.0.1

これは興味深いものです。現時点では、これが正解のようですので、そのようにマークします。ただし、問題が実際に解決するわけではありません。おそらく解決できないためでしょう。考えるだけの何か。
Apreche、2009年

別のメモ。この作業を行うためにdnsmasqを使用することができました。ただし、Ubuntuでは、ホストマシンのdhcpクライアント構成を変更して、127.0.0.1をresolv.confの前に付加する必要がありました。
Apreche 2009年

はい-resolv.confはDNSサーバーを定義する唯一の方法です。完成させるためにそれを投稿に追加します。
Xerxes

2

あなたはそれのために使うことができdnsmasq、設定ファイルに追加するだけです:

アドレス= /。vm / 192.168.56.3

0

これは興味深い質問です。あなたが言及したように、ホストファイル自体はワイルドカードをサポートしていません。Apacheマシンでバインドを設定し、それを認証DNSサーバーにして* .vmを正しくポイントさせるのは非常に簡単ですが、これは回避策です(「正しい」ソリューションであっても)。

それにnscdをだます方法があるはずですが、私はまだそれを理解していません。私にもっと時間を与えてください、そして私はこの答えを更新します

編集する

承知しました。最善の策は、膨大な数の仮想ホストをホストファイルに入力するという単純なタスクや、そのドメインの認証へのバインドを構成する少し複雑なタスクに頼らずに、この脆弱性を使用してnscdキャッシュを汚染することです。 :http : //linuxgazette.net/154/misc/lg/conspire_dns_vulnerability_details.html

少なくとも、今日はこれで終わりです。多分後で退屈になった場合は、nscdのソースをチェックして、情報を直接挿入する方法を見つけます。


4
私は真剣に目標を達成するために脆弱性を利用することを勧めません。つまり、依存しているとどうなるでしょうか。脆弱性は...修正されましたか?...別の100の項目の中で、それが間違っていることがわかります。しかし、それは別として、キックで遊ぶのは楽しいようです:)。
Xerxes、

2
hehe「...ソフトウェアの私のお気に入りの機能は、最後のリビジョンで修正されました...」;-)
Matt Simmons
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.