Alpine Linux仮想マシンとUnboundで作る自宅用DNSフルサービスリゾルバ

公開 | 更新 
図12.Alpine Linux ブート画面

自宅に念願のHome Lab環境を手にすることができたので、これまでISPや公共の DNS へ転送していた名前解決を自前で賄える、自宅用 DNS フルサービスリゾルバ (キャッシュ DNS サーバ)を Alpine Linux 仮想マシンと Unbound で構築します。

Alpine Linuxの選定

Docker環境でよく使われるコンパクトなLinuxディストリビューションのAlpine Linuxに用意されているいくつかの仕様の中から、今回はスタンダード版をベースに仮想環境向けにカーネルをスリムダウンしたとされる、ヴァーチャル版を使ってみることにします。

ダウンロードページから、執筆当時最新の3.17.1イメージをダウンロードするのですが、その小ささにびっくり。

 

仮想ハードウェア構成

Celeron J4125 ミニPCで構築したVMware ESXi 8.0ホスト上に、新規Linux仮想マシンを作成します。

図01.名前とゲストOSの選択

図01.名前とゲストOSの選択

仮想ハードウェアは、DNS専用機ということもありできる限りミニマルな構成に。

  • CPU : 2 Cores
  • RAM : 1 GB
  • HDD : 2 GB
図02.仮想ハードウェア設定

図02.仮想ハードウェア設定

仮想マシンオプションでは、UEFIセキュアブートをのチェックを外して無効化します。

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

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

仮想ディスクは可変長のシンプロビジョニングに、光学ドライブに先ほどダウンロードしたAlpine LinuxのISOファイルをセットして、仮想マシンの作成を確定します。

図04.仮想マシン設定の確認

図04.仮想マシン設定の確認

Alpine Linuxのインストール

作成した仮想マシンのパワーオンをクリックしてインストールを始めます。

図05.仮想マシン待機状態

図05.仮想マシン待機状態

起動後すぐにVMware Host Clientのブラウザコンソールに、次のプロンプトメッセージが現れます(ログインはrootでパスワード無し)。

図06.Alpine Linuxインストーラログイン

図06.Alpine Linuxインストーラログイン

setup-alpine コマンドでインストーラを開始、まずはキーボードレイアウトとロケールの設定です。

図07.キーボードレイアウトとロケール設定

図07.キーボードレイアウトとロケール設定

続いてホスト名とネットワークインターフェイスの設定です。インストールに際してインターネットへの疎通が必要になる為、サーバ用途なので静的IPを付与したいところですが、まずは無難にDHCPでセットアップを進めます。

図08.ネットワークやパスワードの設定

図08.ネットワークやパスワードの設定

さらにrootパスワードやタイムゾーンをテキストベースで設定した後、ソフトウェアパッケージレポジトリのミラーリストから、使いたいミラーソースを選びます。通常は f で最速ミラーを選んでもらえば良いでしょう。

図09.レポジトリミラーの選択

図09.レポジトリミラーの選択

次に普段使う一般ユーザを作成し、SSHも使えるようにしておきました。

図10.一般ユーザ作成とSSH有効化

図10.一般ユーザ作成とSSH有効化

最後にインストール先のストレージを選択するのですが、Alpine Linuxの特徴としてここでインストールタイプを選択することができます。

今回は通常用途なので sys モードを選択して進めると、あっという間にインストーラは終わりました。

図11.インストールディスクの設定

図11.インストールディスクの設定

仮想マシンを再起動させると、セットアップした仮想ディスクからこれまたあっという間に起動が完了しました。

図12.Alpine Linux ブート画面

図12.Alpine Linux ブート画面

Alpine Linuxの初期設定

まずはブラウザコンソール上でrootでログインしてシステム基本情報を確認。

 

この状態で su コマンドは入っているものの、 sudo が入っていないのでこれをまずインストールしたいのですが、sudoパッケージはデフォルトの main レポジトリにはいないので、まず /etc/apk/repositories の community に掛かっているコメントアウトを外して有効にします。

その上でパッケージリストを再取得して sudo をインストールします。

インストール時に作成したユーザ userwheel グループに加え、このグループメンバ全員が sudo を使えるように設定します。

 

ここからは一般ユーザでSSHから入り直し、続いてopen-vm-toolsをインストールします。

サービスの開始やステータス表示と、システム起動時に自動開始するよう設定する方法を確認。

これでVMware Host Client上に、ゲストシステムの情報が表示されるようになります。

図13.ゲストOSの全般情報

図13.ゲストOSの全般情報

 

不要なgetty仮想コンソールの削除

/var/log/messages ログを確認していると、ひっきりなしに挙がる仮想コンソール関連のエントリにびっくり。

プロセスリストを確認すると、そこには仮想コンソールのプロセスがずらりと並んでいました。

仮想コンソールを使うつもりはないので、 /etc/inittab にある全ての関連設定をあらかたコメントアウトしてしまいます( tty1 は残しておかないと、ESXi Host Client上のコンソールからログインできなくなるので注意)。

通常はシステム起動時に読み込まれるこの設定を再起動せずに即適用するには、現在走っている init のプロセスを殺します。

プロセスリストから仮想コンソールが一掃され、ログも平穏になりました。

 

以上でOSのセットアップは終わったので、次ページはUnboundの導入へ進みます。

 

created by Rinker
¥1,760 (2024/02/26 11:11:18時点 Amazon調べ-詳細)

コメントを残す

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

CAPTCHA