-
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 |
-
9
SSL証明書の更新
L2TPによるリモートアクセスVPNにはUDMのWANポートにグローバルIPアドレスが付与されている必要があるため、証明書の更新作業時は「Teleport」による一時的なリモートアクセスVPNが便利です。
作業担当者はTeleportで発行された招待リンクを用いて「WiFiman」アプリを起動し、NAT背後のUDMに直接アクセスします。