web-dev-qa-db-ja.com

ローカルネットワーク上の他のコンピューターから見えるローカルDNSを作成するにはどうすればよいですか?

コンピューターでローカルDNSを作成しようとしているので、IPではなくDNSアドレスを使用してローカルにアクセスできます。最初にしたことは、ファイルにホスト名を設定することでした/etc/hostsおよび/etc/init.d/hostname.sh

$ Sudo vi /etc/hosts

127.0.0.1   localhost
127.0.1.1   mynewhostname 

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

$ Sudo vi /etc/hostname

mynewhostname

次に、avahi-daemonをDNSサーバーとしてインストールしました。

Sudo apt-get install avahi-daemon

システムを再起動した後、ローカルDNSにアクセスできますmynewhostname.localからのみlocalhost(自分のコンピューターからのみ)、ローカルネットワーク上の他のコンピューターは、DNSではなくIPアドレスでのみ自分のコンピューターにアクセスできます。誰がそれが起こるのか知っていますか?または、すべてのローカルネットワークから見えるローカルDNSを作成する別のアプローチは何でしょうか?

1
Rafael Muynarsk

.localドメインは、その特別なサービスのためにavahiによって使用されており、mDNSアプリケーションを使用する場合を除き、他のコンピューターにネットワーク経由で使用させることができませんでした。

Dnsmasqなどの適切なDNSサーバーを実行して、/ etc/hostsファイルに加えて、小規模ネットワーク上でホスト名のIPアドレスへのDNS解決を実現できます。

ドメインリゾルバとしてdnsmasqをセットアップするには、.localではなく別のドメインを選択します。たとえば、.home、.house、または.local以外のものを言います。このドメインはネットワーク上でのみ機能します。

dnsmasqを中央の「サーバー」にインストールします。この場合、コンピューター:

Sudo apt install dnsmasq

次に、dnsmasqをセットアップします。

Sudo nano /etc/dnsmasq.conf

静的ファイルを作成します。

Sudo rm /etc/resolv.conf
echo 'nameserver 127.0.0.1' | Sudo tee /etc/resolv.conf

サービスのインスタンスを停止します。

Sudo killall dnsmasq
Sudo service systemd-resolved stop

dnsmasq confを編集します。

Sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.bak
Sudo nano /etc/dnsmasq.conf

以下を追加します

#Beginning of configuration
domain-needed
bogus-priv
no-resolv
interface=wlp2s0
#Use below nameservers to reach the internet
server=8.8.8.8
server=8.8.4.4
#use below line to point to the router address.
#dhcp-option=option:router,192.168.0.50
#use two lines below to resolve local domains (eg .home)
local=/home/
domain=home

次に、dnsmasqを再起動します。

Sudo service dnsmasq restart

ファイアウォールがある場合は、ファイアウォールでポート53、67/udp、68/udpを開くことを忘れないでください

次に、hostsファイルを編集します。

Sudo nano /etc/hosts

それに貼り付けます

. . .
127.0.0.1       localhost localhost.home
. . . 
127.0.0.1 www.mysite1.home
127.0.0.1 mysite1.home
192.168.0.50 mysite1.home
192.168.0.50 mysite2.home

192.168.0.50はネットワーク上のサーバーコンピューターのIP、mysite。homeはサーバーコンピューターでリッスンしているサービスです*

1
ptetteh227