Апр 01 2009

Прозрачный (transparent) прокси сервер Squid(реализация с PF)

В предыдущей статье Transparent (прозрачный) прокси сервер Squid, я описывал его реализацию с применением IPFIREWALL, но если у вас включена в ядре поддержка PF, то настраивать его нужно так.
В первую очередь надо собрать Squid с поддержкой PF:

[X] SQUID_PF             Enable transparent proxying with PF


Если вы уже собрали без поддержки этой опции сборки, нужно сделать следующее:

cd /usr/ports/www/squid/
make config

После этой команды появится диалог настройки, останется запустить сборку и установку:

make FORCE_PKG_REGISTER=yes install clean

Если у вас Squid еще не был установлен, то можно обратиться к моей же статье Настройка прокси сервера Squid, в ней я описывал базовую устанновку и настройку Squid.
После установки, нужно внести в файл настроек Squid, те же изменения, что и в статье Transparent (прозрачный) прокси сервер Squid, а именно найти:

http_port 3128

и добавить к ней опцию поддержки transparent:

http_port 3128 transparent

И перезапустить Squid:

/usr/local/etc/rc.d/squid restart

Теперь остается настроить firewall pf. В примере подразумевается что к сетевой карте em1, подключена локальная сеть 192.168.0.0/24.
Правило файервола будет выглядеть так:

rdr on em1 proto { tcp } from 192.168.0.0/24 to any port 80 -> 127.0.0.1 port 3128

Внесем эту строку в /etc/pf.conf, затем можно проверить корректность, выполнив команду:

pfctl -nf /etc/pf.conf

И если сообщений об ошибках не было, применить новые настройки:

pfctl -f /etc/pf.conf

Правило должно находится в той части файла в которой описываются правила NAT и RDR.
На этом настройка окончена.

Добавить в закладки:

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru
  • By Rogue, 07.06.2009 @ 23:43

    Спс, замечательная статья.

Other Links to this Post


Украинская Баннерная Сеть