nextdnsがペアレンタルコントロールにすごく良かった

# nextdnsがペアレンタルコントロールにすごく良かった


---
## [nextdns](https://nextdns.io/)とは
クラウドDNSサービスで、自分でカスタマイズしたDNSを用意できるというもの。   

## ペアレンタルコントロールに必要な機能を備えている
子供が最近できた関係で、ネットの健全性というものを意識するようになりました。   

マッチングサイト、SNS、アダルトサイト等、子供の判断能力が一定以上育つまで触れさせるとリスクであるサイトやサービスがたくさん存在し、子供の成長に合わせて両親の判断で許可したりブロックしたりを行いたかったのですが、世の中のペアレンタルコントロールは多くはパッケージ製品になっており細かくコントロールできません。

また、デバイスにペアレンタルコントロールを適応するという方法もあるのですが、デバイスを横断してルールを適応できないし、WindowsならWindowsのドメイン知識、iOSならばiOSのドメイン知識が必要であり、今後増え続けるであろうデバイスに対して学習・設定コストを支払うことになります。  

大人も包括的にルールに適応されるというデメリットもありますが、メリットも十分大きいと考えられます。   


## 仕組み
DNSの仕組みを理解しているという前提になります。  
例えば、`www.yahoo.co.jp`は名前解決するとIPアドレスが`13.249.153.64`になりますが、nextdnsで禁止設定をすると、`0.0.0.0`になります。

GoogleのPublic DNSでは以下のように普通にアクセスできてしまいます。

```console
$ dig @8.8.8.8 tinder.com

; <<>> DiG 9.16.1-Ubuntu <<>> @8.8.8.8 tinder.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40995
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;tinder.com.                    IN      A

;; ANSWER SECTION:
tinder.com.             59      IN      A       13.249.153.64
tinder.com.             59      IN      A       13.249.153.79
tinder.com.             59      IN      A       13.249.153.31
tinder.com.             59      IN      A       13.249.153.47

;; Query time: 12 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: 火  2月 09 13:37:04 JST 2021
;; MSG SIZE  rcvd: 103
```

nextdnsから与えられるカスタムdnsのIPアドレスで引くと、`0.0.0.0`になることが確認できます。  

`0.0.0.0`は無効なアドレスなので通信ができず、コンテンツにアクセスできないことになります。

```console
$ dig @45.90.28.241 tinder.com

; <<>> DiG 9.16.1-Ubuntu <<>> @45.90.28.241 tinder.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60410
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;tinder.com.                    IN      A

;; ANSWER SECTION:
tinder.com.             300     IN      A       0.0.0.0

;; Query time: 4 msec
;; SERVER: 45.90.28.241#53(45.90.28.241)
;; WHEN: 火  2月 09 13:38:25 JST 2021
;; MSG SIZE  rcvd: 44
```

## 家のルータ・デバイスに設定する
家のルータのデフォルトの参照先をNextDNSから与えられたアドレスにしておくと便利です。 
  
子供や保護すべき対象の人のデバイスのDNSを端末レベルで設定することでも反映できます。   

iPhoneだけはイレギュラーでセルラーモードだと強制的に契約している通信会社のDNSに接続されるということで、VPNに接続を強制する設定を入れる等が必要です。WiFi環境下では問題がありません。携帯をもたせる年齢になったら、Appleのポリシーは危険かもしれないので別のスマホをもたせるかもしれません。。

各デバイスではDNSの設定をいじれないように権限の限定だけは必要でしょう。


## 広告・フィッシング詐欺もブロックできる
`プライバシー`からフィルターを追加することができ、広告関係のフィルターを適応したり、詐欺のリスクがあるドメイン等もブロックすることができます。

## 自分で自分を制御できない人にもおすすめ
私は特定のニュースサイトや掲示板をすごく長時間見てしまう癖があり、人生の時間をだいぶ無駄にしていたので、`5ch.net`や`reddit.com`等を禁止リストに入れています

## 私の設定
**プライバシー**
<div align="center">
<img width="100%" src="https://user-images.githubusercontent.com/4949982/107319193-a26a6680-6ae1-11eb-9074-8b78f0bec25c.png">
</div>


**ペアレンタルコントロール**
<div align="center">
<img width="100%" src="https://user-images.githubusercontent.com/4949982/107319412-27ee1680-6ae2-11eb-9af0-d336117a3944.png">
</div>

**カスタムで禁止しているサイト**
<div align="center">
<img width="100%" src="https://user-images.githubusercontent.com/4949982/107319519-54a22e00-6ae2-11eb-9210-b46541812e7c.png">
</div>


## 付録

qiitaのmarkdownの表現力の限界により、別途用意したslideが入れられないので、[リンク](https://gink03.github.io/nextdns/)を添付します。よろしければご参考にしてください。