見出し画像

UGREEN仮想マシンでAdGuard Home構築 - *.nas.localでDNS管理

はじめに

前回の記事では、UGREEN DXP6800 Pro上の基本環境整備方法、そしてPortainerを構築した。今回は、ホームラボの運用を劇的に便利にするDNS統一管理を実現する。

具体的には、UGREEN DXP6800 Proの仮想マシン機能を使ってUbuntu Serverを立ち上げ、その上でAdGuard Homeを動作させる。これにより、すべてのローカルデバイスから `http://portainer.nas.local/` のような形でサービスにアクセス可能となる。

なぜAdGuard Homeが必要なのか

ホームラボで複数のDockerサービスを運用していると、以下のような課題に直面する:

IPアドレスとポート番号の管理が煩雑: `192.168.2.250:9000`、`192.168.2.250:3421` など覚えきれない
デバイスごとにブックマーク管理: Mac、Windows、スマホ、タブレットすべてで個別設定
サービス追加のたびに全デバイスで設定変更: 新しいコンテナを立てるたびに手間
統一されたアクセス方法がない: サービスごとにアクセス方法が異なる

AdGuard Homeを使うメリット

AdGuard Homeを導入すると:

ネットワーク全体で一元管理: ルーターのDNS設定を変えるだけで全デバイスに適用
ワイルドカードDNS対応: `*.nas.local` → `192.168.2.250` で一発設定
広告ブロック機能: ついでにネットワーク全体の広告をブロック
DNS統計: どのデバイスがどのサービスにアクセスしているか可視化

構成図

インターネット
    ↓
ルーター (192.168.2.1)
    ↓ DNS: 192.168.2.15に転送
    |
    ├─ UGREEN DXP6800 Pro (192.168.2.250)
    |  └─ Docker コンテナ群
    |     ├─ Portainer
    |     └─ その他サービス
    |
    └─ 仮想マシン: Ubuntu Server (192.168.2.15)
       └─ AdGuard Home
          DNS Rewrite: *.nas.local → 192.168.2.250

前提条件

  • UGREEN DXP6800 ProでUGOS Proが動作している

  • Portainerが導入済み(第一回の記事を参照)

  • ルーターの管理画面にアクセスできる

  • Ubuntu Server 24.04 LTSのISOファイル(事前ダウンロード推奨)

Step 1: Ubuntu Server ISOのダウンロード

UGOS ProのWebブラウザ経由でダウンロードすると時間がかかるため、PCでダウンロードしてUGREENにアップロードする。

1-1. PCでISOをダウンロード

Ubuntu公式サイトから最新版をダウンロード:
https://ubuntu.com/download/server

推奨: Ubuntu Server 24.04 LTS (Long Term Support)

1-2. UGREENにアップロード

  1. UGOS ProのWebUI(`http://192.168.2.250/`)にアクセス

  2. 「ファイル」→「ISO」フォルダを作成

  3. ダウンロードしたISOファイルをアップロード

または、SMB経由で直接コピー:

# Macの場合
cp ~/Downloads/ubuntu-24.04-live-server-amd64.iso /Volumes/nas/ISO/

Step 2: UGREEN仮想マシンの作成

UGOS Proの仮想マシン機能を使ってUbuntu Serverをインストールする。

2-1. 仮想マシンマネージャーを開く

  1. UGOS Pro WebUIにログイン

  2. 左メニューから「仮想マシン」を選択

  3. 「作成」をクリック

2-2. 仮想マシンの設定

以下の設定で仮想マシンを作成する:

基本設定:

  • 名前: `AdGuard-Home`

  • OS タイプ: Linux

  • ディストリビューション: Ubuntu 24.04 LTS

リソース設定:

  • CPU: 1コア

  • メモリ: 1GB (1024MB)

  • ディスク: 50GB

  • ネットワーク: Bridge(ブリッジモード)

ISOイメージ:

  • アップロードしたUbuntu Server ISOを選択

「作成」をクリックして仮想マシンを起動する。

2-3. Ubuntu Serverのインストール

