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

Исходное сообщение
"pf + squid + freebsd 5.3"

Отправлено EG , 27-Сен-05 21:06 
Итак, есть шлюз на FreeBSD 5.3. На нем squid (трансперент) и pf.

Задача: для юзеров <natusers> разрешить НАТ, для юзеров <squidusers> заворачивать веб-трафик на сквид. всем остальным облом.

Делаю так:
ext_if="rl0"
int_if="fxp0"
internal_net="192.168.0.0/24"
external_addr="81.х.х.х"
table <natusers> { 192.168.0.100, 192.168.0.110 }
table <squidusers>{ 192.168.0.100, 192.168.0.110 }

nat on $ext_if inet from <natusers> to any -> ($ext_if)
rdr on $int_if proto tcp from <squidusers> to any port 80 -> 127.0.0.1 port 3128


Не работает, не заворачивается на сквид веб-трафик. А если делаю так:
nat on $ext_if from $internal_net to any -> ($ext_if)
rdr on $int_if proto tcp from <squidusers> to any port 80 -> 127.0.0.1 port 3128

все работает. Т.е. если на НАТе прописана вся сеть целиком - все работает, веб-трафик для <squidusers> заруливается на сквид и все ходят через НАТ. Но мне надо ограничить выход в сеть.

Помогите примером.


Содержание

Сообщения в этом обсуждении
"pf + squid + freebsd 5.3"
Отправлено Xela , 04-Окт-05 14:17 
>Помогите примером.

Поменяй местами.



"pf + squid + freebsd 5.3"
Отправлено clster , 22-Май-06 11:04 
Помогите кто сможет плизззз

Ситуация такова, завернул трафик на squid,при открытии сайтов пишет ошибу
"Запрошенный URL не может быть доставлен"

В файле access.log пишет вот это:
1148278457.647      3 10.10.1.2 TCP_DENIED/400 1354 GET / - NONE/- text/html
1148278458.146      3 10.10.1.2 TCP_DENIED/400 1354 GET / - NONE/- text/html

настрайки PF.CONF

int_if = "ed1"
ext_inet = "tun0"

priv_nets = "10.10.1.2"


nat on $ext_inet from $int_if to any -> ($ext_inet)
rdr on $int_if proto tcp from $prev_nets to any port 80 -> 127.0.0.1 port 3128

В чем может быть загвоздка подскажите.
заранее блогадарю.


"pf + squid + freebsd 5.3"
Отправлено Xela , 22-Май-06 11:14 
>В чем может быть загвоздка подскажите.
>заранее блогадарю.

Попробуй добавить строку:
set skip on lo0


"pf + squid + freebsd 5.3"
Отправлено claster , 22-Май-06 13:56 
/etc/pf.conf:20: syntax error
pfctl: Syntax error in config file: pf rules not loaded

вот такую выдаёт ошибку, почему не могу понять.


"pf + squid + freebsd 5.3"
Отправлено Xela , 22-Май-06 14:15 
>/etc/pf.conf:20: syntax error
>pfctl: Syntax error in config file: pf rules not loaded
>
>вот такую выдаёт ошибку, почему не могу понять.


Потому что добавлять надо было не в конец. В PF имеет значение в каком месте какая директива.

int_if = "ed1"
ext_inet = "tun0"

priv_nets = "10.10.1.2"

set skip on lo0

nat on $ext_inet from $int_if to any -> ($ext_inet)
rdr on $int_if proto tcp from $prev_nets to any port 80 -> 127.0.0.1 port 3128


"pf + squid + freebsd 5.3"
Отправлено bignic , 25-Май-06 06:30 
>>/etc/pf.conf:20: syntax error
>>pfctl: Syntax error in config file: pf rules not loaded

>priv_nets != $prev_nets

ЗЫ...усли мЭне не изменяет память squid можнособрать в режиме прозрачного прокси с поддержкой pf...однако енто может и не подойти к вашим задачам....



"pf + squid + freebsd 5.3"
Отправлено claster , 26-Май-06 09:07 
Все прекрасно заработало при добавлении в squid.conf этих строк:

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

А squid из портов был поставлен и по умолчанию он потдерживает прозрачный прокси.


"pf + squid + freebsd 5.3"
Отправлено Azudim , 30-Май-06 18:13 
А кто подскажет как завернуть на сквид с PPPoE туннелей tun1 и т.п.
ppp_net="10.0.0.0/24"

не заработали след. варианты:
rdr inet proto tcp from $ppp_net to any port 80 -> 127.0.0.1 port 3128
rdr on tun1 proto tcp from any to any port 80 -> 127.0.0.1 port 3128
rdr on 10.0.0.1 proto tcp from any to any port 80 -> 127.0.0.1 port 3128

при этом на $lan_if все заворачивается гуд :/