возвращаюсь с вопросами =) всем кто тут помогает большое спасибо за терпение и возню с нами (новичками).
настроил sams, squid, ntlm, samba. юзеры берутся в squid из ад нормально, но когда начал все проверять заметил что через squid совсем не идет трафик, начинаю ковырять iptables т.к. понимаю что все идет через него, но что то у меня опять не очень получается, или работает прозрачно в обход squid или совсем не работает.
правило есть для squid, но что то все равно не так.
$IPT -t nat -A PREROUTING -i $INET_IFACE ! -d 192.168.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to-destination 192.168.0.8:3128
ниже выкладываю свои правила для iptables, очень прошу посмотреть и подсказать что мне нужно убрать чтобы трафик пошел через squid?
#!/bin/sh
# Задаем некоторые переменные:
# Переменная, задающая путь к файлу запуска iptables.
IPT="/sbin/iptables"
# Ваш сетевой интерфейс. Это нужно, чтобы не писать в правилах одно и тоже.
INET_IFACE="eth1"
LOC_FACE="eth0"
# Номера непривилегированных портов
UNPRIPORTS="1024:65535"
start_fw()
{
# Включить перенаправление пакетов через ядро.
echo 1 > /proc/sys/net/ipv4/ip_forward
# Сбросить правила и удалить цепочки.
$IPT -t nat -F PREROUTING # На всякий случай очистим цепочку PREROUTING таблицы nat
$IPT -F FORWARD # На всякий случай очистим цепочку FORWARD
# На всякий случай очистим цепочку POSTROUTING таблицы nat
$IPT -t nat -F POSTROUTING
#добавление
# $IPT -P INPUT DROP
# $IPT -P FORWARD ACCEPT
# $IPT -P OUTPUT DROP
$IPT -P FORWARD DROP
# Разрешаем прохождение любого трафика по интерфейсу обратной петли.
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
# Отбрасывать все пакеты, которые не могут быть идентифицированы и поэтому не могут иметь определенного статуса.
$IPT -A INPUT -m state --state INVALID -j DROP
$IPT -A FORWARD -m state --state INVALID -j DROP
# Разрешаем проходить пакетам по уже установленным соединениям
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A PREROUTING -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
$IPT -A FORWARD -m conntrack --ctstate NEW -i $LOC_FACE -s 192.168.0.0/24 -j ACCEPT
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 6000:6063 -j DROP --syn
# DNS сервер имен разрешаем.
$IPT -A OUTPUT -p udp -m udp -o $INET_IFACE --dport 53 --sport $UNPRIPORTS -j ACCEPT
$IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 53 --sport $UNPRIPORTS -j ACCEPT
$IPT -A INPUT -p udp -m udp -i $INET_IFACE --dport $UNPRIPORTS --sport 53 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 1024:65353 --sport 53 -j ACCEPT
# Открываем некоторые порты:
# SMTP клиент (25)
$IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 25 --sport $UNPRIPORTS -j ACCEPT
$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 25 -j ACCEPT ! --syn
# POP3 клиент (110)
$IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 110 --sport $UNPRIPORTS -j ACCEPT
$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 110 -j ACCEPT ! --syn
# IMAP4 клиент (143)
$IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 143 --sport $UNPRIPORTS -j ACCEPT
$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 143 -j ACCEPT ! --syn
# SSH клиент (22)
$IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 22 --sport $UNPRIPORTS -j ACCEPT
$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 22 -j ACCEPT ! --syn
$IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 22 --sport 1020:1023 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 1020:1023 --sport 22 -j ACCEPT ! --syn
# FPT клиент (21)
$IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 21 --sport $UNPRIPORTS -j ACCEPT
$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 21 -j ACCEPT ! --syn
# HTTP/HTTPS клиент (80, 443)
# $IPT -A OUTPUT -p tcp -m tcp -m multiport -o $INET_IFACE --sport $UNPRIPORTS -j ACCEPT --dports 80,443
# $IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE --dport $UNPRIPORTS -j ACCEPT --sports 80,443 ! --syn
# Маскарадим весь трафик, идущий через eth1 (переделал через snat для производительности)
$IPT -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source 83.83.83.83
IPT -t nat -A PREROUTING -p tcp --dport 3389 -i $INET_IFACE -j DNAT --to-destination 192.168.0.50:3389
#добавил для squid
$IPT -t nat -A PREROUTING -i $INET_IFACE ! -d 192.168.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to-destination 192.168.0.8:3128
}
case "$1" in
start) echo -n "Starting firewall: iptables"
start_fw
echo "."
;;
stop) echo -n "Stopping firewall: iptables"
iptables -F
iptables -X
echo "."
;;
save) echo -n "Saving firewall: iptables"
iptables-save > /etc/rules-save
echo "."
;;
restart) echo -n "Restarting firewall: iptables"
iptables -F
iptables -X
cat /etc/rules-save | iptables-restore
echo "."
;;
reload|force-reload) echo -n "Reloading configuration files for firewall: iptables"
echo "."
;;
*) echo "Usage: /etc/init.d/rc.iptables start|stop|restart|reload|force-reload"
exit 1
;;
esac
exit 0
# $IPT -P INPUT DROP
# $IPT -P OUTPUT DROP
закомментированы временно
iptables-save
# Generated by iptables-save v1.4.4 on Mon Jun 20 14:41:53 2011
*filter
:INPUT ACCEPT [3317:253396]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [1749:321888]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state INVALID -j DROP
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --dport 6000:6063 --tcp-flags FIN,SYN,RST,ACK SYN -j DROP
-A INPUT -i eth1 -p udp -m udp --sport 53 --dport 1024:65535 -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --sport 53 --dport 1024:65353 -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --sport 25 --dport 1024:65535 ! --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --sport 110 --dport 1024:65535 ! --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --sport 143 --dport 1024:65535 ! --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --sport 22 --dport 1024:65535 ! --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --sport 22 --dport 1020:1023 ! --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --sport 21 --dport 1024:65535 ! --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -s 192.168.0.0/24 -i eth0 -m conntrack --ctstate NEW -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o eth1 -p udp -m udp --sport 1024:65535 --dport 53 -j ACCEPT
-A OUTPUT -o eth1 -p tcp -m tcp --sport 1024:65535 --dport 53 -j ACCEPT
-A OUTPUT -o eth1 -p tcp -m tcp --sport 1024:65535 --dport 25 -j ACCEPT
-A OUTPUT -o eth1 -p tcp -m tcp --sport 1024:65535 --dport 110 -j ACCEPT
-A OUTPUT -o eth1 -p tcp -m tcp --sport 1024:65535 --dport 143 -j ACCEPT
-A OUTPUT -o eth1 -p tcp -m tcp --sport 1024:65535 --dport 22 -j ACCEPT
-A OUTPUT -o eth1 -p tcp -m tcp --sport 1020:1023 --dport 22 -j ACCEPT
-A OUTPUT -o eth1 -p tcp -m tcp --sport 1024:65535 --dport 21 -j ACCEPT
COMMIT
# Completed on Mon Jun 20 14:41:53 2011
# Generated by iptables-save v1.4.4 on Mon Jun 20 14:41:53 2011
*nat
:PREROUTING ACCEPT [651:77756]
:OUTPUT ACCEPT [714:61988]
:POSTROUTING ACCEPT [514:45637]
-A PREROUTING ! -d 192.168.0.0/24 -i eth1 -p tcp -m multiport --dports 80,8080 -j DNAT --to-destination 192.168.0.8:3128
-A POSTROUTING -o eth1 -j SNAT --to-source 83.83.83.83
COMMIT
# Completed on Mon Jun 20 14:41:53 2011