LINUX.ORG.RU
ФорумAdmin

squid


0

0

Почему, после того, как я убрал http_access allow для всех acl, сабж все равно всех в инет пускает? Доступ делал по ip


Так может они ходят напрямую, а не через SQUID ?

anonymous
()
Ответ на: комментарий от josephson

deny заведены. Но смущает то, что ipchains раскрывает доступ по 80 порту для всех машин локальной сети, а в конце правил ipchains стоит редирект на порт squid 80 порта.

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

Попробуй просто пропустить входной пакет tcp на 80-м порту. В /etc/sysconfig/ipchains - одна строчка по типу:

-A input -i eth0 -p tcp --sport 80 -j ACCEPT

Здесь eth0 смотрит на провайдера. У меня тоже связка squid/ipchains, так вроде работает.

josephson ★★
()

Мне кажется самый простой способ проверить сквида это указать в броузере клиентской машины настройки прокси явный адрес и порт, обычно 3128. Сразу будет видно пускает или не пускает. И еще Вы говорите, что у вас через ipchains открыт 80 порт, а редирект стоит в конце правил. ПРАВИЛА В ipchains ВЫПОЛНЯЮТСЯ В ПОРЯДКЕ ИХ ОБЪЯВЛЕНИЯ. Судя по всему, Ваши пользователи запросто могут ходить прямо в инет, и Ваш редирект вообще не работает.

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

В том-то и дело, что прямо ходить не могут. А в броузере все явно и стоит как вы описываете. ipchains -A output -i $EXTERNAL_INTERFACE -p tcp \ -s $IPADDR $UNPRIVPORTS \ -d $ANYWHERE 80 -j ACCEPT ipchains -A input -i $EXTERNAL_INTERFACE -p tcp ! -y \ -s $ANYWHERE 80 \ -d $IPADDR $UNPRIVPORTS -j ACCEPT Вот как выглядит у меня кусок firewalla. Если это убираю, то никто не ходит в инет.

iluha
() автор топика

Естественно, это внешний интерфейс и ему разрешено видеть хосты на 80 порту, если это убрать, то конечно все отвалится и даже сквид не сможет обратится наружу. У Вас наверняка включен роутинг. Но ведь редирект должен быть на внутреннем интерфейсе, когда броузер пользователя ломится на какой-нибудь хост по 80 порту этот пакет нужно перехватить и направить на порт сквида 3128 на этом-же интерфейсе. Кстати загляните сюда squid.opennet.ru там есть описание прозрачного прокси. А в данной ситуации (если конечно включен роутинг) получается, что если указать конкретный адрес прокси, то пойдет через сквид, а если убрать пойдет напрямую и будет работать минуя ваш прокси.

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

Когда убираю прокси с броузера, перестает пускать. Что тогда нужно указать в брандмауэре, чтобы получилось так, как вы советуете. Кстати статистику squid дает полную по каждому ip.

iluha
() автор топика

> Доступ делал по ip

Ещё один нюанс. А не стоит ли общее правило на маскарад с локальных IP на реальный, что-то типа:

ipchains -A forward -i $EXTERNAL_INTERFACE -p tcp -j MASQ

Я бы делал это только для тех адресов локальной сети, которым нужен досту в Internet, для каждого конкретно:

ipchains -A forward -b -s 192.168.xxx.xxx/255.255.255.255 -p tcp -d 0.0.0.0/0 -j MASQ

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

Когда убираю прокси с броузера, перестает пускать. Что тогда нужно указать в брандмауэре, чтобы получилось так, как вы советуете. Кстати статистику squid дает полную по каждому ip.

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

>стоит вот так: ipchains -A forward -i $EXTERNAL_INTERFACE -s $LAN_1 -j MASQ

Наверное, и будут все ходить. Правило-то одно для всей локальной подсетки без разграничения для клиентов. Попробуй, пропиши набор правил для каждого клиентского IP, кому нужен доступ, как предлагалось выше - посмотришь.

josephson ★★
()

ipchains -A input -p TCP -d any/0 www -j REDIRECT 3128

И еще посмотрите http://squid.opennet.ru в разделе Транспарент прокси там все на русском и очень хорошо описаны настройки squid для этого в частности и вообще разные разности для сквида.

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