Меню Рубрики

Установка squid webmin ubuntu

Настройка SQUID с помощью Webmin

Настройка SQUID с помощью программы WEBMIN

Есть целая куча сайтов, на которых описана установка и настройка SQUID в операционной системе FreeBSD. В них описывается настройка только в терминале. Недавно я подумал, а может ли то же самое сделать Webmin? В общем, долго не думая, поставил FreeBSD; mc и Webmin из портов. Открыл в Webmin закладку «Службы» и SQUID там не обнаружил. В общем, надо полагать его следует установить. Приступаем к установке. Скажу сразу, установка экспериментальная и в работе не проверенная, но работоспособная.

Для начала, через web-интерфейс, обновляем Webmin. Смотрим, не появилась ли новая версия? Обновляем с сервера Webmin.

  • [X] — SQUID_LDAP_AUTH
  • [X] — SQUID_SASL_AUTH
  • [X] — SQUID_DELAY_POOLS
  • [X] — SQUID_CARP
  • [X] — SQUID_DIGEST
  • [X] — SQUID_WCCP
  • [X] — SQUID_HTCP
  • [X] — SQUID_IDENT

Ну и вообще, каждый выбирает под себя 🙂

Описания опций установки SQUID:

  • —prefix=/usr/local/squid (куда инсталлировать файлы, также имеется множество дополнительных ключей для тонкой настройки расположения файлов)
  • —enable-async-io=число-нитей (подразумевает —with-aufs-threads=число-нитей, —with-pthreads, —enable-storeio=ufs,aufs)
  • —enable-storeio=»список-методов-хранения» (ufs — unix file system; aufs — async unix file system; diskd — отдельные процессы для асинхронного доступа к файлам; null — не хранить данные на диске; coss — файловая система COSS)
  • —enable-icmp (измерять путь до каждого HTTP-сервера при запросах с помощью ICMP, используется для оптимизации выбора сервера или соседа)
  • —enable-htcp (HTCP — вариант ICP по TCP, синхронизация кеша с соседями)
  • —enable-forw-via-db (включить поддержку БД Forw/Via для оптимизации выбора сервера или соседа)
  • —enable-cache-digests (использовать Cache Digests для оптимизации выбора сервера или соседа)
  • —enable-carp (включить балансировку с помощью CARP — Cache Array Routing Protocol; в новых версиях его надо наоборот отключать: —disable-carp)
  • —disable-wccp (не включать поддержку протокола WCCP — Web Cache Coordination Protocol — позволяет Cisco IOS автоматически распознавать падение сервера)
  • —disable-wccpv2
  • —enable-delay-pools (управление ограничением трафика)
  • —enable-useragent-log (журнализовать заголовок Useragent)
  • —enable-referer-log (журнализовать заголовок Referer)
  • —enable-forward-log (поддержка директивы forward_log, в 2.6)
  • —enable-kill-parent-hack (помогает сделать shutdown чисто)
  • —enable-snmp (включить SNMP сервер для мониторинга)
  • —enable-arp-acl (поддержка ACL, основанных на ethernet MAC адресах)
  • —enable-cachemgr-hostname=имя-хоста (cachemgr.cgi будет по умолчанию натравлен на этот хост)
  • —enable-err-language=языки-для-сообщений-об-ошибках (по умолчанию — все)
  • —enable-default-err-language=язык-сообщений-об-ошибках (Russian-1251?)
  • —enable-gnuregex (вместо regex, плохо работающего в старых Linux)
  • —enable-poll (можно использовать poll, epoll или select; poll быстрее, но не на всех платформах работает; обычно выбор делается автоматически, но если вы умнее configure, то можете это проверить)
  • —disable-poll
  • —enable-select
  • —disable-select
  • —enable-select-simple (использовать только простое подмножество select)
  • —enable-epoll
  • —disable-epoll
  • —disable-http-violations (игнорировать все строки в конфигурации, которые нарушают стандарты HTTP)
  • —enable-ipf-transparent (разрешить поддержку transparent proxy для систем, использующих IP-Filter — в ядре Linux 2.2 и без этого хорошо)
  • —enable-pf-transparent (разрешить поддержку transparent proxy для систем, использующих PF network address redirection)
  • —enable-linux-netfilter (transparent proxy для ядра Linux 2.4)
  • —enable-large-cache-files (позволяет хранить в кеше файлы размером более 2GB; при этом меняется формат хранения; 2.6)
  • —enable-linux-tproxy (поддержка Netfilter TPROXY)
  • —disable-ident-lookups (ident в современном мире — вещь бесполезная)
  • —disable-internal-dns (вместо внутренних запросов использовать внешние процессы dnsserver; рекомендуется для версий до 2.4)
  • —enable-truncate (обнулять файлы вместо их удаления: быстрее, но требует много inode; были проблемы, когда переполнялась таблица inode; наверное, параметр minimum_object_size из-за этого появился; не рекомендуется для асинхронного ввода/вывода)
  • —disable-unlinkd (запретить использование внешних процессов для удаления файлов)
  • —enable-underscores (позволять подчеркивания в именах хостов, надеясь что резолвер их не обрежет; в 2.6 заменён директивой squid.conf)
  • —enable-heap-replacement (использовать улучшенные алгоритмы замещения кеша вместо стандартного LRU, в версиях Squid до 2.4; в новых версиях рекомендуется использовать —enable-removal-policies)
  • —enable-removal-policies=»lru,heap» (улучшенные алгоритмы замещения кеша вместо стандартного LRU, в версиях Squid 2.4 и выше)
  • —enable-dlmalloc (своя библиотека malloc, не быстрая но без memore leak)
  • —enable-ssl (включить поддержку работы в качестве шлюза SSL с помощью OpenSSL)
  • —enable-auth=»список методов аутентификации» (по умолчанию только basic; вместе со squid поставляются: basic, digest, ntlm, negotiate; имеется множество дополнительных ключей, позволяющих настраивать отдельные методы аутентификации:
    • —enable-basic-auth-helpers=»список программ для аутентификации basic» (в комплекте имеются: getpwnam, LDAP, MSNT (обращается к NT серверу), mswin_sspi (только под MS Windows NT?), multi-domain-NTLM, NCSA, PAM, SASL, SMB, YP)
    • —enable-ntlm-auth-helpers=»список программ для аутентификации ntlm» (в комплекте имеются: fakeauth (проверяет только синтаксис запроса), mswin_sspi (только под MS Windows NT?), no_check (проверяет только синтаксис запроса), SMB (обращается к контроллеру домена)
    • —enable-ntlm-fail-open (делать клиентам «поблажки»)
    • —enable-digest-auth-helpers=»список программ для аутентификации digest» (в комплекте имеются: password, ldap)
    • —enable-negotiate-auth-helpers=»список программ для аутентификации negotiate» (в комплекте имеются: mswin_sspi (только под MS Windows NT?))
  • —enable-external-acl-helpers=»список программ для проверки ACL» (в комплекте имеются: ip_user, ldap_group, mswin_lm_group, session, unix_group, wbinfo_group)
  • —enable-follow-x-forwarded-for (отслеживать цепочку X-Forwarded-For, 2.6)
  • —with-large-files (журналы и пр.)
  • —with-maxfd=число-дескрипторов
  • —with-openssl= (в CentOS надо указать /usr/kerberos)
Читайте также:  Установка автосигнализаций на audi

Ключи даны для установки из source, но данные функции включаются или выключаются в make-файле порта.

После успешной инсталляции открываем Webmin – это наши GUI, которые помогут осуществить запуск и настройку. Особо хочу отметить, что все действия мы будем производить из Webmin, создание кэша, остановка, запуск, перезапуск, редактирование прав, методы шифрования, заведение пользователей в базе SQUID, списки ACL и другое – всё это мы будем делать через Web-интерфейс, а потом проверим типичные файлы, созданные в консоли и тем, что создал Webmin. Конечно, можно иметь готовые конфигурационные файлы, но скажу, что не всегда они подходят и потому не всегда работают. Если же вы всё-таки решили править конфиги, то самое главное — сохраняйте тэги TAG в файле squid.conf. Кстати, при установке разных версий я заметил такие нюансы, что кальмар может и не запуститься, если руками что-то подправить. Так как могут использоваться разные версии, то не сразу они попадают в настройки webmin от разработчиков. Плюс не все пункты из меню работают. так они как бы универсальны: что работает в старых версиях, может не работать в новых. В общем, от чтения мануалов по Squid никто не освобождает. Так вот, открыли Webmin и идём в «Службы» и смотрим, появился ли там пункт SQUID?

Если он там не появился, то нажимаем в основной панели REFRESH MODULES.Эта функция посмотрит что установлено и дополнит в общий список приложений те модули, которые найдёт.

Итак, мы добились того, что SQUID у нас всё-таки появился. Заходим в пункт меню, согласно рисунка 1.1. Первоначально графическое меню предложит вам создать кэш (ещё раз повторюсь, что не надо делать squid –z после установки… webmin умеет делать всё сам. Просто я очень часто по привычке иду в консоль и запускаю эту команду). .После того, как кэш создался кнопкой Start Squid запускаем приложение.

Прокси-сервер Squid > Параметры кэша

Здесь мы видим в каком каталоге у нас находится кэш и как он сконфигурирован.

Каталог: /usr/local/squid/cache

  • Тип:UFS
  • Размер (Мб): 8192
  • Каталоги 1го уровня: 16
  • Каталоги 2го уровня: 256

Остальное оставляем по умолчанию. В принцие, программа сама знает как и чего кэшировать и куда ложить. Но если есть у кого-то желание поковыряться, то позже можно будет отписаться по этому поводу. Данный конфиг настройки кэша взят с реально работающего сервера, который перемалывает до 100000 запросов в сутки.

Читайте также:  Установка лампы ближнего света дастер

Использование памяти

Службы > Прокси-сервер Squid > Использование памяти

  • Ограничение использования памяти:140 мб
  • Размер кэша FQDN: 1024
  • Верхняя граница использования диска: 95%
  • Максимальный размер кэшируемого объекта: 32768 кб
  • Верхняя граница использования кэша IP: 95%
  • Нижняя граница использования диска: 90%
  • Размер кэширования адреса IP: 1024
  • Нижняя граница использования кэша IP: 90

Остальное оставляем по умолчанию.

Доступ к прокси-серверу

Службы => Прокси-сервер Squid => Authentication Programs

В пункте «Basic authentication program»пишем путь к файлу, который создадим и который будет хранить пароли пользователей программы

Создаём для этой программы файл, в котором будут прописаны имена пользователей и пароли. Я выбрал basic-аутентификацию:

Количество программ аутентификации: 5

  • Authentication cache time: 2 часа
  • Authentication realm: Squid proxy-caching web server (название прокси)

Остальные настройки оставляем по умолчанию.

Итак, теперь у нас есть программа, которая будет проверять пару логин-пароль. Кто хочет, может использовать DIGEST аутентификацию. Отличается она от basic тем, что передаёт пару пароль-логин в зашифрованном виде. А вот basiс мы используем, если никого не боимся.

У нас появляется новая иконка — Аутенификация прокси. До этого её не было, можно даже не искать, если конечно вы не редактировали раньше основные настройки модуля 🙂

Здесь надо будет нажать «Добавление нового пользователя» и прописать логин и пароль для того, кто будет получать интернет через сервер. Думаю, тут ничегго сложного нет, абсолютно.Данные должны появится в том файле, который мы создали, причём пароль уже будет зашифрован.

Управление доступом

Итак, у нас есть пользователи, которым не терпится выйти в сеть Интернет, и есть вы, которые должны все данные, что мы писали вверху связать воедино и разрешить настроенным параметрам начать работать. Хотя они и так работают, но тут дело в системе, которая считается работоспособной, а не частями 🙂

На рисунке нам представлены списки того, что может ходить в Интернет. Вообще, я обычно оставляю всё нетронутым практически, как здесь. Добавляю только ACL-лист our_network. Итак, создаём этот ACL-лист, члены которого будут выходить в Интернет только авторизовавшись.

Нажимаем «Создание нового ACL» и выбираем тип — «Внешняя аутентификация».

Вот примерно как будет выглядеть этот ACL. Далее заходим в ограничение прокси:

Как видим, наш ACL-лист стоит предпоследним в списке. Стрелками справа мы можем поднимать ACL-листы или опускать, в зависимости от приоритетов. В других пунктах ICP Ограничения ICP и Reply proxy restrictions ACL-лист — all должен быть разрешён.

Ну вот собственно и всё. Остальное, если есть желание можно поковырять самим. Единственное наставление на будущее: обязательно запоминайте где и что вы нажимаете. Система немного нестабильна и критична к изменениям незаявленных разработчиками стандартов. То есть, как я говорил выше, ввиду того, что в настоящее время выпушено 3 ветки этой программы, то в каждой из веток есть изменения, которые не работают в версиях ниже по ветке. Вот собственно и всё, что надо сисадмину. Хороший прокси сервер на squid, практически за 20 минут 🙂 Дальше я бы предложил самим разбираться. На самом деле, там есть много чего интересного, например, кэширование объектов — время, какие объекты кэшировать, их размер ну и ещё много другого. Поле для изучения есть. А я на этом откланиваюсь: удачной установки Squid.

источник

Установка webmin на Ubuntu Server 16.04

Не всегда удобно настраивать систему через терминал. Многие администраторы предпочитают графический интерфейс терминалу для решения простых задач. На серверах полноценный графический интерфейс использовать не принято, чтобы не затрачивать ценные вычислительные ресурсы, но зато очень часто применяются веб-интерфейсы для настройки.

Читайте также:  Установка проприетарного драйвера в opensuse

С помощью веб-интерфейса вы сможете получить доступ к настройке веб-сервера из любого места где есть доступ к интернету и вам понадобится только браузер. Один из таких веб-интерфейсов с открытым исходным кодом — webmin. Он очень популярен среди пользователей Linux из-за своей простоты и огромной функциональности.

Что такое Webmin?

В большинстве случаев для администрирования сервера можно обойтись и без командной строки, а просто выполнить все действия через веб-интерфейс. Давайте рассмотрим какие функции поддерживает Webmin:

  • Создание и удаление учетных записей пользователей;
  • Настройка служб и сервисов с помощью специальных модулей, например, Apache или DNS;
  • Создание почтовых ящиков пользователей;
  • Просмотр статистики использования системы.

В поставке по умолчанию Webmin содержит более 500 скриптов, которые и реализуют связь между опциями веб-интерфейса и командной оболочкой системы. И к этому всему могут быть добавлены дополнительные модули чтобы еще более расширить функциональность программы. Webmin полностью написан на Perl и как я уже говорил доступен бесплатно. В этой статье мы рассмотрим как выполняется установка Webmin на Ubuntu Server 16.04.

Установка Webmin на Ubuntu Server

Перед тем как перейти к установке Webmin в Ubuntu необходимо добавить официальный репозиторий программы в источники приложений. Для этого откройте файл /etc/apt/sources.list и добавьте туда строки:

sudo vi /etc/apt/sources.list

deb http://download.webmin.com/download/repository sarge contrib
deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib

Затем добавьте GPG ключ репозитория:

sudo wget http://www.webmin.com/jcameron-key.asc
$ sudo apt-key add jcameron-key.asc

Осталось обновить списки пакетов:

Только теперь может быть выполнена установка webmin ubuntu 16.04:

sudo apt-get install webmin

Когда установка завершится, чтобы разрешить доступ к веб-интерфейсу извне нужно открыть порт 10000 с помощью брандмауэра. Для этого выполните:

Теперь все готово к работе, дальше мы рассмотрим как выполняется настройка Webmin Ubuntu Server 16.04, а также как с помощью этой программы конфигурировать систему.

Настройка Webmin на Ubuntu 16.04

Получить доступ к интерфейсу Webmin можно просто набрав адрес вашего сервера и порт 10000 в адресной строке браузера. По умолчанию Webmin использует https, поэтому вам тоже нужно будет применить этот протокол. Адрес будет выглядеть вот так:

Браузер предупредит, что сертификат SSL не является доверенным, это происходит потому, что webmin автоматически создает свой сертификат после установки. И поскольку этот сертификат был выдан не удостоверяющим центром, браузер не может считать его надежным. Но мы знаем, что это наш сервер, поэтому можем продолжить.

На следующем экране вам нужно будет ввести свой логин и пароль на сервере для входа в веб-интерфейс. Этот пользователь должен иметь полномочия суперпользователя:

Вот так будет выглядеть главная страница:

На первой странице показана общая информация о системе, которая поможет вам понять с какой системой вы сейчас имеете дело. Также здесь будет показаны обновления Webmin если они есть.

В левой части экрана вы найдете меню навигации, с помощью которого вы получите доступ к различным модулям Webmin и сможете управлять сервером. В разделе Webmin содержаться настройки самой программы Webmin, другие разделы отвечают за другие системные службы или параметры.

Выводы

Вот и все, установка Webmin на Ubuntu Server 16.04 завершена и теперь вы можете настраивать свою систему удаленно. Это может быть очень полезно, когда вы не можете или не хотите использовать терминал. Если у вас остались вопросы, спрашивайте в комментариях!

источник