日々の備忘録

技術について日々学んだことを書きます。

自宅LANから特定Webサービスへのアクセスを遮断する

SNSなどを見ているといつのまにか時間が経ってしまうので、ネットワークに関しては素人ながら対策を施しました。

自分で設定したものなので当然ながら解除もできるのですが、とにかく手間を増やすことで何となく見てしまう頻度を減らすことを目的としています。

試した対策

ルーターでフィルタリング

LANの根っこを抑えるということで、ルーターの設定から着手しました。

ISP(NURO)のONU(ZXHN F660A)をそのまま利用しており、中継機は挟んでいません。

IPフィルタ

設定項目を確認したところ、宛先がドメイン指定できず、IPアドレスの変更があった場合に手動で追従させる手間が増えるため、不採用としました。

URLフィルタ

こちらが使用できそうだったのですが、有効にした上で https://example.com などとしてブラックリストとして登録しても該当URLへのアクセスを遮断できず、取扱説明書にも入力フォーマットの例がないためこちらの使用は断念しました。

(そもそもhttpsの場合、TLS復号しなければhostnameとport以外を知ることができないはずなので、hostname[:port]フォーマットでなければ判定できないような気もしますが詳細は不明です...)

Windows Hostsファイルで設定

ルーター単体で設定できなかったため、ひとまずメインで利用しているPCのhostsファイルを編集して対応しました。

対処方法としては0コストで楽ではあるのですがWindowsに限られますし、他の端末からは見れてしまうのであまり効果的ではありませんでした。

DNS Serverを構築

Synology NASがあり、こちらでDNS Serverが簡単に構築できたため、こちらを採用しました。

シンプルな構成ですが、図は以下のとおりです。

f:id:ryoshimada746:20210927235622p:plain

遮断したいものだけNAS DNSにダミー登録しておき、他は元々のDNS(ルーター)にフォールバックするようにしています。

HTTP Proxy Serverを構築

Synology NASでHTTP Proxyを建ててみたのですが、アクセス先によっては体感での速度劣化が激しかったため、DNSを利用してみています。 端末ごとにProxyを通すか設定が容易なため、用途によってはこちらのほうが利便性が高いと思われます。

まとめ

私の自宅環境依存ではありますが、DNSでフィルタリングする方式を取りました。

今のところ許容範囲ではありますが、Webブラウジング全般が若干遅くなっているように感じます。 もしかしたらクライアント含めDNSキャッシュが上手く効いていないのかもしれません。

時間があればDNS Serverの設定を見直すか、他の専用サーバを用意しようと思います。