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

Исходное сообщение
"Как заставить шлюз лазить через прозрачный Squid в debian"

Отправлено slaveofmoney , 29-Мрт-10 16:30 
Стоит Debian Lenny 5.04
Squid 2.7

ifconfig
#локальный фейс
eth0      Link encap:Ethernet  HWaddr 00:1b:b9:f1:dc:93
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::21b:b9ff:fef1:dc93/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:260342 errors:0 dropped:0 overruns:0 frame:0
          TX packets:285627 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:22781376 (21.7 MiB)  TX bytes:196004246 (186.9 MiB)
          Interrupt:252 Base address:0x2000
#смотрит в нет
eth1      Link encap:Ethernet  HWaddr 00:40:f4:cf:65:b7
          inet addr:192.168.0.2  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::240:f4ff:fecf:65b7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:279747 errors:0 dropped:0 overruns:0 frame:0
          TX packets:259991 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:195549222 (186.4 MiB)  TX bytes:22102679 (21.0 MiB)
          Interrupt:19 Base address:0xc00

/etc/squid/squid.conf
http_port 192.168.0.2:3128 transparent
cache_dir ufs /home/squid-cache 2048 16 256
maximum_object_size 65536 KB
acl all src all
acl home src 192.168.1.0/24
http_access allow home
http_access deny all
access_log /var/log/squid/access.log squid

включаем nat в сетку и заворачиваем http на squid через iptables
#!/bin/sh
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 192.168.0.2
iptables -t nat -A PREROUTING -i eth0 -d ! 192.168.1.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.0.2:3128

Все клиенты из 192.168.1.0/24 прекрасно сидят в инете через squid (очень важно кеширование http), но тем не менее сам шлюз с графической оболочкой сидит напрямую, принудительно указывать ему в браузере прокси и для bash/apt делать export http_proxy
как то не кузяво (при этом браузер еще и заметно подтормаживает при запросах, в плане отклика). Как настроить прозрачное проксирование и для самого шлюза, чтобы не париться с настройкой проксей на шлюзе?

Заранее спасибо за ответы.

                             [ Прочитано 4 строки ]
^G Помощь    ^O Записать  ^R ЧитФайл   ^Y ПредCтр   ^K Вырезать  ^C ТекПозиц
^X Выход     ^J Выровнять ^W Поиск     ^V СледCтр   ^U ОтмВырезк ^T Словарь


Содержание

Сообщения в этом обсуждении
"Как заставить шлюз лазить через прозрачный Squid в debian"
Отправлено reader , 29-Мрт-10 23:32 

>/etc/squid/squid.conf
>http_port 192.168.0.2:3128 transparent

добавить:
http_port 127.0.0.1:3128 transparent

acl me src 192.168.0.2 ( внешний IP )
http_access allow me


>включаем nat в сетку и заворачиваем http на squid через iptables
>#!/bin/sh
>echo "1" > /proc/sys/net/ipv4/ip_forward
>iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 192.168.0.2
>iptables -t nat -A PREROUTING -i eth0 -d ! 192.168.1.0/24 -p tcp
>-m multiport --dport 80,8080 -j DNAT --to 192.168.0.2:3128

iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner squid (от кого запущен squid) -j ACCEPT
iptables -t nat -A OUTPUT -p tcp -m multiport --dports 80,8000:8088,3128 -j DNAT --to-destination 127.0.0.1:3128

примерно так


"Как заставить шлюз лазить через прозрачный Squid в debian"
Отправлено slaveofmoney , 30-Мрт-10 09:07 
>[оверквотинг удален]
>>iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 192.168.0.2
>>iptables -t nat -A PREROUTING -i eth0 -d ! 192.168.1.0/24 -p tcp
>>-m multiport --dport 80,8080 -j DNAT --to 192.168.0.2:3128
>
>iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner squid (от
>кого запущен squid) -j ACCEPT
>iptables -t nat -A OUTPUT -p tcp -m multiport --dports 80,8000:8088,3128 -j
>DNAT --to-destination 127.0.0.1:3128
>
>примерно так

спасибо помогло