The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"FreeBSD 9.0 & pf & squid & transparent proxy"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Firewall, Фильтрация пакетов / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"FreeBSD 9.0 & pf & squid & transparent proxy"  +/
Сообщение от tim (??) on 19-Фев-12, 21:40 
Здравствуйте, господа.
Тема древняя, пересмотрел что смог найти, убил вечер - сдался на милость, прошу помощи.

Стоял себе релиз 8.2+pf+squid_2.7+nat, работал. Но начались траблы с proftpd.
Пришлось проапгрейдиться до 9.0 RELEASE и этот самый прозрачный прокси работать перестал.

В настоящее время юзеры натятся и все, на прокси их завернуть не получается (если
прокси указан локально - идут на ура).

При пересборке мира и ядра все конфиги оставлял прежние.
Ядро собрано с поддержкой pf, squid - c '--enable-pf-transparent'.
Снес 2.7, поставил Squid Cache: Version 3.1.19 - нужного результата нет.

Конфиг pf, скажем, такой:

  ext_if="card_1"
  int_if="card_2"
  #
  int_net="ip_int_lan/24"

  rdr on $int_if inet proto tcp from any to any port www -> 127.0.0.1 port 3129

  nat on $ext_if from $int_net to any -> $ext_if

  pass in on $int_if inet proto tcp from any to 127.0.0.1 port 3129 keep state
  pass out on $ext_if inet proto tcp from any to any port www keep state

Если заремить строку nat - естественно, никто никуда не ходит, поэтому ремить приходится rdr.
Squid свои порты (3128 и 3129) слушает (и отвечает, как говорил выше, если указать его в броузере на хосте работает без замечаний).
Шлюз по умолчанию на хостах правильный (эта самая фря, на которой, собственно все и крутится, и ns, и squid, и pf, и nat...).
Ниже, попытка открыть с хоста пользователя ya.ru:

tcpdump -i int_if -ttt -e host host_ip

00:00:00.095487 host_mac (oui Unknown) > gateway_mac (oui Unknown), ethertype IPv4 (0x0800), length 62: host_ip.2563 > www.yandex.ru.http: Flags [S], seq 3766765490, win 65535, options [mss 1460,nop,nop,sackOK], length 0
00:00:00.000171 host_mac (oui Unknown) > gateway_mac (oui Unknown), ethertype IPv4 (0x0800), length 62: host_ip.2565 > www.yandex.ru.http: Flags [S], seq 2995275745, win 65535, options [mss 1460,nop,nop,sackOK], length 0
00:00:01.009826 host_mac (oui Unknown) > gateway_mac (oui Unknown), ethertype IPv4 (0x0800), length 62: host_ip > www.yandex.ru.http: Flags [S], seq 2300249142, win 65535, options [mss 1460,nop,nop,sackOK], length 0
^C

2 packets captured
65 packets received by filter
0 packets dropped by kernel


Нервы сдают. Два столба, и заблудился.
Если будет у кого время и желание помочь - очень буду признателен.
Спасибо.

С уважением, Тим.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "FreeBSD 9.0 & pf & squid & transparent proxy"  +/
Сообщение от mr_gfd on 19-Фев-12, 22:50 
сначала - nat, потом rdr
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "FreeBSD 9.0 & pf & squid & transparent proxy"  +/
Сообщение от tim (??) on 20-Фев-12, 12:21 
> сначала - nat, потом rdr

Да по разному пробовал, менял местами - без результата.

Может еще какие мысли ?

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "FreeBSD 9.0 & pf & squid & transparent proxy"  +/
Сообщение от mr_gfd on 20-Фев-12, 13:08 
>> сначала - nat, потом rdr
> Да по разному пробовал, менял местами - без результата.
> Может еще какие мысли ?

pfctl -sn
pfctl -sr что говорят?

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "FreeBSD 9.0 & pf & squid & transparent proxy"  +/
Сообщение от mr_gfd on 20-Фев-12, 13:09 
rdr on $int_if proto { tcp } from $local_net to any port 80 -> 192.168.1.1 port 3128

table <natting>  persist file "/etc/pf_nat_table"
nat on $ext_if from <natting>  to any -> ($ext_if)

вот в таком конфиге работает на 9.0

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "FreeBSD 9.0 & pf & squid & transparent proxy"  +/
Сообщение от tim (??) on 20-Фев-12, 14:04 
> rdr on $int_if proto { tcp } from $local_net to any port
> 80 -> 192.168.1.1 port 3128
> table <natting>  persist file "/etc/pf_nat_table"
> nat on $ext_if from <natting>  to any -> ($ext_if)
> вот в таком конфиге работает на 9.0

Спасибо что заинтересовались.
Вот до переезда на 9.0 работал вот так:

self_ip = "192.168.11.3"
table <pf_proxy> file "/etc/pf.proxy"

rdr on $int_if proto tcp from <pf_proxy> to {any, !self_ip} port www -> $self_ip port 3129

nat on $ext_if from $int_net to any -> $ext_if


А теперь никак... (

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "FreeBSD 9.0 & pf & squid & transparent proxy"  +/
Сообщение от tim (??) on 20-Фев-12, 14:16 
>[оверквотинг удален]
>> nat on $ext_if from <natting>  to any -> ($ext_if)
>> вот в таком конфиге работает на 9.0
> Спасибо что заинтересовались.
> Вот до переезда на 9.0 работал вот так:
> self_ip = "192.168.11.3"
> table <pf_proxy> file "/etc/pf.proxy"
> rdr on $int_if proto tcp from <pf_proxy> to {any, !self_ip} port www
> -> $self_ip port 3129
> nat on $ext_if from $int_net to any -> $ext_if
> А теперь никак... (

Стоить разремить кого нибудь в указанной таблице (или полностью сеть), доступ у разремленых прекращается.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "FreeBSD 8.4 & pf & squid & transparent proxy"  +/
Сообщение от аватар on 15-Май-15, 15:00 
У меня та же проблема, кто нить нашел решение?
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру