openNDS (オープン ネットワーク境界サービス) は、高性能で設置面積が小さいキャプティブ ポータルです。
パブリック ローカル エリア ネットワークとインターネットの間に境界制御ゲートウェイを提供します。
小規模なスタンドアロン会場から、複数のポータル エントリ ポイントを備えた大規模なメッシュ ネットワークまで、あらゆる範囲をサポートします。
クライアント主導のキャプティブ ポータル検出 (CPD) 方式とゲートウェイ主導のキャプティブ ポータル識別方式 (CPI - RFC 8910 および RFC 8908) の両方がサポートされています。
デフォルト設定では、openNDS は動的に生成された適応性のあるスプラッシュ ページ シーケンスを提供します。インターネット アクセスは、[続行] ボタンをクリックして利用規約に同意することで許可されます。簡単なオプションにより、ユーザー ログイン用の入力フォームが有効になります。
このパッケージには FAS API が組み込まれており、多くの柔軟なカスタマイズ オプションが可能です。
高度なサードパーティ認証アプリケーションの作成が完全にサポートされています。
インターネットでホストされるhttps ポータルは、セキュリティ エラーなしで実装できるため、ユーザーに最大限の信頼を与えることができます。
2.1 CPD
キャプティブ ポータル検出 (CPD) は、最新のすべてのモバイル デバイス、ほとんどのデスクトップ オペレーティング システム、およびほとんどのブラウザで利用できるクライアント主導のプロセスです。 CPD プロセスは、キャプティブ状態を調べる手段として、ネットワークへの接続時にポート 80 要求を自動的に発行します。
「カナリア テスト」としても知られるこのプロセスは、クライアント主導で長年にわたって進化し、信頼できる事実上の標準になりました。 openNDS はこのプローブを検出し、接続しているクライアント デバイスに特別な「スプラッシュ」Web ページ シーケンスを提供します。
2.2 CPI - RFC 8910 および RFC 8908
キャプティブ ポータル識別 (CPI) は、標準 RFC8910 (DHCP およびルーター アドバタイズメントにおけるキャプティブ ポータル識別) および RFC8908 (キャプティブ ポータル API) で定義されているゲートウェイ駆動のプロセスです。
ゲートウェイ ルーターは、クライアントが認証のためにアクセスできる URL を提供することで、接続しているクライアントにキャプティブ状態であることを通知します。
クライアントはこの URL にアクセスして、従来の CPD 方式と同じポータルの「スプラッシュ」ページ シーケンスを提供できます。
あるいは、クライアントはこの URL を使用して RFC8908 Captive Portal API にアクセスし、最終的に認証用のスプラッシュ ページ シーケンスを提供することもできます。
openNDS v9.5.0 以降、CPI メソッドは両方の形式でサポートされ、デフォルトで有効になります。設定オプションとして無効にすることができます。
注:この記事の執筆時点 (2021 年 11 月) で CPI をサポートしているクライアント デバイスはほとんどありません。
インストール直後、シンプルな 3 段階の動的 HTML スプラッシュ ページ シーケンスが接続クライアントに提供されます。クライアントのログインはログに記録されます。
[クリックして続行] のデフォルトとよく似ていますが、このオプションには最初の「ログイン ページ」があり、ユーザーに名前と電子メール アドレスを入力する必要があるフォームが表示されます。
データ ボリュームとデータ レートのしきい値は、追加の依存関係なしで、すべてのクライアントの構成可能なデフォルト値またはクライアントごとの特定の値を使用して、アップロードとダウンロードの両方で独立してサポートされます。
データ量のしきい値を超えると、クライアントの認証が解除されます。
レートしきい値を超えると、クライアントごとに動的バケット フィルターが使用され、パケット レベルでデータ レートを制限します。しきい値に近いレートを制限するか、遅延の増加を犠牲にしてバケット サイズを増やすことによってデータ レートを制限します。
サードパーティのトラフィック制御パッケージを使用して、たとえば、組み込みのしきい値と同時にシステム全体のレート上限を提供することもできます。
openNDS をカスタマイズする方法は数多くあります。
openNDS のポータル コンポーネントは、前方認証サービス (FAS)です。
FAS は、一連の動的 Web ページの形式でユーザーの検証/認証を提供します。
これらの Web ページは、openNDS 自体によって提供される場合もあれば、サードパーティの Web サーバーによって提供される場合もあります。サードパーティの Web サーバーは、インターネット、ローカル エリア ネットワーク、または openNDS ルーター上のリモートに配置される場合があります。
デフォルトの「クリックして続行」および「ユーザー名/電子メールアドレスによるログイン」オプションは、openNDS がスプラッシュ ページ シーケンス自体を提供する例です。
完全なドキュメントについては、https://opennds.rtfd.io/ を参照してください。
安定版、最新版、または古いバージョンの履歴ドキュメントのいずれかを選択できます。