Здравствуйте, господа.
Тема древняя, пересмотрел что смог найти, убил вечер - сдался на милость, прошу помощи.Стоял себе релиз 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
^C2 packets captured
65 packets received by filter
0 packets dropped by kernel
Нервы сдают. Два столба, и заблудился.
Если будет у кого время и желание помочь - очень буду признателен.
Спасибо.С уважением, Тим.
сначала - nat, потом rdr
> сначала - nat, потом rdrДа по разному пробовал, менял местами - без результата.
Может еще какие мысли ?
>> сначала - nat, потом rdr
> Да по разному пробовал, менял местами - без результата.
> Может еще какие мысли ?pfctl -sn
pfctl -sr что говорят?
rdr on $int_if proto { tcp } from $local_net to any port 80 -> 192.168.1.1 port 3128table <natting> persist file "/etc/pf_nat_table"
nat on $ext_if from <natting> to any -> ($ext_if)вот в таком конфиге работает на 9.0
> 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
А теперь никак... (
>[оверквотинг удален]
>> 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
> А теперь никак... (Стоить разремить кого нибудь в указанной таблице (или полностью сеть), доступ у разремленых прекращается.
У меня та же проблема, кто нить нашел решение?