自宅内から外部にアクセスする機器の通信を制御したい
通信させたいドメインを登録する方式(ホワイトリスト)
私はsonyのBRAVIAとPanasonicのレコーダーを所持しています
101:DIGA(DVDレコーダ)
125:BRAVIA
それぞれの機器にプロキシをラズパイを使うように設定しています
必要なアクセスのみを許可したいため使用しています
インストール
sudo apt update
sudo apt install squid
squidの設定
sudo vi /etc/squid/squid.conf
1209行目辺り
acl localnet src 0.0.0.1-0.255.255.255 # RFC 1122 “this” network (LAN)
acl localnet src 10.0.0.0/8 # RFC 1918 local private network (LAN)
acl localnet src 100.64.0.0/10 # RFC 6598 shared address space (CGN)
acl localnet src 169.254.0.0/16 # RFC 3927 link-local (directly plugged) machines
acl localnet src 172.16.0.0/12 # RFC 1918 local private network (LAN)
acl localnet src 192.168.0.0/16 # RFC 1918 local private network (LAN)
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines
acl localnet src 192.168.20.0/24 ←追加
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
1422行目辺り
http_access allow localhost
http_access deny !localnet ←追加
1426行目辺り
acl whitelist dstdomain “/etc/squid/whitelist” ←http_access deny allより前に追加
http_access allow whitelist ←追加
http_access deny all
1924行目辺り
http_port 8888 ←3128から8888に変更(必要なければしなくても良い)
ファイルの最後尾
acl NOCACHE src all ←追加(キャッシュを無効にする)
cache deny NOCACHE ←追加
許可先を設定
ファイルの中のアクセス先は参考です
後述する/var/log/squid/access.logを確認しながらドメインを見つけてください
左矢印以降はコメントなので
sudo vi /etc/squid/whitelist
bd-jp.vieraconnect.jp #DIGAのプロキシ設定時のテストでアクセスするサイト(http://bd-jp.vieraconnect.jp/test)
.dimora.jp #ディモーラ設定時(panaapi-s2.dimora.jp:443) ※録画予約とかするサイト
.g-guide.jp #Gガイド
remotepairing.bb-cygnus.jp #ペアリング更新用
.sony.net #BRAVIAがアクセスしに行くところ
.sony.jp
.sony.tv
.sony.com
再起動
ラズパイを再起動
squidのサービスだけを再起動する場合は
sudo /etc/init.d/squid restart
でいいと思うけどなんか時間がかかる
アクセス先の確認方法など
アクセスログを確認する
このコマンドはログファイルに追加された行をリアルタイムで確認するのに適しています
sudo tail -f /var/log/squid/access.log
アクセスが発生すると行が増えていきます
TCP_DENIED 拒否されたアクセス
TCP_TUNNEL 許可されたアクセス