The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Как сконфигурировать iptables, чтобы работал и squid"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Как сконфигурировать iptables, чтобы работал и squid"
Сообщение от wagner emailИскать по авторуВ закладки(ok) on 22-Ноя-04, 23:29  (MSK)
Поставил роутер на Линксе 7.2
Как сконфигурировать iptables, чтобы работал и squid
[code]
#!/bin/sh
INET_IP="192.168.0.27"
INET_IFACE="eth1"
INET_BROADCAST="192.168.0.255"

LAN_IP="10.0.0.1"
LAN_IP_RANGE="10.0.0.0/12"
LAN_IFACE="eth0"

LO_IFACE="lo"
LO_IP="127.0.0.1"

IPTABLES="/sbin/iptables"

/sbin/depmod -a

/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state

echo "1" > /proc/sys/net/ipv4/ip_forward

$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP

$IPTABLES -N bad_tcp_packets

$IPTABLES -N allowed
$IPTABLES -N tcp_packets
$IPTABLES -N udp_packets
$IPTABLES -N icmp_packets

$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK \
-m state --state NEW -j REJECT --reject-with tcp-reset
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG \
--log-prefix "New not syn:"
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP

$IPTABLES -A allowed -p TCP --syn -j ACCEPT
$IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A allowed -p TCP -j DROP

$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 21 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 22 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 80 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 113 -j allowed

#$IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port 53 -j ACCEPT
#$IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port 123 -j ACCEPT
$IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port 2074 -j ACCEPT
$IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port 4000 -j ACCEPT
$IPTABLES -A udp_packets -p UDP -i $INET_IFACE -d $INET_BROADCAST \
--destination-port 135:139 -j DROP

$IPTABLES -A udp_packets -p UDP -i $INET_IFACE -d 255.255.255.255 \
--destination-port 67:68 -j DROP

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

$IPTABLES -A INPUT -p tcp -j bad_tcp_packets

$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -s $LAN_IP_RANGE -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LO_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LAN_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $INET_IP -j ACCEPT

$IPTABLES -A INPUT -p UDP -i $LAN_IFACE --dport 67 --sport 68 -j ACCEPT

$IPTABLES -A INPUT -p ALL -d $INET_IP -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets
$IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udp_packets
$IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets

$IPTABLES -A INPUT -i $INET_IFACE -d 224.0.0.0/8 -j DROP

$IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG \
--log-level 7 --log-prefix "IPT INPUT packet died: "

$IPTABLES -A FORWARD -p tcp -j bad_tcp_packets

$IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPTABLES -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG \
--log-level 7 --log-prefix "IPT FORWARD packet died: "

$IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets

$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $INET_IP -j ACCEPT

$IPTABLES -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG \
--log-level 7 --log-prefix "IPT OUTPUT packet died: "

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-ports 3128
iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 3128
[/code]

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Как сконфигурировать iptables, чтобы работал и squid"
Сообщение от Аноним emailИскать по авторуВ закладки on 23-Ноя-04, 01:07  (MSK)
>Поставил роутер на Линксе 7.2
>Как сконфигурировать iptables, чтобы работал и squid
А нафига полный листинг приводить? Все верят, что ты умеешь copy-paste пользоваться
У меня в конфиге за http отвечают несколько строк:
ловим хттп трафик и направляем в сквид
iptables -A FORWARD -p tcp -s $LAN_NET -d $ANY --dport 80 -j REDIRECT --to-ports 3128
если кто-то указал ручками проксю, то тоже пускать
iptables -A INPUT -p tcp -s $LAN_NET --dport 3128 -j ACCEPT
разрешать сквиду отвечать на запросы в локалку
iptables -A OUTPUT -p tcp -d $LAN_NET --sport 3128 -j ACCEPT
разрешать сквиду лазить в инет
iptables -A OUTPUT -o $ext_if -p tcp -d $ANY --dport 80 -j ACCEPT
разрешать из инета только ответы на запросы сквида
iptables -A INPUT -i $ext_if -p tcp -s $ANY --sport 80 -m state --state ESTABLISHED -j ACCEPT

вроде все.
работающего конфига под рукой нет, пишу по памяти, так что если будут огрехи, то ногами не пинать ;)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Как сконфигурировать iptables, чтобы работал и squid"
Сообщение от wagner emailИскать по авторуВ закладки(ok) on 23-Ноя-04, 03:17  (MSK)
>А нафига полный листинг приводить? Все верят, что ты умеешь copy-paste пользоваться

Умею,
спасибо

а вот такая запись, что говорит?
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3128

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Как сконфигурировать iptables, чтобы работал и squid"
Сообщение от compro emailИскать по авторуВ закладки(ok) on 24-Ноя-04, 19:22  (MSK)
>>А нафига полный листинг приводить? Все верят, что ты умеешь copy-paste пользоваться
>
>Умею,
>спасибо
>
>а вот такая запись, что говорит?
>iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports
>3128

это строчка заворачивает все запросы посылаемые 80 порт на порт прокси,
типа "Transparent proxy settings"
с указанием интерфейсов, строчка эта выглядит так
iptables -t nat -A PREROUTING  -i $LANINT -s $LANNET -p tcp --dport  80 -j REDIRECT --to-port $PROXYPORT

где,
LANINT локальный интерфейс
LANNET локальная сеть, например 192.168.1.0/24
PROXYPORT порт, который слушаеть squid

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру