192.168.1.1のようなIPアドレスに読み取り可能な文字列エイリアスを割り当てることは可能ですか?多分このようなもの:
192.168.1.1 -> router.home
または
192.168.1.22 -> printer.home
Router.homeが外部Webから到達可能である必要はありませんが、LAN内でのみ可能です。実際、それは外部のWebから到達可能であるべきではありません。
目的は、router.homeアドレスに応答するローカルDNSサーバーを用意することです。そのようなエイリアスを作成する方法はありますか。
編集:Yamakajaの答えは素晴らしい作品だが、それはLAN内のすべてのコンピュータ上のhostsファイルを変更する必要があります。ローカルDNSルックアップは、代わりにホームルータで実行できますか?それは多くの手作業を省くでしょう。
Yamakaja's answer に加えて、これがローカルDNSサーバーの設定方法です。
まず、DNSサーバーを実行したいコンピューターが必要です。これはあなたの通常のコンピュータの1つ(Linuxを実行していて、ほとんどの時間稼働している場合)、または例えば Raspberry Pi になります。そのような装置の利点は、それが安価であり、多くの電力を必要とせず、そしてそれが小さいことである。
私は dnsmasq
を使ってRaspberry Pi上にDNSサーバーをセットアップすることにしました。これは小さなネットワークでの使用に理想的です。事実上の標準DNSツールである bind
を使用することもできますが、これは小規模のホームネットワークにはおそらく多すぎるかもしれません。
Debianベースのシステム(例えばRaspbian)で、パッケージマネージャを使用してdnsmasq
をインストールします。コマンドは次のようになります。
Sudo apt-get install dnsmasq
私は今、あなたがすでに静的IPアドレス割り当てを設定していると仮定します(すなわち、あなたがあなたの質問で言及するIPアドレスは変更されません)。そうでなければ、dnsmasq
をDHCPサーバーとして使うこともできますが、私はまだ行っていません。
dnsmasq
は/etc/hosts
からホスト名を取得します。このファイルを次のように編集します。
# IP address Host name
192.168.1.1 router
192.168.1.22 printer
ホスト名router
が192.168.1.1
に、printer
から192.168.1.22
に割り当てられました。
今、あなたはあなた自身のDNSサーバをセットアップしました、しかしあなたのネットワーク内のコンピュータはまだそれを使用していません。このサーバーを使用するようにするには、準備の1つのステップを実行する必要があります。
ip address
を使ってdnsmasqデバイスのIPアドレスを探します(192.168.1.42
と仮定しましょう)。 /etc/dnsmasq.conf
を開き、以下の行を追加します。
listen-address=127.0.0.1
listen-address=192.168.1.42
これはdnsmasq
に対し、それらが127.0.0.1
(すなわち、それ自身がそのDNSサーバーを使用したい時)または192.168.1.42
(すなわち、他のコンピューターがそのDNSサーバーを使用したい時)のどちらかに向けられるときそれに要求をリッスンするべきであることを伝えます。
ネットワーク内の各コンピュータにDNSサーバーとして192.168.1.42
を使用するように指示する必要があります。これを行う方法は、オペレーティングシステムによって異なります。あなたは簡単にインターネット上であなたの指定されたオペレーションシステムのためにこれを調べることができます(単に「<OS>のDNSサーバーを変える」か、またはそのような何かを検索してください)。
Windows 7の場合は、このチュートリアルに従うことができます: https://www.opennicproject.org/configure-your-dns/how-to-change-dns-servers-in-windows-7 / .
私のシステム(Arch Linux)では、/etc/resolvconf.conf
に次の行を追加しなければなりませんでした
name_servers=192.168.1.42
使用する必要があるファイルは、ネットワークマネージャの設定によって異なります。 DNSを使用する各コンピュータにDNSサーバーのIPを追加します。
すぐにうまくいかない場合は、おそらくデバイスを再起動する必要があります。
それで、終わりです。指定したホスト名を使用するだけで、dnsmasqサーバーの/etc/hosts
に入力したすべてのデバイスにアクセスできるようになりました。
DNS解決が正しく機能するかどうかを確認したい場合は、サーバーを使用するシステムにdnsutils
(Linux)をインストールしてください。それから実行
$ Dig router
これはこのようなものを返すはずです
; <<>> Dig 9.10.4-P1 <<>> router
;; global options: +cmd
;; Got answer:
...
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;router. IN A
;; ANSWER SECTION:
router. 0 IN A 192.168.1.1
;; Query time: 14 msec
;; SERVER: 192.168.1.42#53(192.168.1.42)
;; WHEN: So Jun 26 10:43:18 CEST 2016
;; MSG SIZE rcvd: 50
解決したいホスト名、解決したIPアドレス、使用したDNSサーバーが表示されます。ご覧のとおり、すべて問題ありません。
router
またはprinter
だけでなくrouter.home
およびprinter.home
を使用してデバイスにアクセスする場合は、次の行を/etc/dnsmasq.conf
に追加します。
expand-hosts # Tells dnsmasq to add a TLD to each Host name
domain=home # The TLD
もう一度再起動する必要があります。
dnsmasq
について:
bind
について(興味があれば):
はい、そうです、そして2つ(またはそれ以上)のオプションがあります。
オペレーティングシステムによっては、 "hosts"ファイルにエントリを追加する必要があります。ほとんどのUnixoidでは/etc/hosts
、WindowsではC:\Windows\system32\drivers\etc\hosts
にあります。
エントリを追加するには、ファイルの末尾に移動して次の形式で行を追加します。
<IP> <the hostname to assign>
例えば。
192.168.1.1 router
(注:ipとhostnameの間のスペースは関係ありません。ただし、他のエントリーと一致させると見栄えがよくなります。タブまたはスペースを使用できます)
それから、ブラウザにアクセスするだけでルーターにアクセスできます。
http://router/
または
router/
詳しくは TuringTuxの答え をご覧ください。
私は上記の素晴らしい答えを更新したいです。
ルーターを調べて、手動でDNSエントリがサポートされているかどうかを確認することをお勧めします。
もしそうなら、あなたはそれにあなたのローカルな192.168.1.22
アドレスをprinter.home
として単に加えることができます。それ以外の場合は、ローカルのhostsファイルの編集または自分のDNSサーバーの設定が怖いので制限があります。