Проблемы с настройкой iptables и squid

На ноуте (192.168.1.1) настроена раздача инета через wifi (wlan0). Инет безпроводной через юсб-модем (ppp0)
Настройка произведена в /etc/network/interfaces

Установил squid, настраиваю по Squid: настраиваем контроль доступа и оптимизируем кэш.
Задача: запретить скачивание mp3 файлов
Создал правило
acl blockfiles urlpath_regex -i “/etc/squid/acls/blocks.files.acl”
http_access deny blockfiles

файл /etc/squid/acls/blocks.files.acl

Никакой реакции на запрет, на субноуте (192.168.1.3) файл скачивается, доступ в инет есть.

Додбавляю правила в iptables
sudo iptables -t nat -A PREROUTING -i wlan0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.1:3128
sudo iptables -t nat -A PREROUTING -i ppp0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128

доступ в инет на субноуте пропадает (access denied от squida).
до добавления правил

после

Как настроить в squidе заперт на скачивание mp3?

Комментарии (6)

0
Жюстина - 12 Октябрь, 2011 - 06:03
Изображение пользователя Жюстина.

В той инсрукции я не увидела самого важного, если пакеты перенаправляются в сквид через iptables то обязательно нужен параметр: http_port 8080 transparent - ну порт там свой какой нужен, судя по правилам и по умолчанию порт 3128 должен быть. Просто добавить словечко transparent надо.

acl blocked_url url_regex "/home/uzver/block_url"
http_access deny blocked_url

У мну так пользовалось, а внутри уже в файлике можно просто и нагло \.mp3$, хотя яп не думала и влепила наглое и простое: mp3 )))))

И важно чтоб правила разрешения или запрета стояли до параметра http_access deny all для сквида расположение параметров разрешений важно очень.

0
rlepish - 12 Октябрь, 2011 - 09:37

Да,указан параметр
http_port 192.168.1.1:3128 transparent

В /etc/squid/acls/blocks.files.acl у меня так и записано \.mp3$

0
Flameflower - 12 Октябрь, 2011 - 08:36
Изображение пользователя Flameflower.

sudo iptables -t nat -A PREROUTING -i wlan0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.1:3128
А вот это зачем?
И, если не ошибаюсь,
up route add -net 192.168.1.0 netmask 255.255.255.0 dev wlan0
Автоматически появится это правил при поднятии интерфейса.
===
up route add -net 0.0.0.0 netmask 255.255.255.255 dev ppp0
А это, по моему, не верная запись, ибо всё подмножество ipv4-адресов записывается как 0.0.0.0/0
Да и, по моему, тоже не обязательно указывать. Достаточно будет записей вида defaultroute и replacedefaultroute в настройках ppp-соединения.
====
По поводу регексов на сквиде.
Если ссылка на файл прямая - скачать не даст, если отдается каким либо скриптом или чем то подобным - можно будет слить без каких либо проблем.
По крайней мере подобное поведение наблюдал, когда обрезал скачивание файлов по расширению.

+1
Flameflower - 12 Октябрь, 2011 - 08:51
Изображение пользователя Flameflower.

Можно сделать так:
Сохранить файлик по следующим содержанием и закинуть его, допустим, /etc/rc.local
#! /bin/sh
###VAR###
IPT=/sbin/iptables
WAN=ppp0
LAN=eth0
WIFI=wlan0
WIFI_net=192.168.1.0/24
SQUID_PORT=3128
###Main rules###
echo 1 > /proc/sys/net/ipv4/ip_forward
$IPT -t nat -A POSTROUTING -o $WAN -j MASQUERADE
$IPT -t nat -A POSTROUTING -o $WIFI -j MASQUERADE
$IPT -t nat -A PREROUTING -i $WIFI -s $WIFI_NET -p tcp -m multiport --dport 80 --to-port $SQUID_PORT -j REDIRECT

В итоге получим 2 ната на интерфейсах wlan0 и ppp0.
Перенаправление http:80 трафика на сквид с подсети, которая навешана на интерфейс wlan0.
В конфиге сквида должно быть указано, что он прозрачный:
http_port 3128 transparent
А так же, если память не изменяет, необходимо добавить нашу подсеть для пропуска трафика.
acl wifi-net src 192.168.1.0/24
http_access allow wifi-net

0
Гость - 16 Март, 2012 - 18:05

acl Media_Files url_regex -i \.mp3$ \.flv$ \.iflv$ \.?flv$ \.avi$ \.mpg$ \.mpeg$ \.bmp$ \.mp?$ \.qt$ \.mov$ \.ram$ \.rm$ \.raw$ \.wav$

http_access deny Media_Files

Удобный АЦЛ для резки ю- ру-туб, вконтакте
acl rutube dstdomain .rutube.ru .vk.com .vkontakte.ru
acl GET method GET
acl rutube_url urlpath_regex -i /player.swf
http_access deny GET rutube rutube_url

0
Flameflower - 17 Март, 2012 - 09:12
Изображение пользователя Flameflower.

Ну с видео можно бороться еще и вот так:
acl deny-video
http_reply_access deny deny-video cont-type-vid

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры