Настройка iptables (контроль 80 порта, остальные пробрасывать)

PCLinuxOS

Модератор: Bizdelnick

Аватара пользователя
frenzy
Сообщения: 51
ОС: mandriva 2007 pp+

Настройка iptables

Сообщение frenzy »

Доброго времени суток.

os Mandriva 2008, ядро 2.6.22.19-desktop-2mdv
squid 2.6 stable
sams 2 rc1
eth0
192.168.0.3
255.255.255.0
192.168.0.1
dns 192.168.0.1

Потребовалось настроить систему фильтрации веб трафика и его учета
решил поднять все это на sams, но споткнулся на правилах iptables.
дело в том, что мне нужно проверять только трафик на 80 порту, остальные порты не волнуют.
с настройкой прозрачности для браузеров я разобрался, проброс с 80 на 3128 работает как надо.
Но, больше ничего в сеть не пускает, ни почту ни аськи, ни клиент банк.
подскажите, как пробросить все остальные порты до роутера(192.168.0.1)?
Пробовал применить такие правила:
iptables -t nat --new-chain TransProxy
iptables -t nat -A PREROUTING -p tcp --dport 80 -j TransProxy
iptables -t nat -A TransProxy -d 127.0.0.1/8 -j ACCEPT
iptables -t nat -A TransProxy -d 192.168.0../24 -j ACCEPT
iptables -t nat -A TransProxy -p tcp -j dnat --to 192.168.0.3:3128
внимание к каждой составляющей определяет качество вцелом
Спасибо сказали:
Аватара пользователя
Skyb
Сообщения: 967
ОС: RFremix 18

Re: Настройка iptables

Сообщение Skyb »

насколько я понял - нада пробросить ещё несколько портов для определенной подсети?
C:\windows> ifconfig
"ifconfig" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Спасибо сказали:
Аватара пользователя
frenzy
Сообщения: 51
ОС: mandriva 2007 pp+

Re: Настройка iptables

Сообщение frenzy »

не совсем. подсеть всего одна.
роутер Asus (192.168.0.1) раздает всем машинам настройки по DHCP (там шлюзом указана прокся)
мне надо что бы только браузеры шли на проксю (192.168.0.3) а с неё уже на роутер(192,168,0,1)
а весь остальной софт не проверялся и не фильтровался, а сразу редиректился на роутер

проще говоря, у меня прокся ничего кроме браузеров в инет не пускает)))
внимание к каждой составляющей определяет качество вцелом
Спасибо сказали:
Аватара пользователя
Skyb
Сообщения: 967
ОС: RFremix 18

Re: Настройка iptables

Сообщение Skyb »

http://www.opennet.ru/base/net/nat_redirect.txt.html
статья офигительная - работает все :)
C:\windows> ifconfig
"ifconfig" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Спасибо сказали:
Аватара пользователя
frenzy
Сообщения: 51
ОС: mandriva 2007 pp+

Re: Настройка iptables

Сообщение frenzy »

я больше чем уверен, что туплю на чем то простом. но не могу разобраться(((
статья полезная, только у меня проблема абсолютно противоположная.
там описывается доступ из инета к компу, а я не могу открыть доступ от компа к инету
внимание к каждой составляющей определяет качество вцелом
Спасибо сказали:
Аватара пользователя
Skyb
Сообщения: 967
ОС: RFremix 18

Re: Настройка iptables

Сообщение Skyb »

так стоп, не понял - вам же нада открыть доступ из серой сети во внешний мир?
хм...или я не ту статью скинул :)
ответьте на вопрос, если именно так, то скажу как прокинуть ;)
C:\windows> ifconfig
"ifconfig" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Спасибо сказали:
Аватара пользователя
frenzy
Сообщения: 51
ОС: mandriva 2007 pp+

Re: Настройка iptables

Сообщение frenzy »

так точно.
нужен доступ из локалки во внешний мир (по всем портам)
внимание к каждой составляющей определяет качество вцелом
Спасибо сказали:
Аватара пользователя
Skyb
Сообщения: 967
ОС: RFremix 18

Re: Настройка iptables

Сообщение Skyb »

http://www.opennet.ru/base/net/iptables_nat.txt.html

Код: Выделить всё

# Разрешить доступ к почтовому серверу
iptables -A FFR -p tcp -s y.y.y.1 -d x.x.x.x -m multiport --dports 25,110  -j ACCEPT

как пример :)
C:\windows> ifconfig
"ifconfig" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Спасибо сказали:
Аватара пользователя
frenzy
Сообщения: 51
ОС: mandriva 2007 pp+

