URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 3601
[ Назад ]

Исходное сообщение
"Помогите IPTABLES+SQUID, прозрачный не работает ! ;((("

Отправлено SselemaN , 14-Окт-05 21:42 
Прокси 192.168.80.1:8080 eth1
выход в инет через eth0 далее роутер, после него (чужой - не я админю) прокси с портом 3128

Настроил SQUID как:

http_port 8080
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

cache_peer xx.xx.xxx.xxx parent 3128 0 no-query default
dns_nameservers xx.xx.xxx.xxx

У меня он каскадный к родительскому прокси!

+++++ IPTABLES
iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-port 8080

И нихрена не пашет.
Когда я настраиваю на клиентской машине прокси:
192.168.80.1:8080 - работает !
192.168.80.1:80 - тоже работает !!!
Но если ставлю шлюз 192.168.80.1 и убираю настройки прокси и IE - тогда ХРЕН!


tcpdump - ом смотрю - у меня от клиента на eth1 какие-то UDP пакеты на 192.168.80.255:137 приходят, а TCP пакетов на порт 80 чего-то и нет !?!?!?


Люди добрые, помогите, затрахался, бьюсь уже с полмесяца, у жены и месячные-то уже кончились...


Содержание

Сообщения в этом обсуждении
"Помогите IPTABLES+SQUID, прозрачный не работает ! ;((("
Отправлено xmorpheusx , 15-Окт-05 15:35 
>Прокси 192.168.80.1:8080 eth1
>выход в инет через eth0 далее роутер, после него (чужой - не
>я админю) прокси с портом 3128
>
>Настроил SQUID как:
>
>http_port 8080
>httpd_accel_host virtual
>httpd_accel_port 80
>httpd_accel_with_proxy on
>httpd_accel_uses_host_header on
>
>cache_peer xx.xx.xxx.xxx parent 3128 0 no-query default
>dns_nameservers xx.xx.xxx.xxx
>
>У меня он каскадный к родительскому прокси!
>
>+++++ IPTABLES
>iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-port
>8080

А сюда добавить 192.168.80.1 слабо?? Ты редиректишь на 8080, а на КАКОЙ ИП указывать НЕНАДО????

iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT 192.168.80.1 --to-port 8080

>
>И нихрена не пашет.
>Когда я настраиваю на клиентской машине прокси:
>192.168.80.1:8080 - работает !
>192.168.80.1:80 - тоже работает !!!
>Но если ставлю шлюз 192.168.80.1 и убираю настройки прокси и IE -
>тогда ХРЕН!
>
>
>tcpdump - ом смотрю - у меня от клиента на eth1 какие-то
>UDP пакеты на 192.168.80.255:137 приходят, а TCP пакетов на порт 80
>чего-то и нет !?!?!?
>
>
>Люди добрые, помогите, затрахался, бьюсь уже с полмесяца, у жены и месячные-то
>уже кончились...



"Помогите IPTABLES+SQUID, прозрачный не работает ! ;((("
Отправлено SselemaN , 22-Окт-05 21:29 
Нет не надо даже если и указывать, то такая же фигня

"Помогите IPTABLES+SQUID, прозрачный не работает ! ;((("
Отправлено SselemaN , 22-Окт-05 21:40 
я связываюсь с www.osu.ru - 62.76.152.218
и пишу запрос http://62.76.152.218
(Я так сделал, чтобы не задействовать ДНС - на всякий случАй)
Если я явно задаю в IE свой прокси и порт 80 - то ПРОИСХОДИТ redirect с порта 80 на порт 8080(где слушает squid) и все OK. Он пишет в строке состояния, что связался с www.osu.ru.
!!!!!!!!!!!!!!!!!!!!!!!
Но если у меня нет настроек в IE, а только шлюз, то ХРЕН!

iptables сейчас такие
IPTABLES -A PREROUTING -t nat -p tcp -s 192.168.0.0/16 -d 192.168.80.1 --dport 80 -j REDIRECT --to-port 8080


"Помогите IPTABLES+SQUID, прозрачный не работает ! ;((("
Отправлено SselemaN , 22-Окт-05 21:45 
Причем порт SQUID-а менять тоже пробовал и 3128 и 80, естественно, с соответствующими изменениями в IPTABLES

"Помогите IPTABLES+SQUID, прозрачный не работает ! ;((("
Отправлено Андрей Слободяник , 23-Окт-05 00:39 
Готового рецепта не скажу, не соображу, но прокомментирую дискусию.

>+++++ IPTABLES
>iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-port 8080
Если бы не было родительского прокси, то такая конструкция не работала бы, так как заворачивались бы исходящие пакеты от прокси к веб-сайтам. Но обращаться к родительскому прокси она не мешает.

>tcpdump - ом смотрю - у меня от клиента на eth1 какие-то UDP пакеты на >192.168.80.255:137 приходят, а TCP пакетов на порт 80 чего-то и нет
Это броадкасты виндовых машин на тему smb-сети.

>IPTABLES -A PREROUTING -t nat -p tcp -s 192.168.0.0/16 -d 192.168.80.1 --dport 80 -j REDIRECT --to-port 8080

Неправильная конструкция. При прозрачном проксировании, пакет от клиента в source имеет свой ip-адрес, а в destionation - ip-адрес веб-сервера, к которому обращается браузер, и никак не 192.168.80.1

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

iptables -t nat -A PREROUTING -i eth1 -s 192.168.0.0/16 -p tcp --dport 80 -j REDIRECT --to-port 3128

Также хорошо бы запостить сюда дополнительную информацию:
1. Все ли нормально с default gateway, т.е. : с какого ip-адреса идет обращение к прокси.
2. Что ещё в iptables?
3. squid.conf без комментариев, на всякий пожарный.