今回は Raspberry Pi 3 Model A+
広告ブロックを使用したい場合は、それぞれのクライアントのプロキシー設定で Proxy サーバーのIPアドレスとポートを指定します。
準備するもの
- Raspberry Pi 3 Model A+
4GB512MB - USB接続のSSDまたはHDD(今回は500GBのHDDを使用)
- SD Card 8GB以上(今回は32GBを使用)
- 作業用Windows PC
- Raspberry Pi Imager
OSの準備
OSのインストールは二段階で行います。最初に作業用のSD Cardにインストールし、その後本稼働用のUSBディスクへインストールします。
インストールメディアの作成
Raspberry Pi Imager を使用し、Raspberry Pi OS Lite 32Bit版を SD CARD(32GB) に書き込む。 ここでホスト名、SSHの設定、ユーザーIDとパスワードの設定、WiFiのSSIDとパスワード、ロケールを設定します。
同様の手順でUSBディスクにもOSを書き込みます。
OSの起動
作成した SD Card を Raspberri Pi に挿入し電源を投入します。
無線LANルータの設定画面やログを参照し、 Raspberry Pi に割り当てられたIPアドレスを調べ、ターミナルソフトを使用しSSHで接続します。
Bootデバイスの変更
/boot/config.txt に以下の行を追加する。
program_usb_boot_mode=1
追加が完了したらリブートします。
$sudo reboot now
立ち上がったらブート媒体の確認を行います。
$vcgencmd otp_dump | grep 17:
以下のように表示されることを確認します。
17:3020000a
これでUSBディスクからBoot出来るようになります。
電源オフ
シャットダウンします。Raspberry Pi は自動で電源がオフにならないため、Raspberry Pi のLED(緑)が消灯するまで待ちます。消灯確認後電源をオフします。
$sudo shutdown -h now
USBディスクからの起動
SD Card を抜き取り、USBディスクを接続し電源を投入します。
初期設定
システムのアップデート
$sudo apt update
$sudo apt upgrade
rootのパスワード設定
$sudo passwd root
mcのインストール
$sudo apt install mc
IPアドレスの固定化
/etc/dhcpcd.conf に以下を追加
interface wlan0
static ip_address=192.168.0.102/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
再起動
ここでIPアドレスの変更を確認するために、再起動します。
$sudo reboot now
CPU最大周波数の制限
Raspberry Pi 3 Model A+ではアイドル時は600Mhzで動作している。ビジー時は1.5GHzまで上昇するようです。今回はCPUパワーをそれほど必要としないため、CPUの最大周波数を 800MHz に制限することにしました。これでヒートシンクやファンなしで運用できそうです。
/boot/config.txt に以下を追加します。
arm_freq=800
これで最大周波数が800MHzに押さえられます。設定を有効にするためリブートします。
$vcgencmd measure_clock arm
CPUのクロックと温度の確認
このコマンドでRaspberry Pi のCPU4コアすべてが100%で稼働し続けます。
$openssl speed -multi 4
以下のコマンドでCPUの稼働周波数と温度を確認します。
$vcgencmd measure_clock arm
$vcgencmd measure_temp
80℃以下であれば問題ないと思います。
NTPサーバの設定
/etc/systemd/timesyncd.conf に以下の設定を追加します。
[Time] NTP=ntp1.plala.or.jp FallbackNTP=ntp1.jst.mfeed.ad.jp ntp2.jst.mfeed.ad.jp ntp3.jst.mfeed.ad.jpNPTサーバーは使用しているプロバイダーの指定に従ってください。
NTPサービスを再起動し変更を反映します。
$ sudo systemctl restart systemd-timesyncd
rootログイン時のパスワード入力の強制
デフォルトでは sudo 時にパスワードを聞いてこない。パスワード入力を必須にするため以下のファイルの行に#を付けコメントにします。
/etc/sudoers.d/010_pi-nopasswd
変更前:
synctam ALL=(ALL) NOPASSWD: ALL
変更後:
#synctam ALL=(ALL) NOPASSWD: ALL
AdGuard Home の導入
AdGuardユーザーの登録
$sudo adduser adpi
videoグループへの参加(vcgencmd の実行に必要)。
$sudo usermod -aG video adpi
AdGuardのインストールのために管理者に切り替えます。
$sudo su -
#cd /home/adpi #curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v
#exit
インストールが完了したら管理者から抜けます。
AdGuard Homeのセットアップ
WindowsPCのブラウザーから以下のURLに接続します。
http://192.168.0.2:3000/install.html
DNSサーバ
待ち受けインターフェイス
wlan0 - 192.168.0.2 ポート 53
管理者ID
管理者用のユーザーIDとパスワードを指定します。
画面の指示に従い設定を完了します。
AdGuard Homeの管理ウェブインターフェイスは、次のアドレスで利用可能になります。
http://192.168.0.2:8088
正常に稼働していることを確認します。
AdGuardのフィルタ設定
AdGuard Homeの管理ウェブインターフェイスを開き、[フィルタ] の [DNSブロックリスト] で [ブロックリストに追加する] を開き [リストから選択] から以下を有効にする。
- AdGuard DNS filter
- AdAway Default Blocklist
- Dan Pollock's List
- OISD Blocklist Small
- Peter Lowe's Blocklist
- Dandelion Sprout's Game Console Adblock List
- The Big List of Hacked Malware Web Sites
- Perflyst and Dandelion Sprout's Smart-TV Blocklist
squid
インストール
$sudo apt install squid
/etc/squid/squid.conf
squidの設定ファイルに以下を設定する。
squid を再起動し変更を反映します。
$sudo systemctl restart squid
squidのログは以下で参照できます。
$sudo tail -f /var/log/squid/access.log
[参考]ユーザーsquid(-u)に関するログを継続的(-f)に表示します。
$journalctl -fu squid
AdGuardの利用
iPhone や Amazon Fire などのタブレットから AdGuard を使用する場合は、プロキシーサーバーの設定を開き、IPアドレスとポートを指定します。
この例では、IPアドレスは192.168.0.2、ポートは 3128 です。
今のところ問題なく動作していますが、この方法では Youtube の広告を非表示にすることは出来ませんでした。
では・・・
0 件のコメント:
コメントを投稿