Ах, эти серверы! Стоят себе тихонько в серверной, светятся лампочками и делают вид, что они — самые главные в офисе.
А на самом деле — просто площадка для запуска всякого серверного программного обеспечения, или, как модно теперь говорить по-английски, «сервисов». Вот один из таких сервисов — доступ к интернету для сотрудников офиса.
Ну да, без интернета современный офис — это как утро без кофе: вроде есть, но жить не хочется.
И вот тут на сцену выходит наш герой — связка CentOS 7 + Squid. Если вы думаете, что это название нового сорта кофе или экзотического коктейля, то спешу разочаровать: это классика жанра среди прокси-серверов.
Представьте себе: у вас уже стоит CentOS7 с интернетом и SSH-доступом (порт 22), и теперь начинается самое интересное — настройка.
Первое правило настоящего айтишника: обновить операционную систему! Потому что обновления — это как утренний душ для сервера: просыпаешься и чувствуешь себя бодрым. Если ваш сервер выступает в роли прокси (то есть посредника между внутренней сетью и интернетом), то логично включить Firewall.
Это как поставить охранника у входа в клуб — пускает только своих. Обычно охранник сидит на порту 3128, но если он занят, можно договориться с другим.
Настраиваем правила Firewall так же аккуратно, как бабушка заворачивает вареники: чтобы все было вкусно и надежно. И не забываем перезапустить сервис после изменений — иначе он может обидеться и не работать.
Затем устанавливаем сам Squid командой, которая выглядит так сложно, что даже кот бы испугался: yum install squid -y. После установки открываем конфигурационный файл — это как заглянуть в чертежи нашего прокси-дома.
Там прописаны стандартные подсети (как списки гостей на вечеринке), но если ваши пользователи живут в другом районе сети (например, 217.33.25.0/24), добавляем их тоже. Главное правило здесь такое: если хотите пустить всех подряд (http_access allow all), делайте это до того момента, как скажете «нет» всем остальным (http_access deny all).
Это похоже на швейцара в театре — сначала пропускает знакомых артистов и VIP-гостей, а потом закрывает двери для случайных прохожих.
Теперь о кэше – Squid любит хранить временные файлы в специальном каталоге. Мы выделяем под него 8 гигабайт памяти – примерно столько же места занимает коллекция забавных видео с котиками у вашего коллеги Васи.
Для организации кэша создаем структуру директорий командой squid -z – звучит почти как магическое заклинание из Гарри Поттера!
После этого запускаем сервис командой systemctl start squid и добавляем его в автозагрузку – чтобы даже после перезагрузки сервера прокси-сервер вставал с кровати первым и шел на работу без напоминаний от начальства.
Не забудьте про HTTPS! В большинстве случаев Squid сам справляется с этим по умолчанию – как хороший повар знает рецепт борща наизусть без записей.
Для проверки статуса сервиса используйте service status squid – это примерно как проверить пульс пациента перед началом операции.
Если вдруг нужно быстро перечитать конфигурацию без полного перезапуска – команда squid -k reconfigure придет вам на помощь; она словно говорит вашему серверу: «Эй, дружище! Посмотри еще раз на настройки!»