LinuxForum.Fans
Тема

Прозрачный Squid

Автор: stAH 9 сообщений 1994 просмотров
#267691

Хочу сразу сказать, что поиском пользовался и насколько смог всё обдумал - не помогло.Поэтому и пишу...

Есть у меня нужда в прозрачном проксировании.
Поставил и настроил(минимально) не прозрачный Squid на Debian.
Дописал http_port 3128 transparent и попытался завернуть порт

text
iptables -t nat -A PREROUTING -p tcp -m multiport --dport 80,443 -j REDIRECT --to-port 3128

И как уже понятно, не заработало. Squid функционирует только при явном указании браузеру и др. программам.
Подскажите, где я туплю.

Вот информация по используемым версиям:

Показать
root@gateway:
/home/stah#
uname -a
Linux gateway 2.6.32-5-amd64 #1 SMP Sun May 6 04:00:17 UTC 2012 x86_64 GNU/Linux
root@gateway:
/home/stah#
squid3 -v
Squid Cache: Version 3.1.6

/etc/squid3/squid.conf как и говорил - минимал

Показать
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1

acl localnet src 192.168.0.0/24 # RFC1918 possible internal network

acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT

http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow localnet
http_access deny all

http_port 3128 transparent

hierarchy_stoplist cgi-bin ?

coredump_dir /var/spool/squid3

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320

Кстати, насчет сетевых интерфейсов.... Через eth0 поднимается ppp0(само-собой внешний), eth1 - внутренний.

#267734

Вы уверенны, что это правильно прменять в REDIRECT? -m multiport --dport 80,443

#267764

CyberDaemon, если честно...
относительно iptables у меня опыт только "открыть\закрыть", а на "пробросить" полагался на гугл(
Та версия проброса, которую я представил просто одна из многих, которые я пробовал

#267811
stAH написал:
text
iptables -t nat -A PREROUTING -p tcp -m multiport --dport 80,443 -j REDIRECT --to-port 3128

Во первых, 443-й порт - это https, то есть как правило зашифрованный бровсером трафик. Как его собираемся сквидить? Это же криптограмма!!!! Так что https (443) - надо пускать прямо на FORWARD.
Во вторых - не понятно, что именно пытаемся явно указывать клиентским бровсерам...
В третьих - в приведенной записи не хватает одной буквы. Отгадай какой :-) Чисто по грамматике супостатского языка...
И последнее - я бы дополнил это правило явным указанием интерфейса, уткуда надо http-трафик на сквид заворачивать.

#267874

Cruiser78,
1,4 - Понял-учтем.
2 - Хотел чтоб ничего не указывать, а работает только когда на клиенте укажешь адрес:порт для прокси
3 - Эм))).... "--dports"?


Вот новый вариант:

text
iptables -t nat -A PREROUTING ! -d 192.168.0.1/24 -i eth1 -p tcp --dport 80 -j DNAT --to-destanation 192.168.0.1/3128

Вечером доберусь до проверки.

#267914

`111111111

stAH написал:
CyberDaemon, если честно...
относительно iptables у меня опыт только "открыть\закрыть", а на "пробросить" полагался на гугл(
Та версия проброса, которую я представил просто одна из многих, которые я пробовал

Так прочитайте iptables tutorial, там да же пример есть.

#267962

Так, отчитываюсь)... Цель достигнута!) Спасибо всем кто отозвался!

"CyberDaemon" написал:
Так прочитайте iptables tutorial, там да же пример есть.

Если вы про подобый, то это моя "настольная закладка", если так можно сказать. Её и грызу.

#268052
stAH написал:
Так, отчитываюсь)... Цель достигнута!) Спасибо всем кто отозвался!
[quote="CyberDaemon"]Так прочитайте iptables tutorial, там да же пример есть.

Если вы про подобый, то это моя "настольная закладка", если так можно сказать. Её и грызу.[/quote]
Для 80-го порта получилось? Теперь точно такое правило сделайте для 443 порта и Ваша цель будет достигнута полностью.

#268104

CyberDaemon, ага. Дома всё как и хотелось работает.
Вот только отпуск сегодна начался)... Теперь дождусь окончания и на работе сделаю.

Войдите или зарегистрируйтесь, чтобы ответить.