Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Прозрачный squid  (Прочитано 10328 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Sollomon

  • Автор темы
  • Участник
  • *
  • Сообщений: 230
    • Просмотр профиля
Прозрачный squid
« : 30 Декабря 2010, 13:42:48 »
Вроде как бы все правильно делаю.
С полпинка поднялся свид, ipserver:3128 в браузере прописываю - усе гуд работает.
Теперь хотел бы сделать прозрачным его, с помощью iptables, вроде и там ничего то сложно - редиректим 80 и 8080 порт на 3128.

iptables -t nat -A PREROUTING -i vlan20 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i vlan20 -p tcp --dport 8080 -j REDIRECT --to-port 3128

Vlan20 - интерфейс смотрящий на юзеров.
Vlan21 - смотрящий в инэт.

ifconfig
(Нажмите, чтобы показать/скрыть)

iptables
(Нажмите, чтобы показать/скрыть)

Ткните носом где что пропустил.
« Последнее редактирование: 30 Декабря 2010, 13:44:27 от Sollomon »

Оффлайн Romon

  • Участник
  • *
  • Сообщений: 216
  • destructive creation
    • Просмотр профиля
Re: Прозрачный squid
« Ответ #1 : 30 Декабря 2010, 14:00:19 »
А в настройках squid'a указали режим работы transparate?

И вправду попутал что-то в предверии Н.Г =) transparent
« Последнее редактирование: 30 Декабря 2010, 14:15:29 от Romon »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13763
    • Просмотр профиля
Re: Прозрачный squid
« Ответ #2 : 30 Декабря 2010, 14:02:59 »
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  0.0.0.0/0            0.0.0.0/0
Жестокое правило

Оффлайн Unreg

  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ
Re: Прозрачный squid
« Ответ #3 : 30 Декабря 2010, 14:09:47 »
$ grep transparent /etc/squid/squid.conf

Оффлайн Sollomon

  • Автор темы
  • Участник
  • *
  • Сообщений: 230
    • Просмотр профиля
Re: Прозрачный squid
« Ответ #4 : 30 Декабря 2010, 14:32:07 »
$ grep transparent /etc/squid/squid.conf

proxy:/home/sollomon# grep transparent /etc/squid/squid.conf
#       WARNING: authentication can't be used in a transparently intercepting
#       transparently intercepting port 80, not a limitation in Squid.
#         # NOTE: proxy_auth can't be used in a transparent proxy as
#          transparent  Support for transparent interception of
http_port 3128 transparent
#       Pack 1 has an issue with transparent proxies, wherein it
#       In many setups of transparently intercepting proxies Path-MTU

По маскарадингу - это только пока наработка фаервола, никто ж не собирается оставлять такую дыру.
По умолчанию политика будет Дроп, а там буду разрешать, что мне нужно.

Оффлайн Romon

  • Участник
  • *
  • Сообщений: 216
  • destructive creation
    • Просмотр профиля
Re: Прозрачный squid
« Ответ #5 : 30 Декабря 2010, 14:51:56 »
Мне кажется что редиректить нужно через DNAT --to-destination IP:3128


Оффлайн Sollomon

  • Автор темы
  • Участник
  • *
  • Сообщений: 230
    • Просмотр профиля
Re: Прозрачный squid
« Ответ #6 : 30 Декабря 2010, 14:59:48 »
Забыл еще приложить, вот что браузер говорит, когда делаю редирект через iptables, как я в первом посте написал.

(Нажмите, чтобы показать/скрыть)

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13763
    • Просмотр профиля
Re: Прозрачный squid
« Ответ #7 : 30 Декабря 2010, 15:02:27 »

Оффлайн Romon

  • Участник
  • *
  • Сообщений: 216
  • destructive creation
    • Просмотр профиля
Re: Прозрачный squid
« Ответ #8 : 30 Декабря 2010, 15:03:43 »
squid не понимает че эт ему шлют пакеты, которые ему не предназначены, вот и ругается.

Оффлайн Unreg

  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ
