Armadilloフォーラム

dnsmasqでローカルのDNSサーバーについて

yuucchi

2023年12月22日 15時44分

いつもお世話になっております。
Armadillo-X1にて開発しています。

DNSについて教えてください。

無線LANのアクセスポイントとして利用したく設定を行っておりました。(wlan0)
https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manu…
dnsmasqで簡易DNS+dhcpサーバを構築しております。

/etc/dnsmasq.confファイルの内容は下記の通りです。

interface=wlan0
# Listen on by address
listen-address=127.0.0.1, 10.0.0.1
# Enable the integrated DHCP server
dhcp-range=10.0.0.10, 10.0.0.20, 12h
# Add domains which you want to force to an IP address here
address=/local-x1.access.co/10.0.0.1

/etc/resolv.confファイルの内容:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1

Armadilloはウェブサーバを稼働し、アクセスポイント(WiFi)を接続すれば
ブラウザでウェブ表示が出来ました。

有線はLTEゲートウェイ MMLink-GWL を利用しております。
開発しているプログラムはArmadilloからクラウドへデータ送信を行います。

WireSharkで通信を確認して見ると、頻繁にDNS standard queryの問い合わせがありました。
※ 添付写真を参照。
 Armadilloが割り当てられたIPは192.168.123.147 (eth0)
 LTEゲートウェイのIPは192.168.123.254
Armadilloのアクセスポイント(WiFi)を繋いでいる状態、ブラウザは local-x1.access.co(もしくは 10.0.0.1)のタブ以外、
他のタブ(google等)も開いています。
おそらく、パソコンからの開いてタブ及び動いてるアプリ/サービスのDNS queryと思いますが、
wlan0のロカールdnsに対して解釈できないのでどうやら上位のMMLink-GWL ゲートウェイ に流してしまいました。
こういう動きさせたくないですが、方法がございますか?(dnsmasqのconfigファイル内容に必要なパラメーターとか)

ご回答をお待ちしております。
よろしくお願いいたします。

ファイル ファイルの説明
wireshark-capture.PNG WireSharkでAramdilloのEthernetポートやMMLink-GWL間の通信
コメント

佐藤です。

回答が遅くなり大変申し訳ありません。

"local-x1.access.co" 以外のドメインは解決したくないということでしょうか。
/etc/dnsmasq.conf ファイルに "no-resolv" を追加するとどうでしょうか。

いつもお世話になっております。

ご返事ありがとうございます。
回答いただいた内容に沿って以下確認しました。

/etc/dnsmasq.confにno-resolveオプションを追加したところ、
Webブラウザ用(アルマジロのアクセスポイント接続)、LANポートでの
クライアント接続時に各々でドメインネームを使用した接続を行いたいが、
オプション追加によって出来なくなった。
・Webブラウザ用のドメインURL・・ドメインネーム接続OK
・LANポートで使用する接続先ドメインURL・・ドメインネーム接続NG
 (なお、IPアドレスでの接続はOK)
目指している動き:
・アクセスポイントに対して"local-x1.access.co"以外のドメインは解決しないこと。
・アルマジロのLANポート通常通りドメインネーム解決可能(+ネットワーク接続可能)な状態。

佐藤です。

すいません。整理させてください。

Armadillo-X1 を Wifi AP として利用している。また、Armadillo-X1 の LANポート(eth0) にはLTEゲートウェイ MMLink-GWLを接続している。
Wifi AP側にはPCを接続しておりPCでブラウザを使うと "local-x1.access.co" 以外のDNS queryが発生している。
このDNS queryが LTE側へ流れていってしまうので、これを阻止したい。
PCからは"local-x1.access.co"以外へはアクセスしないので、"local-x1.access.co"以外のドメインは解決できなくても良い。
ただし、eth0 からの通信では通常通り全てのドメインを解決したい。
/etc/dnsmasq.conf に no-resolve オプションを追加したところ、"local-x1.access.co" 以外のDNS query が LTE側へ流れることはなくなったが、
eth0からの通信がドメイン解決できなくなってしまった。

上記の理解であってますでしょうか。

佐藤様

ご認識の通りです。

よろしくお願いいたします。
> 佐藤です。
>
> すいません。整理させてください。
>
> Armadillo-X1 を Wifi AP として利用している。また、Armadillo-X1 の LANポート(eth0) にはLTEゲートウェイ MMLink-GWLを接続している。
> Wifi AP側にはPCを接続しておりPCでブラウザを使うと "local-x1.access.co" 以外のDNS queryが発生している。
> このDNS queryが LTE側へ流れていってしまうので、これを阻止したい。
> PCからは"local-x1.access.co"以外へはアクセスしないので、"local-x1.access.co"以外のドメインは解決できなくても良い。
> ただし、eth0 からの通信では通常通り全てのドメインを解決したい。
> /etc/dnsmasq.conf に no-resolve オプションを追加したところ、"local-x1.access.co" 以外のDNS query が LTE側へ流れることはなくなったが、
> eth0からの通信がドメイン解決できなくなってしまった。
>
> 上記の理解であってますでしょうか。

佐藤です。

> ご認識の通りです。
ありがとうございます。
このような動作はdnsmasqでは簡単には実現できないかと思います。
unbound等、ほかのソフトウェアの使用を検討してみてください。

お世話になっております。

ご回答いただきありがとうございます。
他のソフトウェアを使って確認いたします。

引き続きよろしくお願いいたします。

> 佐藤です。
>
> > ご認識の通りです。
> ありがとうございます。
> このような動作はdnsmasqでは簡単には実現できないかと思います。
> unbound等、ほかのソフトウェアの使用を検討してみてください。
>