自分のホームマシンの1つにMediaWikiをセットアップし、ローカルネットワーク上で「wiki.home」または「wiki.local」がそのボックスをポイントするようにすべてのリクエストを作成します。これは各/ etc/hostsファイルを個別に編集することで実行できることを知っていますが、たとえば、友人や家族が私の家に来た場合、彼らがいじくり回す必要がないように、もっと自動化したいものがあります。サイトを表示するためのhostsファイル。
これを行う簡単な方法はありますか?私はwikiを稼働させており、dnsmasqを調査してきましたが、DNSを適切に設定する方法がわかりません。自動化されたソリューションが必要なので、ルーターのDNS設定を変更する必要があるように感じますが、そこでDNS設定を変更した場合でも、外部ホストを解決するにはどうすればよいですか?
ルーター:Netgear WNR2000v2。ルーターはDNSサーバーを手動で指定するオプションを提供します。これを稼働させるには、Ubuntuボックスをポイントする必要があると想定しています。
MediaWikiおよびdnsmasqホスト:Ubuntu 12.04を実行します。私はdnsmasq設定でいくつかの問題を抱えていました(主に私の経験不足のため)。たとえば、よくわかりませんが、インストール中にUbuntuがDNS設定を変更して、/etc/resolv.conf
が127.0.0.1
を唯一のDNSサーバーとして持つようになったと思います。その時点で、ローカルホストは解決できましたが、それ以外は解決できませんでした。 /etc/resolv.conf
を変更し、192.168.1.1
をセカンダリネームサーバーとして追加することで、これを一時的に解決しましたが、ここでの懸念は、192.168.1.1
がDNSにUbuntuボックスを使用することです。ここに明らかなものが欠けていますか?
dnsmasq設定:次の行のコメントを外しました:
domain-needed
bogus-priv
local=/local/
domain=local
標準DNSでは、ローカルドメインに対して権限のあるDNSサーバーを実行します(home.
またはlocal.
。後者を回避する方が良い–下の注を参照)。また、他のすべてのドメイン。
dnsmasqはこの目的に使用できます。デフォルトで再帰モードが有効になっており、設定は問題ありません。必要なのは、非ローカルドメインに使用するネームサーバーを指定することだけです。通常、これらはシステムの/etc/resolv.conf
ファイルから読み取られます。ただし、ローカルドメインをDNSサーバーコンピューターでも動作させるため、resolv.confの専用コピーを作成する必要があります。 dnsmasqでのみ使用されますが、元のresolv.confは、 nameserver 127.0.0.1
。
# cp /etc/resolv.conf /etc/dnsmasq-resolv.conf
# echo "nameserver 127.0.0.1" > /etc/resolv.conf
# dnsmasq -r /etc/dnsmasq-resolv.conf
注:これらの手順は非常に基本的なものであり、使用中のLinuxディストリビューションに適合させる必要があります。特に、dnsmasqの Debian および bunt ガイドを確認してください。
この後、このコンピューターをDNSサーバーとして使用するようにルーターを構成する必要があります。ネットワーク内のコンピューターによるすべてのDNSクエリは、dnsmasqによって処理されます。
(bind9などのフル機能のDNSサーバーは、それ自体で再帰クエリを実行できます。上流のネームサーバーの構成は完全にオプションになります。これがISPのネームサーバーの機能です。たとえば、bind9で独自のドメインをホストすることは、単純なdnsmasqと比較すると、最初はかなり複雑です。
注:Avahi(別名Bonjour)がネットワーク内のanyコンピューター(Ubuntuがデフォルトで持っている)で構成されている場合は、次の場合に最適です- DNSのlocal.
を避ける 代わりにhome.
のような名前を選択してください。name.local
の形式の名前はAvahiによってすでに処理されています。
(通常、Avahiはcurrent-hostname.local
にのみ応答しますが、実際にはwiki.local
などの追加のエントリを発行することが可能です。ただし、mDNSの動作方法により、追加のIPアドレスを追加する必要があります。これは、集中DNSの代わりにAvahiを使用してもそれ以上の利点はないため、私はそれを提案しません。)
Avahiデーモンがこれを行う最も簡単な方法であることがわかりました。注:Windowsマシンを使用して.localドメインに接続している場合、それらのマシンにiTunesまたは別のBonjourクライアントがインストールされていることを確認する必要があります。
詳細については、このリンクを確認してください: http://www.howtogeek.com/167190/how-and-why-to-assign-the-.local-domain-to-your-raspberry-pi/
このリンクはRaspberry Piに固有のものですが、Ubuntuマシンでも同じように機能するはずです。 apt-get
を使用しない他のLinuxディストリビューションの場合は、apt-get
を適切なパッケージマネージャー(たとえば、 yum
(FedoraおよびCentOSの場合)
Raspberry Piメディアサーバーでこれを実行するために実行した正確なコマンドを次に示します。
Sudo apt-get update && Sudo apt-get upgrade Sudo apt-get install avahi-daemon
そこから、コンピュータのホスト名と.local
拡張子をドメイン名として使用します。したがって、マシンのホスト名がmediaserver
の場合、Bonjour/Avahiがインストールされているマシン(つまり、すべてのMacとWindowsマシン)のURLバーにmediaserver.local
と入力すると、ネットワークにアクセスできます。 iTunesがインストールされている場合)。
ローカル名前解決は単純な機能であり、私が使用したほとんどのルーターの一部です。また、DD-WRTファームウェアにも実装されています。 Netgearは 絶えず要求される であるこの機能を考慮しません。
だから、ここに投稿された他のものよりもはるかに簡単な答え-トラブルを回避し、ローカルの名前解決をサポートするものにNetgeratルーターを変更してください。または、それが選択肢ではなく、あなたが強さを感じて時間を得たなら、それにDD-WRTをフラッシュします。