(Извините за стену с текстом. Внизу есть конкретные вопросы, но мне не хватает опыта, я был бы очень признателен за любые комментарии по выбору программного обеспечения и общие рекомендации от великодушного сообщества.)
Я планирую / пытаюсь установить программный маршрутизатор на базе Linux («сервер») для нашего небольшого офиса. Основной вариант использования - это балансировка нагрузки доступа к Интернету между внутренней локальной сетью и (как минимум) двумя подключениями к внешнему миру (то есть к Интернету).
У нас есть около 30 компьютеров («клиентов»), подключенных проводом к ~ 10 неуправляемым коммутаторам, которые, в свою очередь, подключены к одному неуправляемому коммутатору, который находится в корне нашего дерева подключений. «Сервер» также подключен к этому корневому коммутатору. Все эти клиенты работают под управлением Windows с парой компьютеров Mac и Linux.
Кроме того, существует около 50 беспроводных устройств (сотовые телефоны, планшеты и иногда ноутбуки), которые подключаются к одной из 5 точек доступа WiFi, которые подключены к любому из различных переключателей, указанных выше. Им также нужен доступ в Интернет, но в нашей системе они считаются второстепенными.
Основными функциями сервера будут:
Предоставьте доступ в Интернет для всего офиса, используя все доступные соединения ISP (в настоящее время два). Для этого я либо настрою iptables{2}
в соответствии с многочисленными онлайн-руководствами или используйте специализированное программное обеспечение, например Net-ISP-Balance.
Действовать как DHCP-сервер для всех устройств.
Служить нашим git
репозитории и различные общие ресурсы Samba. (Это та часть, которую я делал несколько раз раньше и предвижу наименьшие проблемы. Скрестите пальцы!)
(Это необязательно, но желательно.) Я также хочу запустить что-то вроде сервера RADIUS и аутентифицировать каждого пользователя / устройство, которое подключается к сети (и к Интернету через нашу сеть). Хотя мы особо не делаем этого. Если нужно ограничить чей-либо доступ, я надеюсь, что у меня будут отчеты об использовании полосы пропускания в реальном времени для каждого человека / устройства и, возможно, у меня будет возможность извлечь из них приблизительное рабочее время.
А теперь вот мои конкретные вопросы, но я очень признателен за любые другие предложения и комментарии:
Я планирую использовать общий сервер Ubuntu (вероятно, 18.04 LTS), а не какой-либо дистрибутив для конкретной миссии (например, Zeroshell или тому подобное.) Я не думаю, что это вызовет какие-либо проблемы (кроме, возможно, большего количества правок файла конфигурации и т. д.) Правильно ли я в своем предположении?
Есть ли у сообщества какие-либо комментарии по реализации / настройке балансировки нагрузки между интернет-соединениями? У меня нет каких-либо конкретных QoS или других ограничений, и, с моей точки зрения, соединения ISP идентичны (за исключением, возможно, их скоростей). Я никогда раньше не настраивал маршрутизатор, но я (думаю, что) понимаю используемые концепции и протоколы (но Мне просто нужны статические таблицы маршрутов, да?)
Какой DHCP-сервер мне следует использовать? У меня есть не более 100 подключенных устройств, и я могу даже выбрать статическое назначение IP (плюс "гостевой" WiFi SSID для гостей).
Подходит ли RADIUS для моего варианта использования? Я хочу, чтобы мои коллеги входили в систему всякий раз, когда они хотят начать свою работу, что обеспечит доступ в Интернет для их устройств, и, возможно, также выходят из системы перед тем, как покинуть офис (или, что более реалистично, выходить из системы после часа бездействия, потому что у них есть забыл выйти из системы.)
Если RADIUS - правильный инструмент, какое серверное программное обеспечение мне следует использовать?
Если RADIUS - правильный инструмент, какое клиентское программное обеспечение я могу использовать? Мне нужны клиенты для Windows, Android, iOS и OSX.
Как правило, у меня нет никаких проблем с внутренней безопасностью, поскольку все мы должны иметь доступ ко всему. Но большинство наших доступов (git, RADIUS, WiFi и т. Д.) Аутентифицируются либо с использованием пар ключей (git), либо паролей (для всего остального, кроме Samba, которая в основном бесплатна для всех). Это значительно упростило бы мою жизнь, если бы было единое место для управления моими пользователями и паролями. Ничего экстравагантного мне не нужно, возможно, я бы создал пользователя Linux для каждого реального пользователя и оттуда ушел. Любые подсказки будут снова оценены.
Является Webmin по-прежнему хороший выбор для администрирования этого "сервера" с моей рабочей станции? Раньше я использовал его в свое время и не знаю, перешло ли сообщество к чему-то лучшему или нет.
Спасибо вам всем.