2013-03-21 10 views
7

ノードjsインターネットゲートウェイ/キャプティブポータルを構築したい。だから私はあなたのMACアドレスまたはIPアドレスを許可することができますMACアドレスは、無線LANのホットスポットのように可能でない場合ノードJSインターネットゲートウェイ/キャプティブポータル(公衆WiFiホットスポットで使用されるような)

だから私はノードがdhcpサーバーを持つことができ、ゲートウェイとして。したがって、ユーザがWebブラウザ上のページを読み込むと、認証画面が表示され、ログインできるようになり、ゲートウェイはパケットを正しくルーティングできます。

node.jsで認証手順を実行するにはどうすればログインできないのですか?パケットを正しくルーティングするには、&のログインページが表示されますか?

+2

クライアントとWebインターフェイスの管理にNode.jsアプリケーションを使用しますが、システムのルーティング機能を使用します。クールなプロジェクト。私はそこに良い解決策があることを願っています。 – Brad

+0

ありがとうございました!私はiptablesを使用してノードを使ってルールをルーティングしたり変更したりすることを考えていましたが、ユーザがセッションを持たないときにキャプティブポータルにトラフィックをリダイレクトする方法がわかりません – Akshat

+0

1つの方法は、キャプティブポータルクライアントには通常、すでにキャッシュされたDNSエントリがいくつかあるため、問題があります。さらに、マルウェアを持つクライアントは、一部のDNSクエリをローカルホストまたは外部DNSサーバーにリダイレクトすることがよくあります。最後に、クライアントは独自のDNSサーバーを手動で構成することができます。必要なのは、ポート80のすべてのTCPトラフィックを透過的にサーバーにリダイレクトすることです。私はそれをする方法を知らない。 – Brad

答えて

3

これをまとめるには数個の部品が必要です。

#1:httpプロキシ - DHCPサーバーを実行してIPアドレスを割り当てることができれば、httpプロキシを実行してすべてのインターネットトラフィックを取得できます。

#2:認証ロジックをこのプロキシに追加する必要があります。このロジックには、クッキー、マジックパケット、トークン、またはアクセスを確認してログインページへのリダイレクトを許可するものがあるかどうかを確認できます。

node-http-proxyをすることができます簡単にadd your own logicに非常に人気があり、柔軟なノードのHTTPプロキシサーバです。

node-http-auth-proxyは内蔵の認証を処理する方法のexampleと別のようなプロジェクトである。

プロキシを持っても、あなたは/ブラックリストサイト/ IPS、あなたのターゲットオーディエンスに基づいてんたいことが何かをホワイトリストに登録することができます。

関連する問題