Войти

Показать полную графическую версию : Iptables + Squid


Napasick
07-02-2007, 11:01
Помогите с настройкой правил iptables

Есть сервак который непостредственно смотрит в инет. На нем установлен Сквид.
При настройке iptables имею проблему - странички через прокси очень долго грузяться и в конце имею сообщение что превышен таймаут соединения. В логах cквида пишется TCP_MISS/504 и TCP_DENIED/403. При отключеном фаерволе все работает.

Вот часть скрипта (eth1 внешний интерфейс). Не судите строго это первый опыт работы с iptables. Подскажите хотябы куда копать или что я делаю не так. (Кроме сквида обязательно нужен НАТ).

iptables -A OUTPUT -j ACCEPT

############localhost############################
iptables -A INPUT -d 127.0.0.1 -j ACCEPT
iptables -A OUTPUT -s 127.0.0.1 -j ACCEPT
##################################################

######################DNS##########################
iptables -A INPUT -p tcp --sport 53 -j ACCEPT
iptables -A FORWARD -p tcp --sport 53 -j ACCEPT
iptables -A FORWARD -p tcp --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A FORWARD -p udp --sport 53 -j ACCEPT
iptables -A FORWARD -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
####################################################

#####################squid#########################
iptables -A INPUT -p tcp --dport 3128 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 3128 -j ACCEPT
iptables -A FORWARD -p tcp --dport 3128 -j ACCEPT
###################################################

#######################HTTP#########################
iptables -A INPUT -i eth1 -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -o eth1 -p tcp --sport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 80 -j ACCEPT
iptables -A FORWARD -p tcp --dport 80 -j ACCEPT
####################################################

iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

fossil
07-02-2007, 19:44
У меня трафик на сквид заворачивается так:
$IPTABLES -t nat -A PREROUTING -i ppp+ -p TCP --source 192.168.4.0/24 --dport 80 -j DNAT --to-destination 10.2.0.11:3129

Napasick
08-02-2007, 10:15
Мне не надо заворачивать трафик с локалки на сквид.
При включенном фаерволе я не могу получить через Сквид странички, получаю страничку с ответом сквида что страница не может быть загружена по таймауту. Тоесть насколько я понимаю не прописано какоето разрешающее правило.....

ColdZero
10-02-2007, 20:54
Napasick
а зачем вы используете MASQUERADE ???
с ним есть ряд проблем...его используют только в определенных случаях.
Не проще ли просто использовать SNAT ???

что-то вроде этого:

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source IP_внешний(ip вашей сетевухи, смотрящей в инет)

И да пребудет с вами благодать!!!




© OSzone.net 2001-2012