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

Исходное сообщение
"ipfw + squid"

Отправлено slowkazak , 28-Дек-11 15:10 
Добрый день, встала задача: запоролить доступ в интернет пользователям.
Ну задача как задача, вроде все просто. настроил сквид, принался за фаервол.
но не тут-то было!
FWD не работает.
Вот строка в конфиге фаера:
$cmd 050 fwd 127.0.0.1,3128 tcp from $lannet to any 8080,80 out via $eif

А вот что он мне выдает при загрузке правил:
ipfw: getsockopt(IP_FW_ADD):

перечитал кучу всего, ядро пересобирал.
Если кто знает в чем проблема, помогите.  FreeBSD 8.2-RELEASE


Содержание

Сообщения в этом обсуждении
"ipfw + squid"
Отправлено кегна , 28-Дек-11 19:46 
>[оверквотинг удален]
> Ну задача как задача, вроде все просто. настроил сквид, принался за фаервол.
> но не тут-то было!
> FWD не работает.
> Вот строка в конфиге фаера:
> $cmd 050 fwd 127.0.0.1,3128 tcp from $lannet to any 8080,80 out via
> $eif
> А вот что он мне выдает при загрузке правил:
> ipfw: getsockopt(IP_FW_ADD):
> перечитал кучу всего, ядро пересобирал.
> Если кто знает в чем проблема, помогите.  FreeBSD 8.2-RELEASE

ну пусть cmd = /sbin/ipfw
ок... получается
/sbin/ipfw 0050 fwd 127.0.0.1 ..... ?

а add не нужно между ipfw и 0050 ?


"ipfw + squid"
Отправлено Hammer , 28-Дек-11 20:47 
>[оверквотинг удален]
>> $cmd 050 fwd 127.0.0.1,3128 tcp from $lannet to any 8080,80 out via
>> $eif
>> А вот что он мне выдает при загрузке правил:
>> ipfw: getsockopt(IP_FW_ADD):
>> перечитал кучу всего, ядро пересобирал.
>> Если кто знает в чем проблема, помогите.  FreeBSD 8.2-RELEASE
> ну пусть cmd = /sbin/ipfw
> ок... получается
> /sbin/ipfw 0050 fwd 127.0.0.1 ..... ?
> а add не нужно между ipfw и 0050 ?

Сквид не поддерживает авторизацию в прозрачном режиме.


"ipfw + squid"
Отправлено slowkazak , 29-Дек-11 10:34 
>[оверквотинг удален]
>>> $eif
>>> А вот что он мне выдает при загрузке правил:
>>> ipfw: getsockopt(IP_FW_ADD):
>>> перечитал кучу всего, ядро пересобирал.
>>> Если кто знает в чем проблема, помогите.  FreeBSD 8.2-RELEASE
>> ну пусть cmd = /sbin/ipfw
>> ок... получается
>> /sbin/ipfw 0050 fwd 127.0.0.1 ..... ?
>> а add не нужно между ipfw и 0050 ?
> Сквид не поддерживает авторизацию в прозрачном режиме.

это я понял, но даже когда в конфиге сквида не указываешь что порт прозрачный тоже самое происходит


"ipfw + squid"
Отправлено Anony , 29-Дек-11 10:45 
а в конфиге squid'a вы хоть указали авторизацию?



"ipfw + squid"
Отправлено slowkazak , 29-Дек-11 11:16 
> а в конфиге squid'a вы хоть указали авторизацию?

да, если прописываешь в настройках браузера адрес прокси то все нормально, а вот форвардить на сквид из ipfw не выходит


"ipfw + squid"
Отправлено mr_gfd , 29-Дек-11 12:43 
cd /usr/src; echo "options IPFIREWALL_FORWARD" >> /usr/src/sys/`uname -m`/conf/`uname -i`; rm -Rf /usr/obj/*; make -s kernel && shutdown -r now

в общем виде - без пересборки ядра fwd не работает. в хендбуке описано.


"ipfw + squid"
Отправлено slowkazak , 29-Дек-11 12:56 
> cd /usr/src; echo "options IPFIREWALL_FORWARD" >> /usr/src/sys/`uname -m`/conf/`uname
> -i`; rm -Rf /usr/obj/*; make -s kernel && shutdown -r now
> в общем виде - без пересборки ядра fwd не работает. в хендбуке
> описано.

Вся суть в том чтоб добавить в ядро "options IPFIREWALL_FORWARD".
Но тут загвоздка в том что я уже пересобирал ядро с этой опцией


"ipfw + squid"
Отправлено mr_gfd , 29-Дек-11 13:33 
Ну собрать-тособрали. а поставили и бутнулись?
Вот вывод при собранном правильно ядре:
#ipfw add 64000 fwd 127.0.0.1:3128 tcp from 8.8.8.8  80 to 8.8.8.8 80 via em1
64000 fwd 127.0.0.1,3128 tcp from 8.8.8.8 80 to 8.8.8.8 dst-port 80 via em1
#ipfw sh 64000
ipfw: DEPRECATED: 'sh' matched 'show' as a sub-string
64000          0             0 fwd 127.0.0.1,3128 tcp from 8.8.8.8 80 to 8.8.8.8 dst-port 80 via em1

и на GENERIC:
#ipfw add 64000 fwd 127.0.0.1:3128 tcp from 8.8.8.8  80 to 8.8.8.8 80 via em1
ipfw: getsockopt(IP_FW_ADD): Invalid argument
#ipfw sh 64000
ipfw: DEPRECATED: 'sh' matched 'show' as a sub-string
ipfw: rule 64000 does not exist

Ну и, для полноты картины, сначала добавляйте правило без переменных, явно указывая, что нужно. Когдазаработает - можно и скриптовать более ровно.


"ipfw + squid"
Отправлено mr_gfd , 29-Дек-11 13:35 
Ну и, для полноты картины, можете развлечься с pf.

#pfctl -sn
No ALTQ support in kernel
ALTQ related functions disabled
rdr on em0 inet proto tcp from 192.168.1.0/24 to any port = http -> 192.168.1.1 port 3128


"ipfw + squid"
Отправлено mr_gfd , 29-Дек-11 14:10 
> Ну и, для полноты картины, можете развлечься с pf.
> #pfctl -sn
> No ALTQ support in kernel
> ALTQ related functions disabled
> rdr on em0 inet proto tcp from 192.168.1.0/24 to any port =
> http -> 192.168.1.1 port 3128

BTW, лучше не использовать форвард при необходимости запаролить прокси, а пользоваться средствами автонастройки через DHCP и DNS:
http://ru.wikipedia.org/wiki/Web_Proxy_Autodiscovery_Protocol
http://support.microsoft.com/kb/309814


"ipfw + squid"
Отправлено slowkazak , 30-Дек-11 10:19 
> BTW, лучше не использовать форвард при необходимости запаролить прокси, а пользоваться
> средствами автонастройки через DHCP и DNS:
> http://ru.wikipedia.org/wiki/Web_Proxy_Autodiscovery_Protocol
> http://support.microsoft.com/kb/309814

наверное это буду использовать, а то очередная персборка и переустановка ядра никак не помогает а pf использовать не хочется