Всем привет!
Прошу не кидать помидорами ибо я тока начинаю ковыряться с фаерволами! :)
Вообщем достался серв с FreeBSD6.2 на котором выход в инет пользователей осуществлялся пробросом через NAT,поставил Squid,через него работает всё норм,оно и понятно,терь надо всех товарищей завернутых через NAT фильтравать ipfw,есть rc.firewall со старой работки, который я перелопатил чуток под эту сетку,там тож был серв на фрюшке 6.2!
Содержиние следующее:#!/bin/sh
fwcmd="/sbin/ipfw"
office="xxx.xxx.xxx.xxx/24"
#наружусмотрящий
oif="rl1"
№внутрьсмотрящий
iif="rl0"
${fwcmd} -f flush
${fwcmd} add allow tcp from any to me 22
${fwcmd} add allow tcp from me 22 to any
${fwcmd} add allow ip from any to any via ${iif}
${fwcmd} add allow ip from any to any via lo0
${fwcmd} add deny log ip from any to any not antispoof in
${fwcmd} add fwd 127.0.0.1,3128 tcp from ${office} to any http,https,ftp
${fwcmd} add deny icmp from any to any in icmptype 5,9,13,14,15,16,17
${fwcmd} add divert natd ip from any to me in via ${oif}
${fwcmd} add check-state
${fwcmd} add allow tcp from me to any out via ${oif} setup keep-state
${fwcmd} add allow udp from me to any out via ${oif} keep-state
${fwcmd} add allow tcp from any to me domain,ssh,smtp,http,https,imap setup keep-state
${fwcmd} add allow udp from any to me domain keep-state
${fwcmd} add skipto 64000 icmp from ${office} to any out via ${oif} keep-state
${fwcmd} add allow icmp from any to any
${fwcmd} add skipto 64000 tcp from ${office} to any aol,pop3,smtp,imap,6667,6669,44405,55901,26000 out via ${oif} setup keep-state
${fwcmd} add skipto 64000 udp from ${office} to any 44405,55901 out via ${oif} keep-state
${fwcmd} add deny log all from any to any
${fwcmd} add deny all from any to any
${fwcmd} add 64000 divert natd ip from any to any out via ${oif}
${fwcmd} add 65000 allow all from any to anyНа той машине откуда брался этот rc.firewall всё было прекрасно!
На это выдает следующее:
> in <22rt list: invalid separator <
ipfw: unrecognised option [-1] 22
'' unknownname ``any
ipfw: getsockopt(IP_FW_ADD): Invalid argument
ipfw: unrecognised option [-1] keep-state
ipfw: unrecognised option [-1]
ipfw: unrecognised option [-1] keep-state
ipfw: unrecognised option [-1] keep-state
ipfw: unrecognised option [-1] keep-state
'' unknownname ``any
ipfw: unrecognised option [-1] keep-state
ipfw: unrecognised option [-1] keep-state
ipfw: unrecognised option [-1] keep-state
ipfw: unrecognised option [-1] keep-state
'' unknownname ``any
'' unknownname ``anyЯ так полагаю что ядро скомпилено не со всеми опциями для фаервола что использовались на старой телеге?
Если так то подскажите с какими скомпилить?
Или если что то ещё то укажите плиз! На хэндбуки не тыкайте,просто срочно надо!
Заранее пасиба!!!
>[оверквотинг удален]
>ipfw: unrecognised option [-1] keep-state
>'' unknownname ``any
>'' unknownname ``any
>
>Я так полагаю что ядро скомпилено не со всеми опциями для фаервола
>что использовались на старой телеге?
>Если так то подскажите с какими скомпилить?
>Или если что то ещё то укажите плиз! На хэндбуки не тыкайте,просто
>срочно надо!
>Заранее пасиба!!!у нас работает с ядром в котором для ipfw такие опции
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_FORWARD
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPDIVERT
options DUMMYNET
>[оверквотинг удален]
>>срочно надо!
>>Заранее пасиба!!!
>
>у нас работает с ядром в котором для ipfw такие опции
>options IPFIREWALL
>options IPFIREWALL_VERBOSE
>options IPFIREWALL_FORWARD
>options IPFIREWALL_DEFAULT_TO_ACCEPT
>options IPDIVERT
>options DUMMYNETПасиба завтра перекомпилю!
Кстати сейчас глянул чего там для ядра понаписали!
Там токаoptions IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPDIVERTПолучается что правила fwd и keep-state изза отсутствия options IPFIREWALL_FORWARD не работают?
И ещё вопросик! Когда перекомпиливаем ядро что происходит с демонами?
Например тот же Нат и сквид буду в это время до перезагрузки работать?
>И ещё вопросик! Когда перекомпиливаем ядро что происходит с демонами?
>Например тот же Нат и сквид буду в это время до перезагрузки
>работать?Когда перекомпиливаешь ядро ничего не происходит. Всё будет работать. Ядро загружается только при загрузке ОС.
Всем пасиба буду сёдня пробовать!!!
Попробовал вообщем!!!
Правило с FWD сработало а keep-state всё равно не прокатывает! Может всё же кто знает?
Если я склепаю те же правила но без keep-state чем это чЭревато? :)
И подскажите плиз,какое правило нужно дабавить чтобы юзеры никак не могли ходить в инет обходя прокси? Тока через него чтобы ходили!
Кстати! Только что проверил если вручную забивать правила то они встают как надо!
А через исполняемый файлик такую бороду пишут! В чем мож быть дело?
>Кстати! Только что проверил если вручную забивать правила то они встают как
>надо!
>А через исполняемый файлик такую бороду пишут! В чем мож быть дело?
>В не знании Вами предмета. Изучайте что такое IPFW, читайте документацию, смотрите
примеры конфигов которые есть в системе. Гуглите и смотрите примеры настроек. Читайте статьи по этой теме. После таких действий 99% вопросов отпадают сами.
>>Кстати! Только что проверил если вручную забивать правила то они встают как
>>надо!
>>А через исполняемый файлик такую бороду пишут! В чем мож быть дело?
>>
>
> В не знании Вами предмета. Изучайте что такое IPFW, читайте
>документацию, смотрите
>примеры конфигов которые есть в системе. Гуглите и смотрите примеры настроек. Читайте
>статьи по этой теме. После таких действий 99% вопросов отпадают сами.
>Мдааа...дельный совет...
Попросил же не посылать на манулы...
И зачем интересно вообще такие форумы создают по вашему? Чтобы на каждый поставленный вопрос вы с гордостью смогли ответить "Читайте мануалы!"? Нет,как раз для того чтобы решать поставленные задачи и отвечать на вопросы!
Согласен что их читать надо! Но когда на это времени нет, можно и подсказать а потом что нить ляпнуть типа,прочитайте,будет полезным! :) И всё!
>[оверквотинг удален]
>>
>
>Мдааа...дельный совет...
>Попросил же не посылать на манулы...
>И зачем интересно вообще такие форумы создают по вашему? Чтобы на каждый
>поставленный вопрос вы с гордостью смогли ответить "Читайте мануалы!"? Нет,как раз
>для того чтобы решать поставленные задачи и отвечать на вопросы!
>Согласен что их читать надо! Но когда на это времени нет, можно
>и подсказать а потом что нить ляпнуть типа,прочитайте,будет полезным! :) И
>всё!Могу сразу "нарисовать картину". Вы не читаете, мы не отвечаем. Через некоторое время Вам нужно будет или читать, или сменить сферу деятельности и выкинуть компьютер, и купить PlayStation.
>[оверквотинг удален]
>>поставленный вопрос вы с гордостью смогли ответить "Читайте мануалы!"? Нет,как раз
>>для того чтобы решать поставленные задачи и отвечать на вопросы!
>>Согласен что их читать надо! Но когда на это времени нет, можно
>>и подсказать а потом что нить ляпнуть типа,прочитайте,будет полезным! :) И
>>всё!
>
> Могу сразу "нарисовать картину". Вы не читаете, мы не отвечаем. Через
>некоторое время Вам нужно будет или читать, или сменить сферу деятельности
>и выкинуть компьютер, и купить PlayStation.
>Ух как гневно! :)
Переписал файлик вручную,всё заработало!
ПЫС:Консоли терпеть не могу! :)))))
ну и зря ) а я с неё управляю своими серваками ) зачем дома компобандуру иметь?
на всякий случай (для дальнейшей работы со скриптами);
советую во всех скриптах будь то *.sh *.php *.pl
в консоле выяснить где лежат операторы выполнения скриптов
/bin/sh
/usr/local/bin/php
/usr/bin/perl
(команда whereis * очень полезна)
и в шапку добавлять всегда
#!/*
где * выполняющий оператор.
ТАК ЖЕ !!!
при записях ifconfig , route , ipfw в исполняемых скриптах обязательно указывать ПОЛНЫЙ путь к оператору :
/sbin/ipfw add 1 allow ip from any to any
/sbin/route add default 127.0.0.1