Bonjour
iPhoneのテザリングを使用して、EPSONのモバイルレシートプリンタ TM-P20II を接続しようと思いました。しかし、iPhoneからはプリンタのホスト名(epsonなんとか)でプリンタにアクセスすることができないんです。
プリンタの ipアドレス を指定すれば、iPhone からアクセスすることは可能ですが、
私がやりたいのは https でのアクセスで、ホスト名でのアクセスなのです。
これがしたいがために、DNSサーバー を立てようと試みましたが、キャリア通信時には DNSサーバー が変更できないようで悩みました。
その答えが、Bonjour でした。
これは ホスト名(epsonなんとか)+「.local」とつけるだけで https でアクセスできるようになるんです。
ここに到達するまでに1日かかりました。
その間の調査記録を残しておこうと思いました。
iPhone は hosts が書き換えられないので、DNS サーバーを変更しようと思いました。
(wifi通信時ならDNSサーバーは書き換えられるが、キャリア通信時には書き換えられないかも)
テストで epsonc6ca09 と 172.20.10.6 の対応付けを行ってみます。
version: '3'
services:
dns:
image: andyshinn/dnsmasq
ports:
- "53:53/udp"
- "53:53/tcp"
extra_hosts:
- "epsonc6ca09:172.20.10.6"
cap_add:
- NET_ADMIN
dns:
- 8.8.8.8
- 8.8.4.4
起動すると53ポートが使用されているとワーニングがでたので調査しました。
sudo lsof -i :53
53ポートを使用しているサービスが、systemd-resolved とわかり止めました。
sudo systemctl stop systemd-resolved
しかし、止めてしまうと DNS が全く引けなくなったので、systemd-resolved を起動しました。
sudo systemctl start systemd-resolved
やはり、hosts に nameserver を書けばいけますね。systemd-resolved を止めました。
nameserver 127.0.0.53
options edns0 trust-ad
search .
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 127.0.0.53
options edns0 trust-ad
search .
以上