ユーザーが最初にEULAに同意した場合にのみ通過できるアクセスポイントを設定する必要があります。仕事をより簡単にするために、EthernetとWi-Fiの人との接続を共有するUnixシステムを使用してこれを行うことを考えています。この問題を解決するための最良の方法は何ですか?
私は考えていた
- すべての新しいhttp接続をEULAページにリダイレクトし、ユーザーが[同意]をクリックすると、テーブルにip + macを追加し、他のすべての項目をフィルタリングします。
- dnsmasqを使用したリダイレクト(ユーザーが「承認」をクリックした後にリダイレクトを停止する方法がわかりませんが)
どんな提案がありますか?
答え1
私はあなたのアプローチに同意します。ユーザーのMACアドレスがホワイトリストに追加される前に、HTTP要求を除くそのユーザーのすべてのパケットを破棄する必要があります。これはApache IP:portにリダイレクトする必要があります(ここでははい)。ユーザーがEULAで「同意する」をクリックすると、MACアドレスをホワイトリストに追加し、iptables内に例外を追加し、パケットの破棄を停止するプロセスをトリガーする必要があります。簡単だとは言えませんが、少なくとも可能です。