Щупаем SQUID руками новичка от начала до введения в рабочую ЛВС. Часть 1.

Введение

Моя сеть состоит из 16 рабочих станций и 1 сервера. Везде используется Windows. В качестве интернет-шлюза выступает рабочая машина с Windows XP Pro SP3, интернет раздается стандартным ICS. Поскольку мои работодатели жиды и как положено жидам, они хотят видеть и статистику по использованию Интернета и ограничения определенным пользователям и чтобы все это было бесплатно, мой выбор пал на использование Linux Debian 6 и прокси-сервера Squid.

Так как опыта по внедрению такой связки я не имею, я предпочел сначала протестировать все это дело на виртуальных машинах, ну а уже потом поднимать прокси-сервер в рабочей ЛВС.

Строим экспериментальную площадку

Моя экспериментальная площадка выглядит следующим образом:

1. Ноутбук Dell Vostro 500 (Intel Celeron 1.8 GHz, 2 GB RAM, 120 Gb HDD), Debian 6.03
2. Проприетарный VirtualBox 4.1.4
3. Гостевая ОС Windows XP Professional SP3

Ноутбук был подключен к ЛВС и имел такие настройки:
IP: 192.168.0.128
шлюз: 192.168.0.83
маска: 255.255.255.0
DNS: 92.42.14.41


В VirtualBox была поднята сетевая карта vboxnet0:
IP 192.168.1.128
маска 255.255.255.0

В настройках гостевой системы был выбран сетевой адаптер vboxnet0 и выбран его тип — виртуальный адаптер хоста.

Гостевая ОС имела такие параметры:
IP 192.168.1.127
шлюз: 192.168.1.128
маска: 255.255.255.0


Теперь устанавливаю нужное ПО на ноутбук:

squid3 (последняя версия на текущий момент 3.1.6)
webmin 1.570 (да да, я эникейщик, поэтому пока использую этот ужас :) )

Запускаем консоль под рутом.
Выполняем команду:

apt-get install squid3


Как подключить репозиторий для установки webmin вам поможет www.google.com

После прописывая репозитория и установки ключа выполняем команду:

apt-get install webmin


Все, у нас есть ПО для шлюза, но оно не настроено. Так давай те же исправим ситуацию.

Нам нужно настроить webmin, чтобы через него можно было управлять squid'ом.
Запускаем браузер и в адресную строку вбиваем:
localhost:10000


Webmin просит нас залогинится, у меня не получилось, потому пришлось гуглить и прибегать к помощи товарищей по цеху sysadminz.ru/index.php?topic=1947.0

После обнаружилось, что webmin не видит запущенного squidа, потому пришлось настраивать webmin. А точнее пришлось делать вот что:
зашел в «Неиспользуемые модули» и в модуле squid указал на каталоги бинарников squidа и лог файла. Далее нажал на «обновить модули» и webmin увидел squid. Далее дело не заставило себя долго ждать:

зашел в «Службы» — «Прокси сервер SQUID». На вкладке «Порты и сеть» указал такие параметры:

Нажимаем «Применение изменений» в верхнем правом углу.

Так же необходимо создать папки для кэша squida. Идем в «Параметры кэша» и делаем так:
указываем путь кэша: /var/spool/squid3
каталоги 1 уровня: 16
каталоги 2 уровня: 256

Опять же не забываем о применении изменений.

Можно погуглить на счет как лучше организовать кеш, но я сделал как стандартный вариант, так как моя цель запустить и посмотреть на сиё чудо под именем squid.

Осталась самая малость, но в то же время и самое трудное: управление доступом.
Собственно я долго не раздумывал, сделал доступ для всех и каждого. Для этого заходим в «Управление доступом» и переходим на вкладку «Ограничения прокси». Видим список ALL. Его мы с помощью стрелочек справа поднимаем вверх списка и в столбце «Действие» выставляем «Разрешить».

Применяем изменения.

В общем с настройками самого squida можно и закончить.

Если сейчас попытаться подключиться к прокси-серверу, то из этого ничего не выйдет, так как наша машина не умеет пересылать пакеты из сети в сеть, т. е. Не является шлюзом. Погуглив, можно изменить ситуацию. debian.pro/249

Последуем советам из статьи и выполним необходимые тело движения на своей тестовой площадке.

Нам надо отредактировать файл sysctl.conf (/etc/sysctl.conf) для изменения параметра
net.ipv4.ip_forward=0 на net.ipv4.ip_forward=1
В моем случае оказалось что параметр за комментирован, поэтому я убрал знак комментария и сохранил изменения. (изменять файл нужно под root). После этого я перезагрузил ноутбук, так как ни один из указанных в статье вариантов вступления параметра в силу не помог.

После перезагрузки я под рутом выполнил следующую команду, чтобы настроить iptables.

 
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

(недостаток у этого метода в том, что после перезагрузки его нужно вводить заново)
Собственно о назначении команды можно легко спросить у гугла.

Вот и все. Наш тестовый интернет-шлюз готов в тестированию.

Загружаю гостевую ОС, открываю браузер (Internet Explorer), указываю прокси-сервер:


Пробуем зайти теперь на mail.ru


И так вроде все работает. Если сейчас зайти в кэш squida, то можно увидеть, что размер папки изменился, можно так же проверить лог файл squida.

На этом хочу закончить первую часть. Удачи и спасибо за внимание.

С уважением DedMagarbI4.">

3 комментария

avatar
Дедуль, ема, ну про жЫдов то уж можно было не пейсать?
avatar
Я б на твоем месте вебмин не пользовал, а ковырял конфиги.
Вебмин иногда очень годно может выпилить конфиг или его запороть, сталкивался уже.
avatar
Ну дык я в этом направлении и двигаюсь, в следующей части будет все только через конфиги
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.