Re: Настройка iptables

Сообщение frenzy »

Огромное спасибо Вам

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

Код: Выделить всё

iptables -A FORWARD -p tcp -s 192.168.0.0/24 -d 192.168.0.3 -m multiport --dports ! 80  -j ACCEPT
внимание к каждой составляющей определяет качество вцелом
Спасибо сказали:
Аватара пользователя
Skyb
Сообщения: 967
ОС: RFremix 18

Re: Настройка iptables

Сообщение Skyb »

frenzy писал(а):
27.01.2011 14:46
Огромное спасибо Вам

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

Код: Выделить всё

iptables -A FORWARD -p tcp -s 192.168.0.0/24 -d 192.168.0.3 -m multiport --dports ! 80  -j ACCEPT

пожалуйста, изучив iptables можно многое творить :)
кстати, я не уверен ибо не помню, нада доку смотреть, но

Код: Выделить всё

-m multiport
кажется можно убрать, это для нескольких портов, а у вас только 1 :)
C:\windows> ifconfig
"ifconfig" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Спасибо сказали:
Аватара пользователя
frenzy
Сообщения: 51
ОС: mandriva 2007 pp+

Re: Настройка iptables

Сообщение frenzy »

а разве

Код: Выделить всё

--dports ! 80

не означает "все кроме 80"?
внимание к каждой составляющей определяет качество вцелом
Спасибо сказали:
Аватара пользователя
Skyb
Сообщения: 967
ОС: RFremix 18

Re: Настройка iptables

Сообщение Skyb »

да, только про другое - опция

Код: Выделить всё

-m multiport
возможно не нужна, так как это для нескольких портов, а вы делаете для одного.

Код: Выделить всё

iptables -A FORWARD -p tcp -s 192.168.0.0/24 -d 192.168.0.3 --dports ! 80  -j ACCEPT
, но я не уверен, нада смотреть доку, а мне лень :)
C:\windows> ifconfig
"ifconfig" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Спасибо сказали:
Аватара пользователя
frenzy
Сообщения: 51
ОС: mandriva 2007 pp+

Re: Настройка iptables

Сообщение frenzy »

главное, что работает и работает так, как надо :)
а с тонкостями уже буду по факту разбираться
внимание к каждой составляющей определяет качество вцелом
Спасибо сказали:
Аватара пользователя
frenzy
Сообщения: 51
ОС: mandriva 2007 pp+

Re: Настройка iptables

Сообщение frenzy »

