LoginSignup
6
9
記事投稿キャンペーン 「2024年!初アウトプットをしよう」

折角自宅サーバーがあるのでハッカーっぽい雰囲気を出す【Pi-hole】

Posted at

この記事では Pi-hole を使って以下のような感じで自宅のネットワークの状態を確認できるようにします。うん、カッコいい!しかも実用性もちゃんとあります。

Pi-holeとは?

Pi-hole は広告ブロック機能がついた DNS サーバ兼 DHCP サーバです。自宅ネットワークのルータ等についている既存の DNS サーバや DHCP サーバを置き換える形で設置することで、ネットワーク内のすべての端末に広告ブロック効果をもたらしてくれます。端末ごとに広告ブロッカーを入れなくてもよいわけです。また上の画像ように項目が豊富でイカした管理画面がついており、状況を確認したり設定を変更したりなどの作業が簡単に行えます。

注意

  • この記事では最初の導入方法しか扱いません。それ以上のことは別の記事を見たり、管理画面からいじってみたりしてください。
  • ネットワークの構成を変えることによってネットに繋がらない等のトラブルになる可能性があります。設定後に様子がおかしかったら、手順の最後「既存の DNS サーバ、DHCP サーバの停止」の作業を取り消して復活させ、Pi-hole を停止してください。その際、操作している端末の再起動を行わないまま作業を完了するようにすれば問題なく戻せると思います。

導入手順

準備

デフォルトゲートウェイと DNS サーバと DHCP サーバの IP アドレスを調べておく必要があります。一般的な家庭のネットワークならそれらはすべてブロードバンドルータが担っているのでルータのアドレスを調べます。わからなければシェルから ping -t1 -c1 google.com とかして調べます。

$ ping -t1 -c1 google.com
PING google.com (142.251.42.142) 56(84) bytes of data.
From gateway (192.168.10.1) icmp_seq=1 Time to live exceeded

--- google.com ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms

上の場合、192.168.10.1 がルータのアドレスです。

Docker インストール

ここでは Docker 上に立てるので Docker と Docker Compose をインストールします。Ubuntuなら以下。

$ sudo apt install docker.io docker-compose

起動ファイル作成

Docker Compose で使う compose.yaml ファイルを以下の中身で作成します。7行目の hogehoge の部分は好きなパスワードに置き換えます。8行目の 192.168.10.2 の部分はこのファイルを置いているサーバの IP アドレスに置き換えます。

compose.yaml
services:
  pihole:
    image: pihole/pihole
    network_mode: host
    environment:
      TZ: 'Asia/Tokyo'
      WEBPASSWORD: hogehoge
      FTLCONF_LOCAL_IPV4: 192.168.10.2
      WEB_PORT: 8100
    volumes:
      - './etc-pihole:/etc/pihole'
      - './etc-dnsmasq.d:/etc/dnsmasq.d'
    cap_add:
      - NET_ADMIN 
    restart: unless-stopped

起動

以下のコマンドで起動します。

$ sudo docker-compose up -d

ちなみに停止したい時は以下。

$ sudo docker-compose down

管理画面を開く

Web ブラウザで Pi-hole の管理画面にアクセスします。ポート番号は compose.yamlWEB_PORT: 8100 で指定した8100番です。気に入らなければそこから変えられますし、その行を消せば標準の80番になります。

http://192.168.10.2:8100/

ログイン画面が出るので設定したパスワードを入力し、ログインします。

管理画面で設定

サイドバーの「Settings」、上部のタブ「DHCP」を順に選び「DHCP server enabled」にチェックを入れます。「Router (gateway) IP address」に最初に調べたルータの IP アドレスを入れます。他は今すぐ必要な設定ではなかったり、よしなに設定されているはずなのでこれで一番下の「Save」ボタンを押します。

既存の DNS サーバ、DHCP サーバの停止

ルータのアドレスを Web ブラウザのアドレスバーに打ち込んでルータの管理画面を開きます。

http://192.168.10.1/

ここからは製品によりますが、管理画面から DNS サーバと DHCP サーバの設定を見つけてそれぞれ停止させてください。

おめでとう!これで君も スーパーハカー だ!!!

6
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
9