仮想マシンのコンソールが開くので、以下の手順でUbuntuをインストール:

  1. 言語選択: English(日本語対応は後で設定可能)

  2. キーボードレイアウト: Japanese

  3. インストールタイプ: Ubuntu Server (minimized)

  4. ネットワーク設定:

    • 重要: 「Edit IPv4」を選択

    • IPv4 Method: Manual

    • Subnet: `192.168.2.0/24`

    • Address: `192.168.2.15`

    • Gateway: `192.168.2.1`

    • Name servers: `1.1.1.1,8.8.8.8`(一時的、後でAdGuard Homeに変更)

  5. プロキシ: 空欄

  6. ミラー: デフォルト

  7. ストレージ: Use entire disk(デフォルト)

  8. プロファイル設定:

    • Your name: `admin`

    • Server name: `adguard`

    • Username: `admin`

    • Password: 強力なパスワードを設定

  9. SSH Setup: Install OpenSSH server(チェック)

  10. Featured Server Snaps: なし(スキップ)

インストールが完了したら、「Reboot Now」で再起動する。

2-4. SSH接続確認

PCから仮想マシンにSSH接続できることを確認:

ssh admin@192.168.2.15

初回接続時は鍵の確認を求められるので `yes` を入力。

Step 3: AdGuard Homeのインストール

Ubuntu Server上にAdGuard Homeをインストールする。

3-1. システムアップデート

まず、システムを最新化:

sudo apt update
sudo apt upgrade -y

3-2. AdGuard Homeのインストール

公式のインストールスクリプトを使用:

curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v

インストールが完了すると、以下のメッセージが表示される。:

AdGuard Home is now available at the following addresses:
http://192.168.2.15:3000 (setup page)
http://192.168.2.15:80 (after initial setup)

3-3. 初期セットアップ

  1. ブラウザで `http://192.168.2.15:3000/` にアクセス

  2. 「Get Started」をクリック

管理画面の設定:

  • Admin Web Interface: すべて 0.0.0.0 のままでOK

  • Port: 80(デフォルト)

DNS サーバーの設定:

  • Listen Interface: すべて 0.0.0.0 のままでOK

  • Port: 53(デフォルト)

  1. 管理者アカウントを作成:

    • Username: `admin`

    • Password: 強力なパスワード

  2. 「Next」→「Next」→「Open Dashboard」

3-4. AdGuard Home起動確認

ブラウザで `http://192.168.2.15/` にアクセスし、管理画面が表示されることを確認。

Step 4: DNS Rewritesの設定

ワイルドカードDNSで `*.nas.local` をDXP 6800 Pro(192.168.2.250)に向ける。

4-1. Filters設定を開く

  1. AdGuard Home管理画面にログイン

  2. 左メニュー「Filters」→「DNS rewrites」タブ

  3. 「Add DNS rewrite」をクリック

4-2. ワイルドカードDNS設定

以下の設定を追加:

DNS rewrite 1: ワイルドカードルール

  • Domain name: `*.nas.local`

  • Answer: `192.168.2.250`

  • 「Save」をクリック

DNS rewrite 2: ルートドメイン(オプション)

  • Domain name: `nas.local`

  • Answer: `192.168.2.250`

  • 「Save」をクリック

4-3. 動作確認(仮想マシン内から)

SSH接続した状態で、DNS解決をテスト:

# digコマンドをインストール
sudo apt install -y dnsutils

# ワイルドカードDNSのテスト
dig @127.0.0.1 portainer.nas.local +short
dig @127.0.0.1 anything.nas.local +short

すべて `192.168.2.250` が返ってくれば成功!

Step 5: ルーターのDNS設定

ネットワーク全体でAdGuard Homeを使うようにルーターを設定する。

5-1. ルーター管理画面にアクセス

一般的には `http://192.168.2.1/` や `http://192.168.1.1/` などか?自宅の環境に合わせてアクセスする。

5-2. DNS設定を変更

ルーターによって設定場所が異なるが、一般的には:

設定パス例:

  • 「LAN設定」→「DHCPサーバー」→「DNS設定」

  • 「基本設定」→「DNS」

  • 「インターネット設定」→「DNS サーバー」

設定値:

  • Primary DNS: `192.168.2.15`(AdGuard Home)

  • Secondary DNS: `1.1.1.1`(バックアップ)

保存後、ルーターを再起動する。

5-3. デバイスでDNS更新

各デバイスでネットワーク接続を再接続すると、新しいDNS設定が適用される:

Mac/Windows: Wi-Fiをオフ→オン
スマホ: Wi-Fiを切断→再接続

または、IPアドレスを手動で再取得:

# Mac
sudo dscacheutil -flushcache

# Windows
ipconfig /renew

Step 6: 動作確認

すべてのデバイスから `.nas.local` ドメインでアクセスできることを確認する。

6-1. DNS解決確認

Mac/Linux:

dig portainer.nas.local +short
# 192.168.2.250 が返ってくればOK