не долго длилось счастье((((( на выходных отключили электричество и шлюз вырубился. после включения правила слетели (хотя service iptables save делал)

вопрос тот же, но старые правила не работают.
единственное что работает это редирект порта с 80 на 3128

Код: Выделить всё

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

все остальное игнорится даже пинги дальше шлюза не ходят
внимание к каждой составляющей определяет качество вцелом
Спасибо сказали:
alexandrnevsky
Сообщения: 37
ОС: Slackware 13.7 Mandriva 2011

Re: Настройка iptables

Сообщение alexandrnevsky »

Есть шлюз с двумя интерфейсами один внутрь другой в интернет.
После настройки iptables незагружается веб в браузере. аська и почта пашет. я подумал что с днс проблеммы( 53 порт) но днс не закрыт.

Код: Выделить всё

INET_IFACE="eth0"
INET_ADDRESS="хх.хх.хх.16"
LOCAL_IFACE="eth1"
LOCAL_IP="192.168.0.1"
$IPT -P INPUT ACCEPT
$IPT -P FORWARD ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -t nat -P PREROUTING ACCEPT
$IPT -t nat -P POSTROUTING ACCEPT
$IPT -t nat -P OUTPUT ACCEPT
$IPT -t mangle -P PREROUTING ACCEPT
$IPT -t mangle -P OUTPUT ACCEPT

# Flush all rules
$IPT -F
$IPT -t nat -F
$IPT -t mangle -F

# Erase all non-default chains
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X

if [ "$1" = "stop" ]
then
    echo "Firewall completely flushed!  Now running with no firewall."
    exit 0
fi

$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP

echo "Create and populate custom rule chains ..."

# Create a chain to filter INVALID packets

$IPT -N bad_packets

# Create another chain to filter bad tcp packets

$IPT -N bad_tcp_packets

$IPT -N icmp_packets

$IPT -N udp_inbound

$IPT -N udp_outbound

$IPT -N tcp_inbound

$IPT -N tcp_outbound

###############################################################################
$IPT -A bad_packets -p ALL -i $INET_IFACE -s $LOCAL_NET -j LOG \
    --log-prefix "fp=bad_packets:2 a=DROP "
$IPT -A bad_packets -p ALL -i $INET_IFACE -s $LOCAL_NET -j DROP

$IPT -A bad_packets -p ALL -m state --state INVALID -j LOG \
    --log-prefix "fp=bad_packets:1 a=DROP "

$IPT -A bad_packets -p ALL -m state --state INVALID -j DROP

$IPT -A bad_packets -p tcp -j bad_tcp_packets

$IPT -A bad_packets -p ALL -j RETURN

$IPT -A bad_tcp_packets -p tcp -i $LOCAL_IFACE -j RETURN

$IPT -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG \
    --log-prefix "fp=bad_tcp_packets:1 a=DROP "
$IPT -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP

$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL NONE -j LOG \
    --log-prefix "fp=bad_tcp_packets:2 a=DROP "
$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL NONE -j DROP

$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL ALL -j LOG \
    --log-prefix "fp=bad_tcp_packets:3 a=DROP "
$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL ALL -j DROP

$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL FIN,URG,PSH -j LOG \
    --log-prefix "fp=bad_tcp_packets:4 a=DROP "
$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP

$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j LOG \
    --log-prefix "fp=bad_tcp_packets:5 a=DROP "
$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP

$IPT -A bad_tcp_packets -p tcp --tcp-flags SYN,RST SYN,RST -j LOG \
    --log-prefix "fp=bad_tcp_packets:6 a=DROP "
$IPT -A bad_tcp_packets -p tcp --tcp-flags SYN,RST SYN,RST -j DROP

$IPT -A bad_tcp_packets -p tcp --tcp-flags SYN,FIN SYN,FIN -j LOG \
    --log-prefix "fp=bad_tcp_packets:7 a=DROP "
$IPT -A bad_tcp_packets -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

$IPT -A bad_tcp_packets -p tcp -j RETURN

$IPT -A icmp_packets --fragment -p ICMP -j LOG \
    --log-prefix "fp=icmp_packets:1 a=DROP "
$IPT -A icmp_packets --fragment -p ICMP -j DROP

$IPT -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j DROP

$IPT -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT

$IPT -A icmp_packets -p ICMP -j RETURN

$IPT -A udp_inbound -p UDP -s 0/0 --destination-port 137 -j DROP
$IPT -A udp_inbound -p UDP -s 0/0 --destination-port 138 -j DROP

$IPT -A udp_inbound -p UDP -s 0/0 --destination-port 113 -j REJECT

$IPT -A udp_inbound -p UDP -s 0/0 --destination-port 123 -j ACCEPT

$IPT -A udp_inbound -p UDP -s 0/0 --destination-port 53 -j ACCEPT

$IPT -A udp_inbound -p UDP -s 0/0 --destination-port 5353 -j ACCEPT

$IPT -A udp_inbound -p UDP -s 0/0 --source-port 68 --destination-port 67 \
     -j ACCEPT

$IPT -A udp_inbound -p UDP -s 0/0 --destination-port 111 -j ACCEPT

$IPT -A udp_inbound -p UDP -s 0/0 --destination-port 9400 -j ACCEPT

$IPT -A udp_inbound -p UDP -s 0/0 --destination-port 1024:60000 -j ACCEPT

$IPT -A udp_inbound -p UDP -j RETURN

$IPT -A udp_outbound -p UDP -s 0/0 -j ACCEPT

$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 113 -j REJECT

$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 53 -j ACCEPT

$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 5353 -j ACCEPT

$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 80 -j ACCEPT

$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 21 -j ACCEPT

$IPT -A tcp_inbound -p TCP -s 0/0 --source-port 20 -j ACCEPT

$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 62000:64000 -j ACCEPT

$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 25 -j ACCEPT

$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 110 -j ACCEPT

$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 143 -j ACCEPT

$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 22 -j ACCEPT

$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 5000:5100 -j ACCEPT

$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 6891:6900 -j ACCEPT

$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 111 -j ACCEPT

$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 1024:60000 -j ACCEPT

$IPT -A tcp_inbound -p TCP -j RETURN

$IPT -A tcp_outbound -p TCP -s 0/0 --destination-port 23 -j REJECT

$IPT -A tcp_outbound -p TCP -s 0/0 --destination-port 119 -j REJECT

$IPT -A tcp_outbound -p TCP -s 0/0 -j ACCEPT

###############################################################################

$IPT -A INPUT -p ALL -i $LO_IFACE -j ACCEPT
$IPT -A INPUT -s 192.168.0.0/24 -j ACCEPT
$IPT -A INPUT -s 192.168.0.0/24 -p tcp --dport 53 -j ACCEPT

$IPT -A INPUT -p ALL -j bad_packets

$IPT -A INPUT -p ALL -i $LOCAL_IFACE -s $LOCAL_NET -j ACCEPT
$IPT -A INPUT -p ALL -i $LOCAL_IFACE -d $LOCAL_BCAST -j ACCEPT
$IPT -A INPUT -p UDP -i $LOCAL_IFACE --source-port 68 --destination-port 67 \
     -j ACCEPT

$IPT -A INPUT -p ALL -i $INET_IFACE -m state --state ESTABLISHED,RELATED \
     -j ACCEPT
$IPT -A INPUT -p TCP -i $INET_IFACE -j tcp_inbound
$IPT -A INPUT -p UDP -i $INET_IFACE -j udp_inbound
$IPT -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets

#$IPT -A INPUT -m pkttype --pkt-type broadcast -j DROP

#$IPT -A INPUT -j LOG --log-prefix "fp=INPUT:99 a=DROP "

###############################################################################

$IPT -A FORWARD -p ALL -j bad_packets

$IPT -A FORWARD -p tcp -i $LOCAL_IFACE -j tcp_outbound

$IPT -A FORWARD -p udp -i $LOCAL_IFACE -j udp_outbound

$IPT -A FORWARD -p ALL -i $LOCAL_IFACE -j ACCEPT

$IPT -A FORWARD -i $INET_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT

#$IPT -A FORWARD -j LOG --log-prefix "fp=FORWARD:99 a=DROP "

###############################################################################
$IPT -A OUTPUT -p tcp -d 192.168.0.0/24 --dport 53 -j ACCEPT
$IPT -A OUTPUT -m state -p icmp --state INVALID -j DROP
$IPT -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
$IPT -A OUTPUT -p ALL -o $LO_IFACE -j ACCEPT
$IPT -A OUTPUT -p ALL -s $LOCAL_IP -j ACCEPT
$IPT -A OUTPUT -p ALL -o $LOCAL_IFACE -j ACCEPT
$IPT -A OUTPUT -p ALL -o $INET_IFACE -j ACCEPT
$IPT -A OUTPUT -j LOG --log-prefix "fp=OUTPUT:99 a=DROP "

###############################################################################
# PREROUTING chain

$IPT -t nat -A PREROUTING -p tcp --destination-port 80 \
     -j REDIRECT --to-ports 3128

###############################################################################

$IPT -t nat -A POSTROUTING -o $INET_IFACE \
     -j SNAT --to-source $INET_ADDRESS
$IPT -t nat -A POSTROUTING -o $LOCAL_IFACE \
     -j SNAT --to-source $INET_ADDRESS
Спасибо сказали:
Sleeping Daemon
Сообщения: 1450

Re: Настройка iptables

Сообщение Sleeping Daemon »

frenzy писал(а):
27.01.2011 14:46
Огромное спасибо Вам

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

Код: Выделить всё

iptables -A FORWARD -p tcp -s 192.168.0.0/24 -d 192.168.0.3 -m multiport --dports ! 80  -j ACCEPT

Это правило не будет работоать в принципе.
Правило FORWARD - для транзитных пакетов, с ОДНОГО интерфеса на ДРУГОЙ. Вы пытаетесь форвардить внутри одного интерфеса.
Спасибо сказали:
alexandrnevsky
Сообщения: 37
ОС: Slackware 13.7 Mandriva 2011

Re: Настройка iptables

Сообщение alexandrnevsky »

alexandrnevsky писал(а):
15.07.2011 08:31
Есть шлюз с двумя интерфейсами один внутрь другой в интернет.
После настройки iptables незагружается веб в браузере. аська и почта пашет. я подумал что с днс проблеммы( 53 порт) но днс не закрыт.

Код: Выделить всё

INET_IFACE="eth0"
INET_ADDRESS="хх.хх.хх.16"
LOCAL_IFACE="eth1"
LOCAL_IP="192.168.0.1"
$IPT -P INPUT ACCEPT
$IPT -P FORWARD ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -t nat -P PREROUTING ACCEPT
$IPT -t nat -P POSTROUTING ACCEPT
$IPT -t nat -P OUTPUT ACCEPT
$IPT -t mangle -P PREROUTING ACCEPT
$IPT -t mangle -P OUTPUT ACCEPT

# Flush all rules
$IPT -F
$IPT -t nat -F
$IPT -t mangle -F

# Erase all non-default chains
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X

if [ "$1" = "stop" ]
then
    echo "Firewall completely flushed!  Now running with no firewall."
    exit 0
fi

$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP

echo "Create and populate custom rule chains ..."

# Create a chain to filter INVALID packets

$IPT -N bad_packets

# Create another chain to filter bad tcp packets

$IPT -N bad_tcp_packets

$IPT -N icmp_packets

$IPT -N udp_inbound

$IPT -N udp_outbound

$IPT -N tcp_inbound

$IPT -N tcp_outbound

###############################################################################
$IPT -A bad_packets -p ALL -i $INET_IFACE -s $LOCAL_NET -j LOG \
    --log-prefix "fp=bad_packets:2 a=DROP "
$IPT -A bad_packets -p ALL -i $INET_IFACE -s $LOCAL_NET -j DROP

$IPT -A bad_packets -p ALL -m state --state INVALID -j LOG \
    --log-prefix "fp=bad_packets:1 a=DROP "

$IPT -A bad_packets -p ALL -m state --state INVALID -j DROP

$IPT -A bad_packets -p tcp -j bad_tcp_packets

$IPT -A bad_packets -p ALL -j RETURN

$IPT -A bad_tcp_packets -p tcp -i $LOCAL_IFACE -j RETURN

$IPT -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG \
    --log-prefix "fp=bad_tcp_packets:1 a=DROP "
$IPT -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP

$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL NONE -j LOG \
    --log-prefix "fp=bad_tcp_packets:2 a=DROP "
$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL NONE -j DROP

$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL ALL -j LOG \
    --log-prefix "fp=bad_tcp_packets:3 a=DROP "
$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL ALL -j DROP

$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL FIN,URG,PSH -j LOG \
    --log-prefix "fp=bad_tcp_packets:4 a=DROP "
$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP

$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j LOG \
    --log-prefix "fp=bad_tcp_packets:5 a=DROP "
$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP

$IPT -A bad_tcp_packets -p tcp --tcp-flags SYN,RST SYN,RST -j LOG \
    --log-prefix "fp=bad_tcp_packets:6 a=DROP "
$IPT -A bad_tcp_packets -p tcp --tcp-flags SYN,RST SYN,RST -j DROP

$IPT -A bad_tcp_packets -p tcp --tcp-flags SYN,FIN SYN,FIN -j LOG \
    --log-prefix "fp=bad_tcp_packets:7 a=DROP "
$IPT -A bad_tcp_packets -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

$IPT -A bad_tcp_packets -p tcp -j RETURN

$IPT -A icmp_packets --fragment -p ICMP -j LOG \
    --log-prefix "fp=icmp_packets:1 a=DROP "
$IPT -A icmp_packets --fragment -p ICMP -j DROP

$IPT -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j DROP

$IPT -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT

$IPT -A icmp_packets -p ICMP -j RETURN

$IPT -A udp_inbound -p UDP -s 0/0 --destination-port 137 -j DROP
$IPT -A udp_inbound -p UDP -s 0/0 --destination-port 138 -j DROP

$IPT -A udp_inbound -p UDP -s 0/0 --destination-port 113 -j REJECT

$IPT -A udp_inbound -p UDP -s 0/0 --destination-port 123 -j ACCEPT

$IPT -A udp_inbound -p UDP -s 0/0 --destination-port 53 -j ACCEPT

$IPT -A udp_inbound -p UDP -s 0/0 --destination-port 5353 -j ACCEPT

$IPT -A udp_inbound -p UDP -s 0/0 --source-port 68 --destination-port 67 \
     -j ACCEPT

$IPT -A udp_inbound -p UDP -s 0/0 --destination-port 111 -j ACCEPT

$IPT -A udp_inbound -p UDP -s 0/0 --destination-port 9400 -j ACCEPT

$IPT -A udp_inbound -p UDP -s 0/0 --destination-port 1024:60000 -j ACCEPT

$IPT -A udp_inbound -p UDP -j RETURN

$IPT -A udp_outbound -p UDP -s 0/0 -j ACCEPT

$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 113 -j REJECT

$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 53 -j ACCEPT

$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 5353 -j ACCEPT

$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 80 -j ACCEPT

$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 21 -j ACCEPT

$IPT -A tcp_inbound -p TCP -s 0/0 --source-port 20 -j ACCEPT

$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 62000:64000 -j ACCEPT

$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 25 -j ACCEPT

$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 110 -j ACCEPT

$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 143 -j ACCEPT

$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 22 -j ACCEPT

$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 5000:5100 -j ACCEPT

$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 6891:6900 -j ACCEPT

$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 111 -j ACCEPT

$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 1024:60000 -j ACCEPT

$IPT -A tcp_inbound -p TCP -j RETURN

$IPT -A tcp_outbound -p TCP -s 0/0 --destination-port 23 -j REJECT

$IPT -A tcp_outbound -p TCP -s 0/0 --destination-port 119 -j REJECT

$IPT -A tcp_outbound -p TCP -s 0/0 -j ACCEPT

###############################################################################

$IPT -A INPUT -p ALL -i $LO_IFACE -j ACCEPT
$IPT -A INPUT -s 192.168.0.0/24 -j ACCEPT
$IPT -A INPUT -s 192.168.0.0/24 -p tcp --dport 53 -j ACCEPT

$IPT -A INPUT -p ALL -j bad_packets

$IPT -A INPUT -p ALL -i $LOCAL_IFACE -s $LOCAL_NET -j ACCEPT
$IPT -A INPUT -p ALL -i $LOCAL_IFACE -d $LOCAL_BCAST -j ACCEPT
$IPT -A INPUT -p UDP -i $LOCAL_IFACE --source-port 68 --destination-port 67 \
     -j ACCEPT

$IPT -A INPUT -p ALL -i $INET_IFACE -m state --state ESTABLISHED,RELATED \
     -j ACCEPT
$IPT -A INPUT -p TCP -i $INET_IFACE -j tcp_inbound
$IPT -A INPUT -p UDP -i $INET_IFACE -j udp_inbound
$IPT -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets

#$IPT -A INPUT -m pkttype --pkt-type broadcast -j DROP

#$IPT -A INPUT -j LOG --log-prefix "fp=INPUT:99 a=DROP "

###############################################################################

$IPT -A FORWARD -p ALL -j bad_packets

$IPT -A FORWARD -p tcp -i $LOCAL_IFACE -j tcp_outbound

$IPT -A FORWARD -p udp -i $LOCAL_IFACE -j udp_outbound

$IPT -A FORWARD -p ALL -i $LOCAL_IFACE -j ACCEPT

$IPT -A FORWARD -i $INET_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT

#$IPT -A FORWARD -j LOG --log-prefix "fp=FORWARD:99 a=DROP "

###############################################################################
$IPT -A OUTPUT -p tcp -d 192.168.0.0/24 --dport 53 -j ACCEPT
$IPT -A OUTPUT -m state -p icmp --state INVALID -j DROP
$IPT -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
$IPT -A OUTPUT -p ALL -o $LO_IFACE -j ACCEPT
$IPT -A OUTPUT -p ALL -s $LOCAL_IP -j ACCEPT
$IPT -A OUTPUT -p ALL -o $LOCAL_IFACE -j ACCEPT
$IPT -A OUTPUT -p ALL -o $INET_IFACE -j ACCEPT
$IPT -A OUTPUT -j LOG --log-prefix "fp=OUTPUT:99 a=DROP "

###############################################################################
# PREROUTING chain

$IPT -t nat -A PREROUTING -p tcp --destination-port 80 \
     -j REDIRECT --to-ports 3128

###############################################################################

$IPT -t nat -A POSTROUTING -o $INET_IFACE \
     -j SNAT --to-source $INET_ADDRESS
$IPT -t nat -A POSTROUTING -o $LOCAL_IFACE \
     -j SNAT --to-source $INET_ADDRESS



разобрался :)
прокся еще не настроена а 80 порт уже редиректится на 3128 :D
Спасибо сказали: