В той инсрукции я не увидела самого важного, если пакеты перенаправляются в сквид через iptables то обязательно нужен параметр: http_port 8080 transparent - ну порт там свой какой нужен, судя по правилам и по умолчанию порт 3128 должен быть. Просто добавить словечко transparent надо.
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-соединения.
====
По поводу регексов на сквиде.
Если ссылка на файл прямая - скачать не даст, если отдается каким либо скриптом или чем то подобным - можно будет слить без каких либо проблем.
По крайней мере подобное поведение наблюдал, когда обрезал скачивание файлов по расширению.
Можно сделать так:
Сохранить файлик по следующим содержанием и закинуть его, допустим, /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
Комментарии (6)
В той инсрукции я не увидела самого важного, если пакеты перенаправляются в сквид через 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 для сквида расположение параметров разрешений важно очень.
Да,указан параметр
В /etc/squid/acls/blocks.files.acl у меня так и записано \.mp3$
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-соединения.
====
По поводу регексов на сквиде.
Если ссылка на файл прямая - скачать не даст, если отдается каким либо скриптом или чем то подобным - можно будет слить без каких либо проблем.
По крайней мере подобное поведение наблюдал, когда обрезал скачивание файлов по расширению.
Можно сделать так:
Сохранить файлик по следующим содержанием и закинуть его, допустим, /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
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
Ну с видео можно бороться еще и вот так:
acl deny-video
http_reply_access deny deny-video cont-type-vid
Отправить комментарий