Re: Прозрачный squid
« Ответ #9 : 30 Декабря 2010, 15:19:42 »
# Generated by iptables-save v1.4.2 on Thu Dec 30 15:11:39 2010
*raw
:PREROUTING ACCEPT [30628029:18446756928]
:OUTPUT ACCEPT [6017228:7544908800]
COMMIT
# Completed on Thu Dec 30 15:11:39 2010
# Generated by iptables-save v1.4.2 on Thu Dec 30 15:11:39 2010
*mangle
:PREROUTING ACCEPT [30628028:18446756876]
:INPUT ACCEPT [8505645:5378631261]
:FORWARD ACCEPT [22025463:13053884181]
:OUTPUT ACCEPT [6017228:7544908800]
:POSTROUTING ACCEPT [28039515:20593615563]
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
COMMIT
# Completed on Thu Dec 30 15:11:39 2010
# Generated by iptables-save v1.4.2 on Thu Dec 30 15:11:39 2010
*nat
:PREROUTING ACCEPT [333923:27528980]
:POSTROUTING ACCEPT [1043999:59810173]
:OUTPUT ACCEPT [196309:13107241]
-A PREROUTING -s 192.168.0.0 /24 -d ! 192.168.0.0/24 -i vlan20 -p tcp -m multiport --dports 80,8080 -j DNAT --to-destination 192.168.0.100:3128
-A POSTROUTING -s 192.168.0.0/24 -o vlan20 -j MASQUERADE
COMMIT
# Completed on Thu Dec 30 15:11:39 2010
# Generated by iptables-save v1.4.2 on Thu Dec 30 15:11:39 2010
*filter
:INPUT DROP [230:26256]
:FORWARD DROP [7:796]
:OUTPUT ACCEPT [6017254:7544915016]
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -i ! lo -m addrtype --src-type LOCAL -j DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -i vlan21 -p icmp -j ACCEPT
-A INPUT -i vlan21 -p udp -m udp --sport 67 --dport 68 -j ACCEPT
-A INPUT -i vlan21 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i vlan20 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i vlan21 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i vlan20 -m conntrack --ctstate NEW -j ACCEPT
-A FORWARD -m conntrack --ctstate INVALID -j DROP
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.0.0/24 -i vlan20 -m conntrack --ctstate NEW -j ACCEPT
-A FORWARD -m conntrack --ctstate DNAT -j ACCEPT
COMMIT
# Completed on Thu Dec 30 15:11:39 2010
« Последнее редактирование: 31 Декабря 2010, 14:23:25 от Unreg »

Оффлайн Sollomon

  • Автор темы
  • Участник
  • *
  • Сообщений: 230
    • Просмотр профиля
Re: Прозрачный squid
« Ответ #10 : 30 Декабря 2010, 21:24:30 »
Спасибо ребята, буду наверное уже завтра пробовать или через год. )))
В зависимости от завтрешней нагрузки на работе.

А, еще нашел очень прекрасный ресурс по squid'y - http://squid.opennet.ru/
Может кому и сгодиться.

Оффлайн alex_shkut

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: Прозрачный squid
« Ответ #11 : 30 Декабря 2010, 21:32:50 »
Даю намек, если все правильно понял:
Если речь идет о Squid 3, то у меня прекрасно работал новый тег transparent и "древний метод" iptables - REDIRECT --to-port 3128

Оффлайн Romon

  • Участник
  • *
  • Сообщений: 216
  • destructive creation
    • Просмотр профиля
Re: Прозрачный squid
« Ответ #12 : 30 Декабря 2010, 23:20:07 »
По умолчанию идет репозиторий с 2.7, так что скорее всего не 3(squid встал с полтычка). 2.7 squid, transparent + DNAT - работает 100%.

Оффлайн Sollomon

  • Автор темы
  • Участник
  • *
  • Сообщений: 230
    • Просмотр профиля
Re: Прозрачный squid
« Ответ #13 : 31 Декабря 2010, 10:21:39 »
По умолчанию идет репозиторий с 2.7, так что скорее всего не 3(squid встал с полтычка). 2.7 squid, transparent + DNAT - работает 100%.

Агась.
proxy:/home/sollomon# squid -v
Squid Cache: Version 2.7.STABLE3

Может из сырцов собрать 3 версию?


Зы: И не кисло он проц жерет, это еще при том, что народу то на этом серваке то не сидит. )))
3222 proxy     20   0 18292  15m 1716 R 30.6  2.5  25:20.28 squidТоесть 30%
« Последнее редактирование: 31 Декабря 2010, 10:25:51 от Sollomon »

Оффлайн roma333

  • Участник
  • *
  • Сообщений: 206
    • Просмотр профиля
Re: Прозрачный squid
« Ответ #14 : 31 Декабря 2010, 11:21:22 »
Лучше тогда собрать последнюю версию 2.7Stable 9. Чтобы не жрал, можно кеширование отключить.

 

Страница сгенерирована за 0.035 секунд. Запросов: 20.