Windows:

nslookup portainer.nas.local
# Address: 192.168.2.250 が表示されればOK

6-2. ブラウザでアクセステスト

以下のURLにアクセスして、各サービスが表示されることを確認:

6-3. スマホ・タブレットでテスト

スマホのブラウザから同じURLにアクセスして、表示されることを確認。これで、どのデバイスからでも簡単にアクセスできるようになった。

AdGuard Homeの追加設定(オプション)

広告ブロック

AdGuard Homeには広告ブロック機能がある。:

  1. 「Filters」→「DNS blocklists」

  2. デフォルトでAdGuard DNSフィルタが有効

  3. 追加でEasyListなどを追加可能

統計情報

「Dashboard」で以下が確認可能:

  • DNS クエリ数

  • ブロックされた広告数

  • 上位クライアント

  • 上位ドメイン

クライアント設定

「Settings」→「Client settings」で、デバイスごとに異なる設定も可能。

トラブルシューティング

DNS解決ができない

症状: `dig` や `nslookup` で `192.168.2.250` が返ってこない

確認ポイント:

  1. AdGuard HomeのDNS Rewritesが正しく設定されているか

  2. ルーターのDNSが `192.168.2.15` になっているか

  3. デバイスが古いDNSキャッシュを保持していないか

解決方法:

# Mac
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder

# Windows
ipconfig /flushdns

AdGuard Homeにアクセスできない

症状: `http://192.168.2.15` にアクセスできない

確認ポイント:

  1. 仮想マシンが起動しているか(UGOS ProのWebUIで確認)

  2. SSH接続できるか(`ssh admin@192.168.2.15`)

  3. AdGuard Homeが起動しているか

AdGuard Home再起動:

sudo systemctl restart AdGuardHome
sudo systemctl status AdGuardHome

仮想マシンのIP設定が消える

症状: 再起動後に `192.168.2.15` にアクセスできない

原因: Netplanの設定が保存されていない

解決方法:

sudo nano /etc/netplan/00-installer-config.yaml

以下のように設定:

network:
  version: 2
  ethernets:
    ens18:  # インターフェース名は環境により異なる
      addresses:
        - 192.168.2.15/24
      gateway4: 192.168.2.1
      nameservers:
        addresses:
          - 127.0.0.1
          - 1.1.1.1

適用:

sudo netplan apply

セキュリティ設定(推奨)

ファイアウォール設定

Ubuntu ServerのUFWで必要なポートのみ開放:

# UFWを有効化
sudo ufw enable

# SSH許可
sudo ufw allow 22/tcp

# DNS許可
sudo ufw allow 53/tcp
sudo ufw allow 53/udp

# AdGuard Home管理画面許可
sudo ufw allow 80/tcp

# 設定確認
sudo ufw status

自動起動設定確認

AdGuard Homeが起動時に自動起動することを確認:

sudo systemctl is-enabled AdGuardHome
# enabled が返ってくればOK

まとめ

この記事では、UGREEN DXP6800 Proの仮想マシン機能を使ってAdGuard Homeを構築した:

仮想マシン作成: Ubuntu Server 24.04 LTSをインストール
AdGuard Home導入: DNS統一管理とワイルドカードDNS
DNS Rewrites設定: `*.nas.local` → `192.168.2.250`
ネットワーク全体適用: ルーターのDNS設定変更

これで、新しいDockerコンテナを立てるたびに各デバイスのhostsファイルを編集する必要がなくなる。次回紹介予定のTraefikと組み合わせることで、以下のような運用が可能になる:

  1. Portainerで新しいStackを作成

  2. Traefikラベルを追加(`homarr.nas.local` など)

  3. すぐにアクセス可能(DNSは自動解決)

今後の拡張

AdGuard Homeを導入したことで、以下のような拡張も可能となる:

  • Let's Encryptでの証明書取得: 独自ドメインとDNS-01チャレンジ

  • VPN経由での外部アクセス: Tailscaleと組み合わせて外出先から

  • サブドメイン分離: `nas.nas.local`, `ai.nas.local` など用途別に管理

次回予告

次回は、Traefik、Watchtower、Obsidian、Homarrを導入し、実際のサービス運用を開始する:

  • Traefik: リバースプロキシでHTTP/HTTPS統一

  • Watchtower: コンテナ自動更新(monitor-only)

  • Obsidian: ホームラボのメモ管理

  • Homarr: サービス一覧ダッシュボード

お楽しみに!

いいなと思ったら応援しよう!