Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование *NIX систем > redirect у squidguard


Автор: student80 8.7.2009, 12:50
Здравствуйте.
Поднимаю новый прокси сервер на debian lenny
Установил Squid3 + squidGuard
В настройках squidguard указал запрещенные адреса и редирект
Код

...
acl {
    default {
        pass !porn all
        redirect http://proxy.mydomain.local/squidGuard/denied.html
    }
}
...

вот еще настройки iptables
Код

#!/bin/sh

LAN_DEV="eth0"
LAN_IP="192.168.0.10"
LAN_NET="192.168.0.0/23"
WAN_DEV="eth1"
WAN_IP="192.168.254.2"
WAN_NET="192.168.254.0/30"
IPT="/sbin/iptables"
grayA="10.0.0.0/8"
grayB="172.16.0.0/12"
grayC="192.168.0.0/16"
grayCallow="192.168.254.0/30"
gateway="192.168.254.1"
lo_dev="lo"
lo_net="127.0.0.0/8"

#flush rules
$IPT -t mangle -F
$IPT -t filter -F
$IPT -t nat -F

#default action
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT DROP

#accept packets from right IPs
$IPT -A INPUT -i $LAN_DEV -s ! $LAN_NET -j DROP
$IPT -A INPUT -i $LAN_DEV -d ! $LAN_IP -j DROP
$IPT -A OUTPUT -o $LAN_DEV -s ! $LAN_IP -j DROP
$IPT -A OUTPUT -o $LAN_DEV -d ! $LAN_NET -j DROP
$IPT -A INPUT -i $WAN_DEV -s $grayA -j DROP
$IPT -A INPUT -i $WAN_DEV -s $grayB -j DROP
$IPT -A INPUT -i $WAN_DEV -s $grayC -j DROP
$IPT -A INPUT -i $WAN_DEV -s $lo_net -j DROP
$IPT -A INPUT -i $WAN_DEV -d ! $WAN_IP -j DROP
$IPT -A OUTPUT -o $WAN_DEV -s ! $WAN_IP -j DROP
$IPT -A OUTPUT -o $WAN_DEV -d $grayA -j DROP
$IPT -A OUTPUT -o $WAN_DEV -d $grayB -j DROP
$IPT -A OUTPUT -o $WAN_DEV -d $grayC -j DROP
$IPT -A OUTPUT -o $WAN_DEV -d $lo_net -j DROP

#SYN packets and SYN flag
$IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
$IPT -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP

#allow and accept NTP
$IPT -A OUTPUT -o $WAN_DEV -p udp --dport 123 -j ACCEPT
$IPT -A INPUT -i $LAN_DEV -p udp --dport 123 -j ACCEPT

#allow ping
$IPT -A OUTPUT -p ICMP --icmp-type 8 -j ACCEPT

#allow traceroute
$IPT -A OUTPUT -o $WAN_DEV -p ICMP --icmp-type 30 -j ACCEPT

#allow DNS
$IPT -A OUTPUT -p tcp --dport 53 -j ACCEPT
$IPT -A OUTPUT -p udp --dport 53 -j ACCEPT

#allow WWW and FTP
$IPT -A OUTPUT -o $WAN_DEV -p tcp --dport 80 -j ACCEPT
$IPT -A OUTPUT -o $WAN_DEV -p tcp --dport 443 -j ACCEPT
$IPT -A OUTPUT -o $WAN_DEV -p tcp --dport 21 -j ACCEPT
$IPT -A OUTPUT -o $WAN_DEV -p tcp --dport 20 -j ACCEPT

#allow SSH from admins
$IPT -A INPUT -i $LAN_DEV -p tcp -s 192.168.1.4 --dport 22 -j ACCEPT
$IPT -A INPUT -i $LAN_DEV -p tcp -s 192.168.0.37 --dport 22 -j ACCEPT

#allow samba
$IPT -A INPUT -i $LAN_DEV -p tcp --dport 139 -j ACCEPT
$IPT -A OUTPUT -o $LAN_DEV -p tcp --dport 139 -j ACCEPT
$IPT -A INPUT -i $LAN_DEV -p tcp --dport 445 -j ACCEPT
$IPT -A OUTPUT -o $LAN_DEV -p tcp --dport 445 -j ACCEPT
$IPT -A INPUT -i $LAN_DEV -p tcp --dport 389 -j ACCEPT
$IPT -A OUTPUT -o $LAN_DEV -p tcp --dport 389 -j ACCEPT
$IPT -A INPUT -i $LAN_DEV -p udp --dport 139 -j ACCEPT
$IPT -A OUTPUT -o $LAN_DEV -p udp --dport 139 -j ACCEPT
$IPT -A INPUT -i $LAN_DEV -p udp --dport 445 -j ACCEPT
$IPT -A OUTPUT -o $LAN_DEV -p udp --dport 445 -j ACCEPT
$IPT -A INPUT -i $LAN_DEV -p udp --dport 389 -j ACCEPT
$IPT -A OUTPUT -o $LAN_DEV -p udp --dport 389 -j ACCEPT
$IPT -A INPUT -i $LAN_DEV -p tcp --dport 88 -j ACCEPT
$IPT -A OUTPUT -o $LAN_DEV -p tcp --dport 88 -j ACCEPT
$IPT -A INPUT -i $LAN_DEV -p udp --dport 88 -j ACCEPT
$IPT -A OUTPUT -o $LAN_DEV -p udp --dport 88 -j ACCEPT
$IPT -A INPUT -i $LAN_DEV -p tcp --dport 749 -j ACCEPT
$IPT -A OUTPUT -o $LAN_DEV -p tcp --dport 749 -j ACCEPT

#accept connection to SQUID
$IPT -A INPUT -i $LAN_DEV -p tcp --dport 3128 -j ACCEPT

#accept connection to WWW-server
$IPT -A INPUT -i $LAN_DEV -p tcp --dport 80 -j ACCEPT

#accept established connections
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

так вот, когда пытаюсь с клиентской машины зайти на запрещенный сайт, то редирект на страницу denied.html не происходит (т. е. происходит, но не грузится страница).
если в браузере набрать адрес страницы denied.html, то она отображается.

ставлю в iptables для цепочки FORWARD правило по умолчанию ACCEPT
сразу все заработало. редирект происходит.

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

помогите, пожалуйста, определить, какое правило в iptables добавить, чтобы шел редирект у squidguard

Автор: student80 14.7.2009, 08:08
разобрался сам.
добавил в iptables
Код

$IPT -A INPUT -i $lo_dev -j ACCEPT
$IPT -A OUTPUT -o $lo_dev -j ACCEPT

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)