Noi (la tecnologia con cui lavoro e me stesso) viviamo in una remota città del nord dove l'accesso a Internet è in qualche modo un lusso e la larghezza di banda è piuttosto limitata. Qui, le spese eccessive che vanno da poche centinaia, a poche migliaia di dollari al mese, non sono rare. Io stesso incorre in addebiti mensili regolari solo attraverso il mio normale utilizzo di Internet a casa (mi sono permesso 10G per $ 60CAD!)
Come parte del mio lavoro, mi sono trovato coinvolto in diversi hotel che lo sentono. So che posso trovare qualcosa per risolvere questo problema, ma sono relativamente nuovo nell'amministrazione del sistema e non voglio che i miei sogni superino la realtà.
Quindi, trasmetto queste idee a voi, quelli con molta più esperienza di me, nella speranza che condividerete alcuni dei vostri pensieri e preoccupazioni.
Questo sistema deve essere conveniente, sì, i costi sono alti qui, ma la fiducia nella tecnologia è la più bassa che abbia mai visto.
- Deve essere in grado di aiutare il cliente a ridurne l'utilizzo (calamari)
- Consentire una quantità limitata (velocità effettiva e utilizzo totale) di Internet gratuito, poiché questa è spesso una politica di franchising.
- Consentire a un utente di monitorare l'utilizzo della larghezza di banda
- Consentire (facoltativo) una maggiore velocità e / o utilizzo a un costo aggiuntivo. Questa tassa può essere ottenuta alla reception al momento del pagamento e non dovrebbe richiedere l'uso di PayPal o carta di credito.
- Sfortunatamente alcuni franchising hanno politiche ridicole che richiedono l'uso di un
servizio remoto di terze parti per autenticare gli ospiti nella tua rete. Ciò significa che WPA è uscito, e significa anche che non autorizzo prima dell'uso di Internet, quello sarà il loro lavoro. Tuttavia, richiedo che ABILITY esegua l'autenticazione per l'accesso a Internet se un hotel non ha questa politica. Dovrò comunque tenere traccia della larghezza di banda (in base a un account ospite per impostazione predefinita) e fornire la stessa limitazione, tuttavia l'ospite spesso richiederà un accesso "illimitato" completo, in termini di esistenza, non di throughput. - Fornisci funzionalità di firewalling per gli hotel che non dispongono di alcuna segregazione di rete Office e Guest (alcuni di questi ragazzi gestiscono il loro ufficio sulla rete guest, senza crittografia e un semplice TOS per salire!)
- Impedire agli ospiti di connettersi ad altri ospiti, tuttavia fornire un mezzo per consentire che ciò accada. IE. Ogni ospite si collega a una pagina e consente all'altro ospite, questo scrive una regola iptables (con python-netfilter) e consente a due stanze di giocare, ad esempio.
I miei pensieri su come implementarlo. Una scatola decente (lo chiameremo un router ora) con un sacco di RAM e 3 schede di rete:
- Internet
- Ufficio
- Ospiti (AP + In Room Ethernet)
Regole del firewall del router
- Gli ospiti possono parlare solo con il router, attraverso il quale vengono instradati dove devono andare, compresi i servizi Internet.
- Office può essere utilizzato per collegare Office a Internet se non esiste una soluzione esistente, altrimenti funziona semplicemente per un'interfaccia Web accessibile alla rete (webmin + python-webmin?).
Software del router:
- OpenVZ fornisce la virtualizzazione per alcuni servizi di cui non mi fido davvero. Calamari, FreeRADIUS e Apache. L'unico servizio direttamente accessibile agli ospiti è Apache.
- Apache ha mod_wsgi e django, perché posso scrivere rapidamente usando django e le mie esigenze sono basse. Potenzialmente ha anche la mod FreeRADIUS, ma sembra che ci siano alcuni avvertimenti con questo.
- Le regole del firewall sono gestite sul router con iptables.
- Webmin (o un'app django personalizzata forse) fornisce un controllo astratto su tutte le funzionalità a cui lo staff potrebbe aver bisogno di accedere.
- Python, se non hai indovinato è la lingua in cui mi sento più a mio agio, e lo uso per quasi tutto.
E infine, è stato fatto, è un progetto troppo massiccio che non vale la pena affrontare per un ragazzo, e / o ci sono alcuni strumenti che mi mancano che potrebbero semplificarmi la vita?
Per la cronaca, sono abbastanza bravo con Python, ma non ho molta familiarità con molte altre lingue (posso lottare con PHP, è un problema estetico lì). Sono anche un appassionato utente di Linux e mi sento a mio agio con i file di configurazione e la riga di comando.
Grazie per il tuo tempo, non vedo l'ora di leggere le tue risposte.
Modifica: mi scuso se questo non è un Q&A nel senso che alcuni si aspettavano, sto solo cercando idee e per assicurarmi di non provare a fare qualcosa che è stato fatto. Sto guardando pfSense ora come un possibile inizio per ciò di cui ho bisogno.