Nous (la technologie avec laquelle je travaille et moi-même) vivons dans une ville éloignée du nord où l'accès à Internet est un peu un luxe et la bande passante est assez limitée. Ici, des frais de dépassement de quelques centaines à quelques milliers de dollars par mois ne sont pas rares. J'encoure moi-même des frais mensuels réguliers uniquement grâce à mon utilisation régulière d'Internet à la maison (j'ai droit à 10G pour 60 $ CAD!)
Dans le cadre de mon travail, je me suis retrouvé impliqué dans plusieurs hôtels qui ressentent cela. Je sais que je peux trouver quelque chose pour résoudre ce problème, mais je suis relativement nouveau dans l'administration système et je ne veux pas que mes rêves dépassent la réalité.
Donc, je vous transmets ces idées, à ceux qui ont beaucoup plus d'expérience que moi, dans l'espoir que vous partagerez certaines de vos pensées et préoccupations.
Ce système doit être rentable, oui les frais sont élevés ici, mais la confiance dans la technologie est la plus basse que j'aie jamais vue.
- Doit être capable d'aider le client à réduire son utilisation (calmar)
- Autorisez une quantité limitée (débit et utilisation totale) d'Internet gratuit, car il s'agit souvent d'une politique de franchise.
- Autoriser un utilisateur à suivre sa consommation de bande passante
- Autorisez (en option) une vitesse et / ou une utilisation plus élevées moyennant des frais supplémentaires. Ces frais peuvent être obtenus à la réception au moment du départ et ne devraient pas nécessiter l'utilisation de PayPal ou d'une carte de crédit.
- Malheureusement, certaines franchises ont des politiques ridicules qui nécessitent l'utilisation d'un
service à distance tiers pour authentifier les invités sur votre réseau. Cela signifie que WPA est sorti, et cela signifie également que je n'authentifie pas avant l'utilisation d'Internet, ce sera leur travail. Cependant, j'exige la CAPACITÉ d'effectuer l'authentification pour l'accès à Internet si un hôtel n'a pas cette politique. Je devrai toujours suivre la bande passante (sous un compte invité par défaut) et fournir la même limitation, mais l'invité aura souvent besoin d'un accès «illimité» complet, en termes d'existence, pas de débit. - Fournir des capacités de pare-feu pour les hôtels qui n'ont rien, la séparation du réseau Office et Guest (certains de ces gars-là gèrent leur bureau sur le réseau invité, sans chiffrement et un TOS simple à utiliser!)
- Empêchez les invités de se connecter à d'autres invités, mais fournissez un moyen de permettre que cela se produise. C'EST À DIRE. Chaque invité se connecte à une page et autorise l'autre invité, cela écrit une règle iptables (avec python-netfilter) et permet à deux salles de jouer à un jeu, par exemple.
Mes réflexions sur la façon de mettre en œuvre cela. Une boîte décente (nous l'appellerons maintenant un routeur) avec beaucoup de RAM et 3 cartes réseau:
- l'Internet
- Bureau
- Invités (AP + Ethernet dans la chambre)
Règles de pare-feu du routeur
- L'invité ne peut parler qu'au routeur, via lequel il est dirigé vers l'endroit où il doit aller, y compris les services Internet.
- Office peut être utilisé pour relier Office à Internet si une solution existante n'est pas en place, sinon, cela fonctionne simplement pour une interface Web accessible sur le réseau (webmin + python-webmin?).
Logiciel de routeur:
- OpenVZ fournit la virtualisation pour quelques services auxquels je ne fais pas vraiment confiance. Squid, FreeRADIUS et Apache. Le seul service directement accessible aux clients est Apache.
- Apache a mod_wsgi et django, car je peux écrire rapidement en utilisant django et mes besoins sont faibles. Il a également potentiellement le mod FreeRADIUS, mais il semble y avoir quelques mises en garde avec cela.
- Les règles de pare-feu sont gérées sur le routeur avec iptables.
- Webmin (ou une application django personnalisée peut-être) fournit un contrôle abstrait sur toutes les fonctionnalités auxquelles le personnel peut avoir besoin d'accéder.
- Python, si vous n'avez pas deviné que c'est le langage dans lequel je me sens le plus à l'aise, et je l'utilise pour presque tout.
Et enfin, cela a-t-il été fait, est-ce un projet trop massif qui ne vaut pas la peine d'être entrepris pour un seul gars, et / ou y a-t-il des outils qui me manquent qui pourraient me faciliter la vie?
Pour mémoire, je suis assez bon avec Python, mais pas très familier avec beaucoup d'autres langages (je peux avoir du mal avec PHP, c'est un problème cosmétique là-bas). Je suis également un utilisateur avide de Linux, et à l'aise avec les fichiers de configuration et la ligne de commande.
Merci de votre temps, j'ai hâte de lire vos réponses.
Edit: Mes excuses si ce n'est pas un Q&A dans le sens que certains attendaient, je cherche juste des idées et je m'assure que je n'essaye pas de faire quelque chose qui a été fait. Je regarde pfSense maintenant comme un début possible pour ce dont j'ai besoin.