web-dev-qa-db-ja.com

dnsmasqを使用してローカルLAN内のすべてのDNSクエリを解決する

私は新しく、LAMPサーバーのホスティングを実験しています。私はFedora24マシンでApacheサーバーをホストしました。楽しみのために、サーバーのドメイン名を付けたいと思いました。たとえば、www.testpage.ac.in。ここで、/ etc/hostsファイルに対応する名前解決エントリがあると役立つと思いました。そして、それはうまくいきました。さらに、LAN上で実行されている他のすべてのマシンにも同じように拡張したいと思いました。他のすべてのコンピューターの対応する/ etc/hostsファイルに同様のエントリを作成する方が簡単だったでしょうが、私は別のことをしたかったのです。 DNSのような機能が欲しかった。私は当機関のルーターの構成設定を変更したくないので、オンラインでそれについて学んだ後、dnsmasqを試すことにしました。だから、これが私の設定ファイルがどのように見えるかです-

/ etc/hosts

192.168.1.190 www.testpage.ac.in    
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4    
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

/etc/resolv.conf

nameserver 127.0.0.1

/etc/dnsmasq-resolv.conf

nameserver 8.8.8.8
nameserver 192.168.1.1 

/etc/dnsmasq.conf

resolv-file=/etc/dnsmasq-resolv.conf
interface=enp2s0
listen-address=127.0.0.1

Journalctl -udnsmasqからの出力

Mar 29 20:04:26 AUTO dnsmasq[3398]: started, version 2.76 cachesize 150
Mar 29 20:04:26 AUTO dnsmasq[3398]: compile time options: IPv6 GNU-getopt DBus no-i18n IDN DHCP DHCPv6 no-Lua TFTP no-conntrack ipset auth DNSSEC loop
Mar 29 20:04:26 AUTO dnsmasq[3398]: reading /etc/dnsmasq-resolv.conf
Mar 29 20:04:26 AUTO dnsmasq[3398]: using nameserver 8.8.8.8#53
Mar 29 20:04:26 AUTO dnsmasq[3398]: using nameserver 192.168.1.1#53
Mar 29 20:04:26 AUTO dnsmasq[3398]: read /etc/hosts - 2 addresses

次に、LAN上の他のすべてのコンピューターのDNS設定をホストマシンのDNS設定(192.168.1.190)に変更しました。

他のすべてのマシンの/etc/resolv.conf

nameserver 192.168.1.190

ホストマシン(192.168.1.190)からwww.testpage.ac.inにアクセスできます。このマシンからインターネットにアクセスすることもできます。

LAN上の他のすべてのコンピューターから、通常どおりインターネットにアクセスすることを期待していますが、アクセスできません。また、ドメイン名(www.testpage.ac.in)でホストサーバーにアクセスすることはできませんが、IPアドレスを入力するとアクセスできます。

私のLAN上のコンピュータはDNSクエリを適切に解決できず、事実上問題を引き起こしていると思います。この問題に関する洞察は大歓迎です。

2
Enqueue

サーバーとして使用しているマシンに、ポート53 [DNS]での受信要求をブロックしているファイアウォールがあると仮定します。コマンドラインからiptables-vnLを実行して、ファイアウォールの設定を確認します。一時的にご利用いただけます

iptables -I INPUT -p udp --dport 53 -j ACCEPT 
iptables -I INPUT -p tcp --dport 53 -j ACCEPT

ファイアウォールを通過するポート53のトラフィックを許可します。

また、dnsmasq.confファイルに「interface =」行がないか、LANインターフェイスの行があることを確認してください。

2
davidgo