Страница 1 из 2

squid transparent proxy FreeBSD 6.4

Добавлено: 2009-03-16 0:59:48
jay_krosber
Задача наверняка не сложна, однако самостоятельно разобраться не смог...
В общем нужно развернуть proxy принимающий на свой сетевой интерфейс
192.168.0.10:3128 пакеты и пересылающий их на шлюзовую машину 192.168.0.1, подставляя свой ip.
Буду благодарен хоть немного расширенному ответу.
Спасибо

Re: squid transparent proxy FreeBSD 6.4

Добавлено: 2009-03-16 2:07:41
savio
В ipfw добавь правило

Код: Выделить всё

ipfw add fwd 127.0.0.1,3128 all from 192.168.0.0/24 to any dst-port 80 via <твоя сетевуха>
ну и разумеется должно быть

Код: Выделить всё

route add default 192.168.0.1
в squid.conf

Код: Выделить всё

http_port 3128 transparent

Re: squid transparent proxy FreeBSD 6.4

Добавлено: 2009-03-16 21:56:29
jay_krosber
выдает

Код: Выделить всё

ipfw:getsockopt(IP_FW_ADD):protocol not availible

Re: squid transparent proxy FreeBSD 6.4

Добавлено: 2009-03-16 22:12:49
savio
а не пробовал воспользоватьсяч гуглом?
первая ссылка на этот же форум
http://forum.lissyara.su/viewtopic.php?f=4&t=4791

Re: squid transparent proxy FreeBSD 6.4

Добавлено: 2009-03-16 22:53:35
jay_krosber
Спасибо, проблема была в том, что не указал ipfw_load="YES"
А что именно означает

Код: Выделить всё

to any dst-port 80 
и отличается от просто

Код: Выделить всё

to any 80 

Re: squid transparent proxy FreeBSD 6.4

Добавлено: 2009-03-16 23:00:08
jay_krosber
и все равно выдает

Код: Выделить всё

ipfw:getsockopt(IP_FW_ADD): invalid argument

Re: squid transparent proxy FreeBSD 6.4

Добавлено: 2009-03-17 1:03:06
jay_krosber
на данный момент выполнено следующее

Код: Выделить всё

/boot/loader.conf    ipfw_load="YES"

Код: Выделить всё

options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=100                                  
options         IPFIREWALL_FORWARD
options         IPFIREWALL_NAT
options         LIBALIAS
options         IPFIREWALL_FORWARD_EXTENDED
options         DUMMYNET                         
options         IPFIREWALL_DEFAULT_TO_ACCEPT
и

Код: Выделить всё

gateway_enable="YES"
firewall_enable="YES"                                                                          
firewall_script="/etc/ipfw.rules"
однако все так же

Код: Выделить всё

ipfw:getsockopt(IP_FW_ADD): invalid argument

Re: squid transparent proxy FreeBSD 6.4

Добавлено: 2009-03-17 16:07:26
savio
kldstat чего говорит?

Re: squid transparent proxy FreeBSD 6.4

Добавлено: 2009-03-17 16:22:18
skeletor
Ядро собрано без опции

Код: Выделить всё

options         IPFIREWALL_FORWARD       # перенаправление (форвардинг) пакетов например, для прозрачного прокси
пересобери ядро с этой опцией и будет работать.

Re: squid transparent proxy FreeBSD 6.4

Добавлено: 2009-03-19 0:00:05
jay_krosber
kldstat:

Код: Выделить всё

1   8 0xc0400000 7c79dc   kernel
2   1 0xc0bc8000 ec6c      ipfw.ko
3   1 0xc0bd8000 5c838    acpi.ko
4   1 0xc27b4000 19000    linux.ko

Re: squid transparent proxy FreeBSD 6.4

Добавлено: 2009-03-19 0:02:13
jay_krosber
пересобери ядро с этой опцией и будет работать.
так с этой опцией и собрано...

Re: squid transparent proxy FreeBSD 6.4

Добавлено: 2009-03-19 1:28:34
Cardinal
Ядро с такими опциями пересобери и установи. Тогда все будет гуд.

Код: Выделить всё

options    IPFIREWALL                    # Собсна сам файрвол
options    IPFIREWALL_VERBOSE            # Для логирования пакетов, если в правилах писать "log"
options    IPFIREWALL_VERBOSE_LIMIT=100  # Для ограничения логов
options    IPFIREWALL_FORWARD            # Перенаправление пакетов (в общем то, что тебе советовали и то, что тебе именно нужно)
options    IPDIVERT                      # Это для трансляции адресов
options    DUMMYNET                      # Для того, чтобы резать скорость
options    IPFIREWALL_DEFAULT_TO_ACCEPT  # Ну и по дефолту accept если в правилах не стоит deny
У самого такая ситуация была. Здесь у Лиса где то в статьях описано. После этого у тебя в любом случае заработает.

