LINUX.ORG.RU
ФорумAdmin

Linux рррулес. Squid. Нужна помощь.


0

0

Доброго времени суток, уважаемые Linux-специалисты. Одна из величайших ошибок человечества, называемая Windows Server, задолбала меня окончательно. Перешел на изучение Linux. Пользуюсь дистрибутивом OpenSuse 11.2 под KDE4. Очень понравилась данная операционная система (новичкам легче работать с YAST). Настроил оба интерфейса eth0 и eth1, поднял DNS и DHCP, поставил Apache, все красиво все работает. Дело дошло до установки проксика. По многочисленным советам остановил выбор на Squid. Установил пакетики. Работает на дефолтном порту 3128 внутреннего интерфейса 192.168.0.1. Http и Https пропускает прекрасно.

А теперь суть вопроса заключается в некоторых моментах: 1) как сделать прозрачный прокси. 2) работаю сисадмином. вся проблема в том, что на клиентских компах имеется большое количество программ(как специализированных, так и обычных) начиная от почтовых клиентов типа Bat, заканчивая серьезными клиентскими программами по on-line (не знаю че там особенного, но все очень круто). Как пропустить с этих прог трафик через Squid?Squid как я понимаю работает только c http, https,ftp. В винде пользовался Usergate. Привязывал каждую машину по MAC'у, и далее все, что не http пускал через внутренний NAT прокси, открывая необходимые порты под каждую прогу(переадресацию использовал только в крайних случаях, так как часть офиса работают на ноутах и им трудно дома изменить две строки, например в почтовом клиенте). Возможна ли в Linux такая схема пропуска трафика через Squid? Можно ли в Squid настроить его внутренний NAT? 3) Не разобрался как собирать статистику по каждому MAC'у клиентской машины



Последнее исправление: SokolAndruha (всего исправлений: 1)

нет готового решения, squid работает только с http, https он пропускает прозрачно ибо это следует из самой идеи https(ssl) это значит что https в общем случае через прозрачный squid не пройдет

NAT-ом занимается фаервол, см. документацию по iptables, там же возможна привязка к mac адресам и снятие статистики

hizel ★★★★★
()
Ответ на: комментарий от hizel

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

SokolAndruha
() автор топика

как сделать прозрачный прокси.

тупо файрволом перенаправляем нужные пакеты на порт прокси. например,

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-port 3128

Тут можно указать много чего, в том числе и порты нужных приложений. Если они используют не http/https/ftp, то говорить о прокси будет не совсем правильно, нужен будет обычный nat.

melkor217 ★★★★★
()
Ответ на: комментарий от melkor217

melkor217 Спасибо за ответ. Если можно то указать возможна ли настройка через yast либо путь конфига и ключевые слова. пользуюсь Opensuse 11.2 KDE4

SokolAndruha
() автор топика
Ответ на: комментарий от SokolAndruha

ключевые слова: iptables nat squid transparent
учтите что в разных версиях squid может отличатся настройка прозрачности

hizel ★★★★★
()
Ответ на: комментарий от SokolAndruha

Есть много графических фронт-ендов к iptables, где можно правила натыкать мышкой. Но я ни одного с ходу не назову, потому что никогда ими всерьёз не пользовался.

Настройки iptables можно хранить в произвольном месте, и применять их при поднятии интерфейса через iptabes-restore. Советую почитать это, тут хорошо расписаны принципы работы и основные возможности iptables.

melkor217 ★★★★★
()

пакеты с необходимыми MAC'ами маркируете и фильтруете по марке

трафик с 80-м портом назначения направляете на сквид

zorgan
()

Собственно а зачем тебе proxy на Linux'e?, NAT и все. На винде то нет нормально фаера что бы все красиво сделать, наверно потому у тебя там было proxy и совсем не обязательно на Linux'e делать тоже самое.


iptables -F; iptables -t nat -F; iptables -t mangle -F

iptables -t nat -A POSTROUTING -s 172.31.128.0/24(внутрення сеть) -j SNAT --to-source 8.8.8.8 (внешняя сеть, то есть тот IP сетевой которая смотрит на сторону провайдера)

так у тебя DHCP то и пользователям ничего не прийдеться делать, они все получать от твоего сервера.

doctor-ua
()
Ответ на: комментарий от doctor-ua

обычно squid ставят только из-за статистики по посещаемым сайтам и опционально фильтрации по ним

hizel ★★★★★
()

transparent proxy with WCCP версии 2 поддерживает любые IP и TCP протоколы. Если кошки нет, то и обычным squid-ом можно обойтись, обычный поиск в google по колючим словам «transparent proxy» может дать вполне достаточное количество ссылок на статьи-хаутушки. Знание английского языка сильно приветствуется.

spunky ★★
()

> 1) как сделать прозрачный прокси.

squid + iptables

2) [...] Как пропустить с этих прог трафик через Squid?


Весь трафик — никак. Но это, обычно, и не требуется.

3) Не разобрался как собирать статистику по каждому MAC'у клиентской машины


Переформулируйте вопрос.

Igron ★★★★★
()
Ответ на: комментарий от doctor-ua

«Собственно а зачем тебе proxy на Linux'e?, NAT и все. На винде то нет нормально фаера что бы все красиво сделать, наверно потому у тебя там было proxy и совсем не обязательно на Linux'e делать тоже самое.» --- пусть меня поправят, но я абсолютно не согласен..... Если цель изолировать внутреннюю сеть, то без прокси не обойтись (я уже не говорю о кэше, статистике, ограничениях и т.д...)

А с nat.... ну как обычно, его придумали как временное быстрое решение (ну и используют временно уже два десятилетия...))))

AAA
()
Ответ на: комментарий от vadv

Друзья я очень рад что на мой зов помощи откликнулось столько первоклассных спецов. Я наверно не корректно сформулировал вопрос. Что от меня требует начальство : 1. Собирать статистику по каждому пользователю (ибо инет небезлимитный, просьба не смеяться))). Причем надо прям точно скока кто сожрал 2. Заблочить сайты типа ненаглядного ВКОНТАТКЕ.ру и тому подобное. 3. Плюс я хочу привязывать клиентов по MAC-адрессу машины. 4. Открыть тока те порты которые требуются для клиентских программ типа почтовых клиентов например.

SokolAndruha
() автор топика

в /etc/squid/squid.conf надо пропсать просто слово transparent.

alikhantara
()
22 сентября 2010 г.

кэширование

Вопрос немного не в тему, но всё-таки. В офисе сервак с убунту и transparent squid кеширует только файлы для пользователя, скачанные им же, т.е. если один и тот же файл скачан компом А, то при скачке его компом Б файл тянется из веба, из кэша же - только компом А. Вообще такой функционал в squid'е заложен или я хочу невозможного? (ну чтоб комп Б уже с первого раза загружал файл с сервака, если он уже был закэширован компом А). Всем спасибо.

f00ntic
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.