Мы (техник, с которым я работаю и я сам) живем в отдаленном северном городе, где доступ к Интернету является чем-то вроде роскоши, а пропускная способность довольно ограничена. Здесь сверхнормативные платежи, варьирующиеся от нескольких сотен до нескольких тысяч долларов в месяц, не редкость. Я сам несу регулярные ежемесячные платежи только из-за моего обычного пользования Интернетом дома (мне разрешено 10G за 60CAD!)
Как часть моей работы, я оказался связан с несколькими отелями, которые чувствуют это. Я знаю, что могу придумать что-то, чтобы решить эту проблему, но я относительно новичок в системном администрировании и не хочу, чтобы мои мечты преодолевали реальность.
Итак, я передаю эти идеи вам, тем, у кого гораздо больше опыта, чем у меня, в надежде, что вы поделитесь некоторыми своими мыслями и проблемами.
Эта система должна быть экономически эффективной, да, плата здесь высока, но доверие к технологиям самое низкое, что я когда-либо видел.
- Должен быть в состоянии помочь клиенту уменьшить их использование (squid)
- Разрешить ограниченный (пропускная способность и общее использование) количество бесплатного Интернета, так как это часто политика франшизы.
- Разрешить пользователю отслеживать использование пропускной способности
- Разрешить (опционально) более высокую скорость и / или использование за дополнительную плату. Эта плата может быть получена на стойке регистрации при оформлении заказа и не требует использования PayPal или кредитной карты.
- К сожалению, некоторые франшизы имеют нелепые правила, которые требуют использования
стороннего удаленного сервиса для аутентификации гостей в вашей сети. Это означает, что WPA отсутствует, и это также означает, что я не авторизуюсь перед использованием Интернета, это будет их работа. Тем не менее, я требую, чтобы СПОСОБНОСТЬ выполняла аутентификацию для доступа в Интернет, если в отеле нет этой политики. Мне все равно придется отслеживать пропускную способность (по умолчанию в гостевой учетной записи) и предоставлять такое же ограничение, однако гостю часто требуется полный «неограниченный» доступ с точки зрения существования, а не пропускной способности. - Предоставьте возможности брандмауэра для гостиниц, в которых нет ничего, сегрегация между офисом и гостевой сетью (некоторые из этих парней управляют своим офисом в гостевой сети, без шифрования и с простым TOS, чтобы войти!)
- Не позволяйте гостям подключаться к другим гостям, однако предоставьте средства, позволяющие этому произойти. IE. Каждый гость подключается к странице и разрешает другому гостю, это записывает правило iptables (с python-netfilter) и позволяет двум комнатам играть в игру, например.
Мои мысли о том, как это реализовать. Одна приличная коробка (сейчас мы будем называть ее маршрутизатором) с большим количеством оперативной памяти и 3 сетевыми картами:
- интернет
- офис
- Гости (точки доступа + Ethernet в номере)
Правила межсетевого экрана маршрутизатора
- Гость может общаться только с маршрутизатором, через который они направляются туда, куда им нужно идти, включая интернет-сервисы.
- Office можно использовать для подключения Office к Интернету, если существующее решение отсутствует, в противном случае оно просто работает для веб-интерфейса, доступного по сети (webmin + python-webmin?).
Программное обеспечение маршрутизатора:
- OpenVZ предоставляет виртуализацию для нескольких сервисов, которым я не очень доверяю. Squid, FreeRADIUS и Apache. Единственный сервис, напрямую доступный для гостей - это Apache.
- В Apache есть mod_wsgi и django, потому что я могу писать быстро, используя django, и мои потребности невелики. Он также потенциально имеет мод FreeRADIUS, но, похоже, здесь есть некоторые предостережения.
- Правила брандмауэра обрабатываются на маршрутизаторе с помощью iptables.
- Webmin (или, может быть, собственное приложение django) обеспечивает абстрактное управление любыми функциями, к которым может понадобиться персонал.
- Python, если вы не догадались, это язык, на котором я чувствую себя наиболее комфортно, и я использую его практически для всего.
И наконец, было ли это сделано, является ли это слишком масштабным проектом, который не стоит брать на себя одному парню, и / или есть ли какие-то инструменты, которые мне не хватает, которые могли бы сделать мою жизнь проще?
Кстати, я довольно хорошо разбираюсь в Python, но не очень хорошо знаком со многими другими языками (я могу бороться с помощью PHP, это косметическая проблема). Я также заядлый пользователь Linux, и мне удобно с файлами конфигурации и командной строкой.
Спасибо за ваше время, я с нетерпением жду ваших ответов.
Изменить: Мои извинения, если это не вопросы и ответы в том смысле, что некоторые ожидали, я просто ищу идеи и чтобы убедиться, что я не пытаюсь сделать что-то, что было сделано. Сейчас я рассматриваю pfSense как возможное начало для того, что мне нужно.
Ответы:
Посмотрев на проект pfSense сейчас, я думаю, что он предоставит много того, что мне нужно, с небольшим количеством настроек. Он поддерживает Captive Portal и делает это с серверами Radius, может быть настроен с Squid для прозрачного проксирования, и похоже, что он имеет много контроля над трафиком. Я все еще открыт для любых идей, которые могут помочь. Спасибо!
источник
Случайные мысли:
Сначала начнем с сетевой диаграммы. Не беспокойтесь о том, чтобы запустить Visio; просто нарисуйте один на бумаге. Как только вы поймете, с чего начать, разместите здесь несколько конкретных вопросов. Эта публикация слишком плотная. Сделав его размером с кусочек, вы получите более продуманные ответы на конкретные вопросы.
«Не разрешать гостям подключаться к другим гостям ...» Вы не сможете сделать это на брандмауэре, потому что все находятся в одной внутренней локальной сети. Вы должны будете сделать это на коммутаторе, поэтому вам нужно получить управляемый (умный) коммутатор.
Python - идеальный язык для чего-то подобного. Не беспокойтесь о незнании PHP. PHP не правильный язык. PHP никогда не является правильным языком. Для всего.
Вы не захотите поддерживать свои правила iptables вручную, если вы не мазохист. Попробуйте использовать Shorewall вместо этого. Это просто тонкий слой конфигурации поверх iptables, который делает управление намного проще.
источник
Есть готовые установки для предоставления того вида услуг, о котором вы говорите. Обычно система mini-itx с ОС уже настроена на компактную флэш-память. Часто предоставляя вам выбор между бесплатным доступом и платежной системой, которая работает через точки доступа во многих разных местах. Я предполагаю, что вы из Канады, но я знаю только конкретные примеры, которые относятся к Великобритании.
источник
Mikrotik Hotspot будет делать все , что вы перечислили. Вы должны быть в состоянии запустить каждое место с 450G или аналогичным.
источник