Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по Linux (http://forum.oszone.net/forumdisplay.php?f=9)
-   -   Как завернуть траффик... (http://forum.oszone.net/showthread.php?t=74677)

zelo 16-11-2006 10:37 512455

Как завернуть траффик...
 
Есть локалка выведенная в инет через NAT, на шлюзе стоит кэширующий SQUID. Не охота перенастраивать всех клиентов на использование PROXY ибо их великое множество. Можно ли используя IPTABLES завернуть весь трафик исходящий на порт 80 на SQUID?
...заранее сапиБо.

[mzd] 16-11-2006 10:51 512470

Учитесь пользоваться поиском Google
http://www.opennet.ru/docs/RUS/iptables/ - полное руководство по IPTABLES
http://www.opennet.ru/docs/RUS/iptables/#REDIRECTTARGET - перенаправление тарфика

zelo 16-11-2006 11:01 512480

Цитата:

http://www.opennet.ru/docs/RUS/iptables/#REDIRECTTARGET - перенаправление тарфика
Огроменное спасиБо

zelo 16-11-2006 11:23 512494

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080 --to-destination 192.168.2.233
где 192.168.2.233 - ип прокси
говорит Unknown arg --to-destination
что делать? как бысть?

BuGfiX 16-11-2006 12:07 512524

zelo, с помощью -j REDIRECT вы можете завернуть траффик только на ту же самую машину, но на другой (другие) порт с помощью параметра --to-ports. Параметр --to-destination здесь неприменим.
Возможно вам поможет DNAT.

zelo 16-11-2006 13:10 512571

Сделал сие:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-ports 8080 --to-destination 192.168.2.233
Теперь при заходе на любой сайт браузер выдаёт страничку, которую он выдавал прежде при прямом подключении на порт прокси т.е. (http://192.168.2.233:8080)
???

BuGfiX 16-11-2006 13:20 512578

Да.. похоже я неправильно понял тему. DNAT работает правильно, но вам, судя по всему нужно не это=)
В общем, чтобы сделать прозрачное проксирование, прокси сервер и шлюз у вас должны располагаться на одной машине. Тогда как раз и получится прием с -j REDIRECT.
Cудя по всему, у вас именно так все и есть, поэтому правило
Код:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
должно работать.

zelo 16-11-2006 13:34 512596

Попробовал и
Цитата:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
Результат прежний: всегда выводит страничку которую прокси посылает при прямом подключении браузером на его порт.
Итог:
Из всех вышепроделанных экспериментов я понял то что перенаправление 80-го порта на порт 8080 (прокси) происходит, но не понятно почему на этом дело заканчивается, почему прокси не обрабатывает этот запрос, а выводит лишь:
> ERROR
> The requested URL could not be retrieved
???

BuGfiX 16-11-2006 13:57 512628

Возможно у вас неправильно настроен squid.
Убедитесь что в нем есть следующие строчки:
Код:

  httpd_accel_host virtual
  httpd_accel_port 80
  httpd_accel_with_proxy on
  httpd_accel_uses_host_header on


zelo 16-11-2006 14:14 512645

всё верно, были эти строки я лишь с портами напутал (указал 80, а перенаправлял на 8080) всё заработало
...всем огроменное спасиБо (особо BuGfix`у)


Время: 16:41.

Время: 16:41.
© OSzone.net 2001-