Nosotros (la tecnología con la que trabajo y yo mismo) vivimos en una ciudad remota del norte donde el acceso a Internet es un lujo y el ancho de banda es bastante limitado. Aquí, los cargos por excedentes que van desde unos pocos cientos hasta unos pocos miles de dólares al mes no son infrecuentes. Yo mismo incurro en cargos mensuales regulares solo a través de mi uso regular de Internet en casa (¡se me permite 10G por $ 60CAD!)
Como parte de mi trabajo, me he visto involucrado con varios hoteles que están sintiendo esto. Sé que puedo encontrar algo para resolver este problema, pero soy relativamente nuevo en la administración de sistemas y no quiero que mis sueños superen la realidad.
Entonces, les transmito estas ideas, aquellas con mucha más experiencia que yo, con la esperanza de que compartan algunos de sus pensamientos y preocupaciones.
Este sistema debe ser rentable, sí, los cargos son altos aquí, pero la confianza en la tecnología es la más baja que he visto.
- Debe ser capaz de ayudar al cliente a reducir su uso (calamar)
- Permita una cantidad limitada (rendimiento y uso total) de Internet gratis, ya que a menudo esta es una política de franquicia.
- Permitir a un usuario rastrear su uso de ancho de banda
- Permitir (opcional) mayor velocidad y / o uso por un cargo adicional. Esta tarifa se puede obtener en la recepción al momento de pagar y no debe requerir el uso de PayPal o tarjeta de crédito.
- Lamentablemente, algunas franquicias tienen políticas ridículas que requieren el uso de un
servicio remoto de terceros para autenticar a los invitados en su red. Esto significa que WPA está fuera, y también significa que no me autentico antes del uso de Internet, ese será su trabajo. Sin embargo, sí requiero la HABILIDAD para realizar la autenticación para el acceso a Internet si un hotel no tiene esta política. Todavía tendré que rastrear el ancho de banda (bajo una cuenta de invitado por defecto) y proporcionar la misma limitación, sin embargo, el invitado a menudo requerirá un acceso 'ilimitado' completo, en términos de existencia, no de rendimiento. - Proporcione capacidades de cortafuegos para hoteles que no tienen nada, segregación de red de Office y Guest (¡algunos de estos tipos están ejecutando su oficina en la red de invitados, sin cifrado, y un TOS simple para comenzar!)
- Evite que los invitados se conecten con otros invitados, sin embargo, brinde un medio para permitir que esto suceda. ES DECIR. Cada invitado se conecta a una página y permite al otro invitado, esto escribe una regla de iptables (con python-netfilter) y permite que dos salas jueguen, por ejemplo.
Mis pensamientos sobre cómo implementar esto. Una caja decente (ahora la llamaremos enrutador) con mucha memoria RAM y 3 NIC:
- Internet
- Oficina
- Invitados (AP's + Ethernet en la habitación)
Reglas de firewall del enrutador
- Los invitados pueden hablar solo con el enrutador, a través del cual se enrutan a donde necesitan ir, incluidos los servicios de Internet.
- Office se puede utilizar para conectar Office a Internet si no existe una solución existente, de lo contrario, simplemente funciona para una interfaz web accesible en red (webmin + python-webmin?).
Software de enrutador:
- OpenVZ proporciona virtualización para algunos servicios en los que realmente no confío. Calamar, FreeRADIUS y Apache. El único servicio directamente accesible para los huéspedes es Apache.
- Apache tiene mod_wsgi y django, porque puedo escribir rápidamente usando django y mis necesidades son bajas. Potencialmente también tiene el mod FreeRADIUS, pero parece haber algunas advertencias con esto.
- Las reglas de firewall se manejan en el enrutador con iptables.
- Webmin (o una aplicación django personalizada, tal vez) proporciona un control abstracto sobre cualquier característica a la que el personal pueda necesitar acceder.
- Python, si no has adivinado, es el lenguaje con el que me siento más cómodo, y lo uso para casi todo.
Y finalmente, ¿se ha hecho esto? ¿Es un proyecto excesivamente masivo que no vale la pena asumir para un tipo y / o hay algunas herramientas que me faltan que podrían hacerme la vida más fácil?
Para el registro, soy bastante bueno con Python, pero no estoy muy familiarizado con muchos otros lenguajes (puedo tener dificultades con PHP, es un problema cosmético allí). También soy un ávido usuario de Linux y me siento cómodo con los archivos de configuración y la línea de comandos.
Gracias por su tiempo, espero leer sus respuestas.
Editar: Mis disculpas si esto no es un Q&A en el sentido que algunos esperaban, solo estoy buscando ideas y para asegurarme de que no estoy tratando de hacer algo que se ha hecho. Estoy viendo pfSense ahora como un posible comienzo para lo que necesito.
Respuestas:
Después de mirar el proyecto pfSense ahora, creo que proporcionará mucho de lo que necesito con algunas configuraciones. Es compatible con Captive Portal, y lo hace con servidores Radius, se puede configurar con Squid para proxy transparente, y parece que tiene MUCHO control sobre el tráfico. Todavía estoy abierto a más ideas que puedan ayudar. ¡Gracias!
fuente
Pensamientos aleatorios:
Primero, comience con un diagrama de red. No te preocupes por disparar a Visio; solo dibuja uno en papel. Una vez que descubras por dónde empezar, vuelve a publicar algunas preguntas específicas aquí. Esta publicación es demasiado densa. Hacerlo del tamaño de un bocado te dará respuestas mejores y más reflexivas que aborden preguntas específicas.
"Evitar que los invitados se conecten con otros invitados ..." No podrá hacer esto en el firewall porque todos están en la misma LAN interna. Tendrá que hacerlo en el conmutador, por lo que deberá obtener un conmutador administrado (inteligente).
Python es el lenguaje ideal para algo como esto. No te preocupes por no saber PHP. PHP no es el lenguaje correcto. PHP nunca es el lenguaje correcto. Por nada.
No querrás mantener tus reglas de iptables a mano a menos que seas masoquista. Considera usar Shorewall en su lugar. Es simplemente una capa de configuración delgada sobre iptables que hace que sea mucho más fácil de administrar.
fuente
Hay instalaciones preparadas para proporcionar el tipo de servicio del que está hablando. Por lo general, un sistema mini-itx con el sistema operativo ya configurado en compact flash. A menudo, le ofrece la opción entre acceso gratuito y un sistema de pago que funciona en todos los puntos de acceso en muchas ubicaciones diferentes. Supongo que eres de Canadá, pero solo conozco ejemplos específicos que son para Gran Bretaña.
fuente
Un punto de acceso Mikrotik hará todo lo que haya enumerado. Debería poder ejecutar cada ubicación con un 450G o similar.
fuente