openwrt にavahi をいれれば、LAN上にいるマシン xxxx.local をresolve できるようになるけど、androidからは参照できない。できるようにするにはDNSmasqにスタティックなレコードを登録をすれば良い。
そこで、[Network] – [DHCP&DNS] – [Resolve and hosts Files] から、 /etc/dnsmasq.hosts ファイルを利用して解決するようにした。
起動時のStartup スクリプトに、awkを使った以下のものを入れた。
rm /etc/dnsmasq.hosts
echo `avahi-resolve-host-name -4 hogehoge.local` | awk '{print $2 " " $1}' > /etc/dnsmasq.hosts
echo `avahi-resolve-host-name -4 fugafuga.local` | awk '{print $2 " " $1}' >> /etc/dnsmasq.hosts
ping打って届かないときはrebootしてみようってことで!
- lan内のmac が.local をbonjourで解決しようとしてDNSを見に行かないときは、ネットワーク設定のDNSでドメインを.localにすることでDNS優先になるみたいだ。← これでいいのか?
