Alpine Linuxベースの仮想マシンにPi-hole広告ブロックDNSを構築

公開

Alpine LinuxUnboundで自宅用フルサービスリゾルバを作ってはや一年、WebUIによるクエリ監視やデバイス単位のアクセスコントロールが必要になったので、Alpine Linux 仮想マシンに Pi-hole  広告ブロック DNS 環境を構築しました。

ESXiホスト上に仮想マシンを作成

Celeron J4125ミニPCのESXiホスト(関連記事はこちら)上に仮想マシンを新規作成して、OSをインストールするところまでは、前回Unboundで作ったフルサービスリゾルバと同じです。

仮想マシンのハードウェア構成は次の通り、仮想ディスクを気持ち大きくした以外は全く同じ。

  • CPU : 2 Cores
  • RAM : 1 GB
  • HDD : 5 GB Thin Provisioning
図01.仮想マシンのハードウェア構成

図01.仮想マシンのハードウェア構成

仮想マシンの起動オプションの項で、UEFIのセキュアブートのチェックを外して無効にするところも前回同様。

図02.セキュアブートの無効化

図02.セキュアブートの無効化

Alpine Linuxのインストール

インストールに使うイメージは、今回も仮想環境向けに最適化されたVirtual版をを使います。バージョンは執筆当時最新のver.3.19.1。

仮想マシンを起動し、Alpine Linuxインストーラのシステムへログイン(パスワード無しの root ユーザ)。

図03.インストーラ ログイン

図03.インストーラ ログイン

setup-alpine でインストールを始めます。キーボードレイアウトとホスト名を設定、IPアドレスはまだ固定にせず、DHCPクライアントモードのまま。

図04.Keymap Hostname NIC

図04.Keymap Hostname NIC

続いて、rootパスワード、タイムゾーン、APKレポジトリミラーを設定の後、普段使い用のユーザアカウントを作成。

図05.Password Timezone APK Mirror User

図05.Password Timezone APK Mirror User

セットアップウィザードの終わりは、インストール先ディスクの選択。インストールタイプは今回も sys にすると、それ以上の設定項目はなく、インストールが始まって完走です。

図06.Disk & Install

図06.Disk & Install

Alpine Linuxの初期設定

再起動後、作成したユーザでシステムへ入り、その状態を確認。

前回より仮想ディスクを大きくしたせいか、Swapが大盤振る舞いに取られてしまっているので、パーティションリサイズしたいのですが、その前に基本設定。

コミュニティレポジトリを有効にし、 sudoopen-vm-tools パッケージをインストールします(公式Wiki参照)。

open-vm-tools が問題無く動くのを確認したら自動起動に登録。併せて、ESXi Host Client上でネットワーク情報が取得できるのを確認。

図07.ESXi Host Client ネットワーク情報

図07.ESXi Host Client ネットワーク情報

これよく見ると、割り当てたRAM 1GBのうち、半分程度しか掴んでいません。Linux仮想マシンのRAMは割り当てた量を起動時からごっそり掴むことばかりだったので意外。これはまた別の機会に検証してみるつもりです。

次に、作成した一般ユーザを wheel グループへ入れて sudo が使えるようにしたり、

多すぎる getty を調整したら、

IPアドレスを固定します。

初期設定の最後に、大き過ぎるSwapパーティションを手っ取り早くGParted Live CD ISOを使って半分以下にし、ルート領域にあてがいます。

図08.GParted Liveでリサイズ

図08.GParted Liveでリサイズ

ルートパーティションの先頭位置が変わることに警告が出ますが、これで問題無くブートしてくれます。

 

次ページでは、Pi-holeのインストールへ進みます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA