UDMによる公衆無線

UniFi Dream Machine(以下、UDMと略称)は、ルーター、スイッチ、Wi-Fiアンテナ、UTM、SDNコントローラーを兼ね備える、プロ仕様の無線LANルーターです。

これを用いて、総務省ガイドラインを満たす公衆無線LANを構成する方法を以下に示します。

  • 1

    管理UIへのログイン

    UDMのLANポートに操作用PCをイーサネット接続し、ブラウザURLバーに http://unifi と打ち込みEnter/Returnキーを押下し、UniFi OSコンソールにAdministrator権限を持つアカウントでログインします。

    なお、UDMにはSSH接続を確立できるCLIを備えており、LinuxおよびmacOSホストはネイティブのTerminalを用いて、Windows OSホストはPowerShellまたはPuTTYを用いてUniFi OSにrootユーザーでログインできます。後述の作業で必要になるため予め「Console Settings」からSSH接続を有効化 (Enable SSH) し、SSH Passwordを設定しておきます。

    次に、Networkを起動します。

  • 2

    GUIの切り替え

    基本的な設定はレガシーUIにて行っていきます。UniFi Networkアプリケーションが新しい方のUIで起動した場合、 Settings > System > Legacy interfaceを有効 (Enable) にしてください。

  • 3

    ネットワークの設定

    設定 > ネットワーク > 新しいネットワークを作成 にて、DefaultのLANとは別のネットワークをゲスト用に作成します。

    • 例としてこのネットワークの名前を「Guest」とします。
    • ネットワークの「目的」を「ゲスト」とします(他のネットワークセグメントへのアクセスがドロップされます)。
    • VLAN番号、ネットワークアドレス範囲を設定します。
    • DHCPサービスを利用する場合はDHCPサーバーを有効化し、DHCPリース範囲とリース時間を設定します。

    • コンテンツフィルターを掛ける場合は新しいUIに切り替え、Settings > Networks よりGuestネットワークを選択し、「Advanced Configuration」「Content Filtering」にて「Family」を選択します。

    • Content Filtering - Work
      フィッシング、スパム、マルウェア、悪意のあるドメインへのアクセスがブロックされます。
    • Content Filtering - Family
      フィッシング、スパム、マルウェア、悪意のあるドメインへのアクセスがブロックされます。アダルトサイト、ポルノサイト、露出の多いサイトへのアクセスがブロックされます。GoogleやYouTubeによる検索にはセーフモードが適用されます。フィルターをバイパスするために使用されるプロキシドメインとVPNドメインへのアクセスがブロックされます。

    • コンテンツフィルターを掛けると、ゲストポータル上のSNS認証動作 (OAuth2 / OpenID Connect) も同時にブロックされてしまうため、これを回避するために、「Traffic Management」にて二種類の許可ルールを設定しGuestネットワークに適用します。具体的なルール定義はお問い合わせください。

  • 4

    ワイヤレスネットワークの設定

    設定 > ワイヤレスネットワーク > 新しいワイヤレスネットワークを作成 にて、ゲスト用のSSIDを作成します。

    • 例としてこのSSIDの名前を「Haniwa_FREE」とします。
    • すぐに電波を吹く場合「このワイヤレスネットワークを有効化」します。
    • セキュリティ(無線区間暗号化方式)は例として「オープン」とします。
    • 「ゲストポリシーを適用」します。ゲストポリシーの設定方法は後述します。
    • 「Broadcasting APs」はこのSSIDを適用するUniFiアクセスポイントのグループ設定です。デフォルトでは「All APs」グループが適用されます。UDM配下にnanoHD等他のUniFiアクセスポイントを追加した場合、どのAPでこのSSIDを適用するか/しないかといったグルーピングが可能となります。
    • 「L2 isolation」にチェックを入れ、無線子機同士の相互接続を禁止します。
    • 新しいUIに切り替えて「WiFi Scheduler」をオンにし、このSSIDの開波時間帯を設定します。

  • 5

    RADIUSプロファイルの設定

    設定 > プロファイル > 新しいRADIUSプロファイルを作成 にて、認証サービスプロバイダー「wiffy(ウィフィー)」指定の値を設定します。

    • wiffyの「RADIUS認証サーバー」を指定します。IPアドレス」「ポート」「パスワード」を指定します。
    • 「アカウンティング」を有効にしwiffyの「RADIUSアカウンティングサーバー」を指定します。「IPアドレス」「ポート」「パスワード」を指定します。
    • また「暫定的なアップデート」を有効にし、600〜3600秒程度に設定します(Interim packetの送信間隔)。

  • 6

    ゲストポリシーの設定

    設定 > ゲストコントロール > ゲストポリシー にて、ゲストポータルを有効化します。

    • ゲストポリシーにて「認証」モードを「ホットスポット」とします。
    • 「デフォルトの有効期限」は無視します。wiffyからの返信アトリビュートにて上書きされます。
    • 「ランディングページ」を「プロモーションURL」とし、wiffy指定の値にします。
    • 「リダイレクト」時の挙動には「セキュアポータル」を使用します。後ほどUDMにSSH接続し、有効なSSL証明書を導入します。
    • 同時に「ホスト名を使ってリダイレクト」を使用します。wiffy指定の値にします。
    • ポータルのカスタマイズにて「テンプレートエンジン」を「AngularJS」とし、「デフォルトテンプレートをオーバーライド」します。デフォルトのテンプレートをwiffyが開発したカスタムJSファイルに入れ替えます(UDMに直接SSH接続し入れ替えを行います)。これ以降の「ポータルのカスタマイズ」のUI上の変更箇所は全て無視されます。
    • 「HTTPSリダイレクトを有効化」にチェックを入れ、未認証時のゲストポータルへのリダイレクトをhttpsサイトに対しても試みます。この試みが成功するかどうかは無線子機のブラウザに依存します。
    • ホットスポットにて、「RADIUSベース認可を有効化」します。
    • RADIUSにて、「プロファイル」を前述の「wiffy」とし、「認証タイプ」を「CHAP」とします。
    • アクセスコントロールにて、「認可前アクセス」をwiffy指定の値とします。「認可後の制限」は、IPv4プライベートアドレス帯を設定します(デフォルト設定値を利用)。

  • 7

    カスタムファイルの導入

    SSH接続により、カスタマイズされたJS, HTML, CSSファイルを導入します。必要なファイルはAmalance社から提供されます。rootユーザーでOSにログイン後、scpコマンド等でファイルを導入します。作業後は必ず「Console Settings」からSSH接続を無効化します。

    ファイル名と配置先は以下の通りです。

    ファイル パス
    index.html
    wiffy.html
    /data/unifi/data/sites/default/app-unifi-hotspot-portal
    wiffy.css /data/unifi/data/sites/default/app-unifi-hotspot-portal/css
    wiffy.js /data/unifi/data/sites/default/app-unifi-hotspot-portal/js

    なお、コントローラーの搭載環境により、ゲストポータル用ディレクトリのパスが異なります。

    種類 パス
    UDM /data/unifi/data/sites/default/app-unifi-hotspot-portal
    UCK-G2 /srv/unifi/data/sites/default/app-unifi-hotspot-portal
    Ubuntu /var/lib/unifi/sites/default/app-unifi-hotspot-portal
  • 8

    SSL証明書の導入

    SSH接続により、SSL証明書を導入します。必要なファイルはAmalance社から提供されます。rootユーザーでOSにログイン後、scpコマンド等でファイルを導入し、rebootコマンドでUDMを再起動します。再起動後、操作用PCのブラウザからUniFi OS Consoleに https://FQDN でアクセスし、証明書が適用されていることを確認します。作業後は必ず「Console Settings」からSSH接続を無効化します。

    ファイル名と置換先は以下の通りです。

    ファイル パス
    keystore /data/unifi/data/keystore
    fullchain.crt /data/unifi-core/config/unifi-core.crt
    server.nopass.key /data/unifi-core/config/unifi-core.key
    Image Lightbox
    SSL
  • 9

    SSL証明書の更新

    L2TPによるリモートアクセスVPNにはUDMのWANポートにグローバルIPアドレスが付与されている必要があるため、証明書の更新作業時は「Teleport」による一時的なリモートアクセスVPNが便利です。

    作業担当者はTeleportで発行された招待リンクを用いて「WiFiman」アプリMacOSiOSAndroidを起動し、NAT背後のUDMに直接アクセスします。

Previous Postユニファイネットワーク
Next Post公衆無線アクセス認証