LINUX.ORG.RU
ФорумAdmin

вроде работает и вроде нет (squid)


0

0

Стоит сквид, иптаблез все закрыто кроме 22, 53 и 8080 порта. Стоит аутентификация через НЦСА. Значит при попытке выхода - выскакивает окно пароль/логин, все ввожу (все правильно), и все... На этом все заканчивается... У эксплорера внизу ползет строчка типа загружается, но нифига. А потом страничка стандартная виндовская, как будто днс отвалились... В чем может быть поблема?

Отрубаю файерволл, пытаюсь отрыть страничку - опять ничего.
делаю рестарт сквиду и все пахает (с отрубленным файерволлом). Включаю файерволл, делаю рестарт сквиду, сквид выключается, но не включается!!

Была такая фигня. Сквид не врубался со включенным файрволлом.

И знаешь когда включился? Когда я:

a) Открыл порт для локальной машины на ввод и вывод 3128 б) Воткнул туда PREROUTING с портов 80, 8080, 8081 и т.п. (блин, тачка погашена, так навскидку больше не назову) После чего был сделан рестарт сквиду.

Далее - если ты не откроешь на --dport цепочку OUTPUT и на INPUT не поставишь ESTABLISHED,RELATED, ты не сможешь смотреть страницы через сквид.

Также тебе было бы неплохо открыть 53 и 42 порты, иначе не получишь адреса по имени. Ну и, наконец, форвардинг ip адресов жизненно необходимо включить.

jackill ★★★★★
()
Ответ на: комментарий от jackill

Под "локальной машиной" имелся ввиду lo на сервере.

jackill ★★★★★
()
Ответ на: комментарий от Benjamin

Тогда
netstat -nlp|grep squid
iptables -L -nv
iptables -t nat -L -nv
в студию !

2 jackill:
> было бы неплохо открыть 53 и 42 порты
а 42 зачем ??? Никогда не открывал, тем не менее все работает.

> форвардинг ip адресов жизненно необходимо включить.
Абсолютно не согласен :-) К squid-у пришло (INPUT), от squid-а ушло (OUTPUT) - где здесь forward ???

> б) Воткнул туда PREROUTING
Эээ, батенька, так у вас он похоже в прозрачном режиме работает, а человеку нужно в обычном, поэтому DNAT и REDIRECT отменяются. А в обычном - потому как basic/digest авторизация не работает в прозрачном режиме.

spirit ★★★★★
()
Ответ на: комментарий от spirit

По нетстату с фильтрацией по сквиду - ничего не светиться. Но на 8080 порту он слушает интерфейс смотрящий в локалку.


Вот что говорит "iptables -L -nv":

[root@gateway root]# iptables -L -nv
Chain INPUT (policy ACCEPT 68760 packets, 27M bytes)
pkts bytes target prot opt in out source destination

Chain FORWARD (policy DROP 1234 packets, 64074 bytes)
pkts bytes target prot opt in out source destination
15 1535 ACCEPT all -- eth1 * 192.168.0.39 0.0.0.0/0
13 884 ACCEPT all -- eth0 * 0.0.0.0/0 192.168.0.39

Chain OUTPUT (policy ACCEPT 66655 packets, 28M bytes)
pkts bytes target prot opt in out source destination
[root@gateway root]#



И вот что говорит "iptables -t nat -L -nv":

[root@gateway root]# iptables -t nat -L -nv
Chain PREROUTING (policy ACCEPT 95874 packets, 10M bytes)
pkts bytes target prot opt in out source destination

Chain POSTROUTING (policy ACCEPT 2731 packets, 164K bytes)
pkts bytes target prot opt in out source destination
7 408 MASQUERADE all -- * eth0 192.168.0.39 194.154.72.35

Chain OUTPUT (policy ACCEPT 2682 packets, 161K bytes)
pkts bytes target prot opt in out source destination
[root@gateway root]#

Benjamin
() автор топика
Ответ на: комментарий от spirit

И вот какая конфигурация файреволла по умлочанию:

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

iptables -F
iptables -t nat -F

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

iptables -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -p icmp -s 0/0 --icmp-type 8 -j ACCEPT
iptables -A INPUT -p icmp -s 0/0 --icmp-type 11 -j ACCEPT

iptables -A INPUT -p tcp -s 0/0 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -i eth1 --dport 80 -j ACCEPT

iptables -A INPUT -i eth1 -p tcp --dport 8080 -j ACCEPT
iptables -A INPUT --i eth1 -p udp --dport 8080 -j ACCEPT

iptables -A INPUT -i eth1 -p tcp --dport 445 -j ACCEPT
iptables -A INPUT -i eth1 -p udp --dport 445 -j ACCEPT

iptables -A INPUT -i eth1 -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -i eth1 -p udp --dport 53 -j ACCEPT

Benjamin
() автор топика
Ответ на: комментарий от Benjamin

> ничего не светиться
Из-под root-а netstat запускали ?

> И вот какая конфигурация файреволла по умлочанию
Интересно как-то: в ядре правила одни, а в скрипте другие... Вы его запускаете при необходимости ? :-)
Да, а на INPUT по умолчанию DROP я бы не рекомендовал ставить, т.к. squid (да и любой другой процесс) не сможет связаться с локальным DNS (или любым другим процессом). Вот и получается ожидание неизвестно чего с вылетом по timeout-у. Хотя все еще зависит от содержимого /etc/resolv.conf. Какой там nameserver стоит, не 127.0.0.1 случайно ?
Попробуйте в firewall-скрипте добавить такое:
iptables -I INPUT -i lo -j ACCEPT
Да и для icmp пакетов тоже не мешало бы расширить диапазон, иначе squid долго будет ломиться на сервера, для которых приходит ответ "Host Unreachable".

> Включаю файерволл, делаю рестарт сквиду, сквид выключается, но не включается!!
Он у вас без опции "-D" стартует ? Тогда вполне возможно.

spirit ★★★★★
()
Ответ на: комментарий от spirit

1. Нетстат из под рута. Только 8080 и все.
2. Ммм, по умолчанию файерволл отключен, эти настройки активизирует батник в rc.d
2.1. Нет. В резолве прописаны ДНСы провайдера.
2.3. А что значит "расширить диапазон" для ICMP?? Хоть примерно из каких соображений мне надо брать этот прояжуток...?
3. Конечно с -D. Только так и никак иначе.


PS: в понедельник я опробую новую конфигурацию.

Benjamin
() автор топика
Ответ на: комментарий от Benjamin

> В резолве прописаны ДНСы провайдера. ... Конечно с -D.
Тогда ничего не понимаю :-), по идее все должно работать.

spirit ★★★★★
()
Ответ на: комментарий от spirit

Вот и я говорю. Ничего не понятно. При том, что я уже года 4 не имел проблем со сквидом и тут на тебе...

Benjamin
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.