Re: squid transparent proxy FreeBSD 6.4

Добавлено: 2009-03-19 11:58:23
jay_krosber
вечером попробую

Re: squid transparent proxy FreeBSD 6.4

Добавлено: 2009-03-19 14:01:46
skeletor
jay_krosber писал(а):
пересобери ядро с этой опцией и будет работать.
так с этой опцией и собрано...
Тогда пересобери без

Код: Выделить всё

options         IPFIREWALL_FORWARD_EXTENDED

Re: squid transparent proxy FreeBSD 6.4

Добавлено: 2009-03-19 16:55:35
jay_krosber
все также

Код: Выделить всё

ipfw: getsockopt(IP_FW_ADD): Invalid argument
может каким-то образом можно продиагностировать что я делаю не так?

Re: squid transparent proxy FreeBSD 6.4

Добавлено: 2009-03-19 17:09:11
jay_krosber
Изображение

Re: squid transparent proxy FreeBSD 6.4

Добавлено: 2009-03-19 17:54:07
skeletor
Очень смахивает на это http://www.opennet.ru/tips/info/802.shtml, хотя не уверен.

Re: squid transparent proxy FreeBSD 6.4

Добавлено: 2009-03-19 21:54:18
Kos
skeletor писал(а):Очень смахивает на это http://www.opennet.ru/tips/info/802.shtml, хотя не уверен.
ничего общего. 5.3 никаких ошибок не выдает, просто fwd молча не работает.

Автор, может приведете наконец листинг не работающего скрипта? а то хз что вы там вводите.

Re: squid transparent proxy FreeBSD 6.4

Добавлено: 2009-03-19 23:09:44
jay_krosber

Код: Выделить всё

ipfw add fwd 127.0.0.1,3128 all from 192.168.0.0/24 to any dst-port 80 via 192.168.0.6

Re: squid transparent proxy FreeBSD 6.4

Добавлено: 2009-03-19 23:34:12
Kos
если ядро собрано со всеми опциями, то

Код: Выделить всё

/boot/loader.conf    ipfw_load="YES"
уже вроде как неактуально, это подправили?

покажите вывод

Код: Выделить всё

#uname -a

Re: squid transparent proxy FreeBSD 6.4

Добавлено: 2009-03-20 4:37:56
Cardinal
Автор, будьте добры огласить правила
cat rc.firewall
ну и вывод uname -a обязательно конечно как подметил Kos.
Либо пишите на личку любому из нас. вариантов много, но я догадываюсь, что автор не может просто разобраться с подсетьми.

Re: squid transparent proxy FreeBSD 6.4

Добавлено: 2009-03-20 8:20:19
skeletor
Kos писал(а):
skeletor писал(а):Очень смахивает на это http://www.opennet.ru/tips/info/802.shtml, хотя не уверен.
ничего общего. 5.3 никаких ошибок не выдает, просто fwd молча не работает.

Автор, может приведете наконец листинг не работающего скрипта? а то хз что вы там вводите.
Ошибаетесь. Как раз ситуация 1 в 1. Если вы поиском воспользуетесь на opennet.ru - то первая ссыка по ошибке как раз выведет на 5.3. Откройте, почитайте, и в конце, будет как вариант решения.

Re: squid transparent proxy FreeBSD 6.4

Добавлено: 2009-03-20 10:47:33
jay_krosber
спасибо за предложенные варианты, ближе к вечеру доберусь до машину и надеюсь решу проблему

Re: squid transparent proxy FreeBSD 6.4

Добавлено: 2009-03-20 17:12:13
jay_krosber
Cardinal писал(а):Автор, будьте добры огласить правила
cat rc.firewall
rc.firewall дефолтный, я не вносил там изменений

Re: squid transparent proxy FreeBSD 6.4

Добавлено: 2009-03-20 18:42:45
Kos
skeletor писал(а):
Kos писал(а):
skeletor писал(а):Очень смахивает на это http://www.opennet.ru/tips/info/802.shtml, хотя не уверен.
ничего общего. 5.3 никаких ошибок не выдает, просто fwd молча не работает.

Автор, может приведете наконец листинг не работающего скрипта? а то хз что вы там вводите.
Ошибаетесь. Как раз ситуация 1 в 1. Если вы поиском воспользуетесь на opennet.ru - то первая ссыка по ошибке как раз выведет на 5.3. Откройте, почитайте, и в конце, будет как вариант решения.
Вы 5.3 руками щупали? Так вот ещё раз: 5.3 НЕ выдает ошибок на инструкцию fwd. Она просто не срабатывают... почему - попытайтесь вникнуть в суть предложенного по Вашей ссылке патча.