TP-Link AC2600でVPNを試す4(OpenVPN接続スマホ)で紹介したように、TP-Link AC2600にはVPN機能があるので、OpenVPNで接続してセーフティ1なノマドライフを楽しんでいた。
しかし、タイトルにあるとおり、OpenVPN接続して、暫く経つと2、client.ovpn でdhcp-option DNS <ローカル用のDNSサーバーのIPアドレス>
で指定したDNSサーバーを参照しなくなって、自宅サーバーにドメインで接続できなくなる事態に襲われた。
解決策
で、解決策としては 設定 -> ネットワークとインターネット -> 詳細設定 -> プライベートDNS
でプライベートDNSモードを OFF にすることだ。
プライベートDNSモードとは
プライベートDNSモードについて、改めて調べてみた。
- 「プライベートDNSモード」は何の機能? - いまさら聞けないAndroidのなぜ | マイナビニュース
- Android 9 (Pie) 以降で DoT (DNS Over TLS) を利用する | Hebikuzure’s Tech Memo
うーむ、個人的にはプライベートDNSモードの設定を、その繋らなくなった時期の前後に弄った記憶がないんだよな。ずっと 自動 のままだった。
二番目の記事をよく見ると、まず
OFF:DoT を利用しない
自動:DHCP などで現在構成されている DNS サーバーに DoT での接続を試し、DoT が使えなければ従来の DNS にフォールバックする
プライベート DNS プロバイダのホスト名:指定した DNS サーバーに DoT で接続、失敗してもフォールバックしない
となっている。
キャリアDNSサーバーの対応か?
2019年11月4日 の記事であるが、更に読み進めると
現時点では携帯電話キャリアの DNS サーバーで DoT に対応しているところはありませんし、Wi-Fi アクセスポイントで DHCP で提供される DNS サーバーでも DoT に対応しているところはまずないので、「自動」のままでは DoT が利用されることは無いでしょう。
としている。 自宅DNSサーバーはDoT(DNS over TLS)に対応してないが、キャリアがDNSサーバーでDoTに対応し始めたのだろうか?
もしくは、これまで楽天を主回線で使っていたが、繰越パケットが余ってるのでDocomo(y.u.mobile)を主回線にしたから、それでかなぁ?とか、思った。しかし、試しに楽天でOpenVPN接続しても、やはり同現象はおきたので、ここ数ヶ月?でキャリアが一斉にDoT対応したのか、もしくはプライベートDNSモードの動作が変わったのか?
OpenVPN for Androidの更新か?
OpenVPN接続時のログを見ると
0 [dhcp-option] [DNS] [192.168.0.10]
1 [route] [0.0.0.0] [0.0.0.0]
2 [redirect-gateway] [def1]
3 [dhcp-option] [DNS] [192.168.0.2]
4 [dhcp-option] [DNS] [8.8.8.8]
となっている。0の部分が client.ovpn で指定した部分だろう。あれ、3、4これは自宅DNSサーバーunbound
でのforward-zone
の設定だな。前からこうだっけ?
forward-addr: 192.168.0.2
forward-addr: 8.8.8.8
192.168.0.10、192.168.0.2、8.8.8.8
の内でDoT対応の8.8.8.8
が使われるようになったのか?でも、昔からこの設定で、特に最近変更したって訳ではないんだけどねぇ。
OpenVPN for Androidでの動きが変わったのかも知れない。結局よく分からない。
どちらにせよ、まずはOFFにしつつ、我が家のDNSサーバーのDoT対応を検討したい。