私と開発者の小さなグループが新しいオフィスに引っ越しました。開発サーバーにdnsmasqをセットアップしたいので、そこにWebアプリをデプロイするときに、独自のホストファイルを編集する必要はありません。 192.168.3.1にアクセスできないルーターがあります。開発サーバーにDNSサーバーをインストールすると思ったので、すべてのIPをセカンダリDNSサーバーとして記録しました。残念ながら、私はこの仕事をするために努力しています。
開発サーバーの名前はdevboxで、IPは192.168.3.99であり、最新のUbuntu Server(Karmic)を実行しています
私のコンピューターはUbuntuデスクトップ(Karmic)を実行しています
開発ボックスで実行している3つのWebサイト、website1、website2、website3があるとします。 URLでアクセスしたい:
http://website1.devbox
http://website2.devbox
http://website3.devbox
そこで、開発ボックスでApacheを構成し、dnsmasqをインストールして、次の行をそのhostsファイルに入れました。
192.168.3.99 website1.devbox
192.168.3.99 website2.devbox
192.168.3.99 website3.devbox
自分のresolv.confファイルを編集して、develボックスをネームサーバーとして含めます。
nameserver 192.168.3.99
正常に動作しており、サイトにアクセスできます。問題は、適切に拡張できないことです。 .devboxで終わるすべてのドメインを開発ボックスに転送して欲しいのですが、これが私が取り組んでいることです。
入れてみました
192.168.3.99 devbox
hostsファイルに入力し、dnsmasq.confの行を編集します。
# Add local-only domains here, queries in these domains are answered
# from /etc/hosts or DHCP only.
local=/devbox/
しかし、私はそれを機能させることができません。開発ボックスのホストファイルに明示的に存在しないURLを試行すると、DNSルックアップが失敗します。
ローカルディレクティブは別のものですか?私は間違った場所を見ていますか?
DNSmasqのドキュメント 、特に dnsmasqのマンページ と サンプル設定ファイルを参照してください。 。 localキーワードは、DNSmasqにローカルデータでこれらのドメインルックアップを実行するように指示します。これは、foo.localnetおよびbar.localnetのDNSmasqに送信されるリクエストに影響します、 例えば。これがあなたの望んでいることだとは思いません。
# Add local-only domains here, queries in these domains are answered
# from /etc/hosts or DHCP only.
local=/localnet/
ホスト/サブドメインの検索を特定のアドレスに解決するように強制するには、おそらくaddressキーワードを使用する必要があります。以下の2番目の例では、web1.devboxおよびweb2.devboxおよびweb73872.devboxすべてを指定されたアドレスに解決します。
# Add domains which you want to force to an IP address here.
# The example below send any Host in doubleclick.net to a local
# webserver.
address=/doubleclick.net/127.0.0.1
# for your example
address=/devbox/192.168.3.99
私は自宅でDNSmasqを使用して、LANの単純なDNS情報を処理しています。その場合、localおよび関連付けられたdomainおよびexpand-hostsキーワードが適切です。 DNSmasqサーバーは私のプライマリネームサーバーなので、すべてのリクエストはDNSmasqサーバーを通過します。非ローカルアドレスはISPのネームサーバーに渡されます。可能であれば、その構成を検討してください。