NetAlertXで社内・家庭内ネットワークを完全掌握:Wi-Fiの無断利用やIP競合の悩みから解放される方法

Network tutorial - IT technology blog
Network tutorial - IT technology blog

あなたのLANネットワークは本当に安全ですか?

50人規模のオフィスやホームラボのネットワークを管理しているなら、予期せぬトラブルに頭を抱えたことが一度はあるはずです。以前、従業員が勝手に古いルーターをLANポートに差し込んで、自分専用のWi-Fiを飛ばしていたことがありました。その結果、DHCP競合が発生し、オフィス全体のインターネットがダウンしてしまいました。さらに深刻なのは、身に覚えのないデバイスがIPリストに表示されることです。

以前は nmap を使って手動でスキャンしていましたが、一日中コマンドを打ち続けるわけにもいかず、後手に回ってしまいがちでした。そこで救世主となったのが、Pi.Alertの強力なフォーク版である NetAlertX です。これは軽量な監視システムとして動作し、Wi-Fiや有線ネットワークに「未知のデバイス」が接続されると、即座にスマートフォンへ通知を飛ばしてくれます。

NetAlertXは単にIPをスキャンするだけではありません。デバイスの特定、接続履歴の追跡、LANインフラの集中管理を低負荷で実現します。実際、このコンテナのRAM消費量はわずか100〜150MB程度で、古いRaspberry Piウェルでも十分に動作します。

Docker Composeを使用したNetAlertXのインストール

システムを安定して稼働させるには、LinuxサーバーやNAS上のDockerで展開するのが最適です。この方法なら、データの管理や将来のアップデートもコマンド一行で済みます。

以下は最適化された docker-compose.yml ファイルです。注意: network_mode: host を使用する必要があります。これがないと、コンテナが隔離され、物理ネットワークのARPテーブルをスキャンできなくなります。

version: "3"
services:
  netalertx:
    container_name: netalertx
    image: jorgeneve/netalertx:latest
    network_mode: host
    restart: unless-stopped
    volumes:
      - ./config:/app/config
      - ./db:/app/db
      - ./logs:/app/logs
    environment:
      - TZ=Asia/Tokyo
      - PUID=1000
      - PGID=1000
      - PORT=20211

ファイルを保存した後、以下のコマンドでシステムを起動します:

docker-compose up -d

起動まで30秒ほど待ちます。その後、管理画面(http://サーバーのIPアドレス:20211)にアクセスできるようになります。

デバイスを見逃さないための設定

初回ログイン時は、ただ「Next」を連打しないでください。NetAlertXを「監視の目」として正確に機能させるために、以下の項目に注目しましょう。

1. スキャン範囲(Scan Range)の設定

NetAlertXは通常、IP範囲を自動認識しますが、VLANを構築している場合は Settings > Scanners を確認してください。ARP-scan の項目に、特定のネットワーク範囲(例:192.168.1.0/24)を入力します。

実務上の経験から、ICMP (Ping)Nmap を併用することをお勧めします。ARP-scanは非常に高速(254個のIPを5〜10秒でスキャン)ですが、セキュリティ設定によってはブロックされることがあります。その際、Nmapが予備の手段として機能し、隠れているデバイスをより確実に検出します。

2. デバイスリスト(Inventory)の整理

最初のスキャン後、リストは「Unknown(不明)」という名前のデバイスで溢れます。15分ほど時間をかけてデータを整理しましょう:

  • 「Laptop-Keiri-01」や「Camera-Entrance」など、分かりやすい名前を付けます。
  • 視覚的に識別しやすくするためにアイコンを設定します。
  • 信頼できるデバイスを “Known”(既知) としてマークします。今後新しく現れるデバイスはすべて「不正侵入」とみなされ、アラートの対象になります。

3. Telegramによる即時通知

これはNetAlertXの最も価値のある機能です。ブラウザを開かなくても、異変があればすぐにメッセージを受け取れます。設定手順は非常に簡単です:

  1. Telegramの @BotFather でボットを作成し、API Token を取得します。
  2. @userinfobot から個人の Chat ID を取得します。
  3. NetAlertXの画面で Settings > Notifications > Telegram に移動します。
  4. 情報を入力し、Test を押して接続を確認します。

これで、誰かがWi-Fiにタダ乗りした瞬間、あなたのスマホが鳴るようになります。

実戦でのトラブルシューティング

「仮想アドレス」(MACアドレスのランダム化)への対応

最近のスマートフォンは、セキュリティのためにMACアドレスを自動で変更(プライベートWi-Fiアドレス)する機能があります。これにより、NetAlertXが常に新しいデバイスとして誤認してしまいます。これを防ぐには、スマホのWi-Fi設定で、そのネットワークに対して「プライベートWi-Fiアドレス」をオフにする必要があります。

重要エリアのスキャン頻度を上げる

サーバー室などの重要な場所では、SCAN_INTERVAL を1〜2分に短縮できます。ただし、ネットワーク全体に対してこの設定を適用しないでください。スキャンが頻繁すぎるとノイズが発生し、サーバーのCPU負荷が不必要に高まってしまいます。

Pi-holeやAdGuard Homeとの連携

NetAlertXはPi-holeのログを読み取り、どのデバイスがどのウェブサイトにアクセスしているかを正確に把握できます。この組み合わせにより、システムはCiscoやFortinetの高級なファイアウォールに匹敵する強力な監視センターへと進化します。

日常の運用とチェック

テストとして、自分のPCのMACアドレスを変更してからネットワークに再接続してみてください。Telegramに正しいメーカー名(Vendor)とIPアドレスが通知されれば、システムは正常に動作しています。

私は毎週5分間、Presence Chart を確認するようにしています。このチャートを使えば、頻繁に接続が切れる(フラッピングしている)デバイスを特定できます。特に、深夜2時にネットワークカメラが継続的にデータを送信しているのを見つけたら、それはすぐに調査すべき異常のサインです。

優れた観測ツールがあれば、内部ネットワークの管理は難しくありません。NetAlertXは、ケーブルの裏側やWi-Fiの電波の中で何が起きているのかを、真に把握するための欠かせないツールとなるでしょう。

Share: