Здравствуйте!Этот вопрос, наверное, сто раз уже задавали но хоть убейте, не могу найти ответ.
Вопрос такой: откуда постоянно появляются какие-то пакеты на дефолтном правиле ipfw? Причём именно постоянно, а не только при загрузке или изменении конфигурации ipfw.Хвост списка правил:
00501 19460 2198109 deny log ip from any to any in recv rl1
00502 5528 315327 deny log ip from any to any out xmit rl1
00999 0 0 deny log ip from any to any
65535 149 9543 allow ip from any to anyКаким образом пакеты проходят "deny ip from any to any" и попадают в "allow ip from any to any"? Идентичные же, по сути, правила.
>[оверквотинг удален]
> 00502 5528 315327 deny log
> ip from any to any out xmit rl1
> 00999 0
> 0 deny log ip from any
> to any
> 65535 149
> 9543 allow ip from any to any
> Каким образом пакеты проходят "deny ip from any to any" и попадают
> в "allow ip from any to any"? Идентичные же, по сути,
> правила.Так вы там, в последнем правиле, также логирование включите
и посмотрите, что там такое происходит.
Туда сыплются пакеты проходящие через интерфейс lo0
> Так вы там, в последнем правиле, также логирование включите
> и посмотрите, что там такое происходит.
> Туда сыплются пакеты проходящие через интерфейс lo0Дефолтное правило не редактируется, насколько мне известно. Как на нём можно включить логгирование?
Пакеты, проходящие через lo0 отсеиваются предыдущим правилом - я не привёл его, но оно есть.
>> Так вы там, в последнем правиле, также логирование включите
>> и посмотрите, что там такое происходит.
>> Туда сыплются пакеты проходящие через интерфейс lo0
> Дефолтное правило не редактируется, насколько мне известно. Как на нём можно включить
> логгирование?
> Пакеты, проходящие через lo0 отсеиваются предыдущим правилом - я не привёл его,
> но оно есть.Ну так добавьте ручками перед последним правилом
add 65534 allow log all from any to any
> Ну так добавьте ручками перед последним правилом
> add 65534 allow log all from any to anyПростите, но в чём принципиальная разница с моим вариантом?
00999 deny log ip from any to any
>> Ну так добавьте ручками перед последним правилом
>> add 65534 allow log all from any to any
> Простите, но в чём принципиальная разница с моим вариантом?
> 00999 deny log ip from any to anyЕщё тест на внимательность.
Разницу между deny и allow видите?
Это и есть _принципиальная_ разница.
Вы же хотите узнать, что попадает, то есть проходит,
то есть разрешено, а не запрещено?
>>> Ну так добавьте ручками перед последним правилом
>>> add 65534 allow log all from any to any
>> Простите, но в чём принципиальная разница с моим вариантом?
>> 00999 deny log ip from any to any
> Ещё тест на внимательность.
> Разницу между deny и allow видите?Я не вижу. Разжуйте мне разницу, но не в контексте отдельного правила,
а в контексте, как эти два правила работают вместе:00999 0 0 deny log ip from any to any
65535 149 9543 allow ip from any to any
>[оверквотинг удален]
>>> 00999 deny log ip from any to any
>> Ещё тест на внимательность.
>> Разницу между deny и allow видите?
> Я не вижу. Разжуйте мне разницу, но не в контексте отдельного правила,
> а в контексте, как эти два правила работают вместе:
> 00999 0
> 0 deny log ip from any
> to any
> 65535 149
> 9543 allow ip from any to anyПравило 65535 дефолтное правило.
Оно загружается первым, ядро собрано с
options IPFIREWALL_DEFAULT_TO_ACCEPTВ него и успевают попадать пакеты во время загрузки системы,
перед загрузкой остальных правил заданных пользователем.После загрузки счетчики будут оставаться неизменными.
А счетчики с правилом перед 65535 с deny будут увеличиваться.
>>>>Вопрос такой: откуда постоянно появляются какие-то пакеты
>>>>на дефолтном правиле ipfw? Причём именно постоянно,
>>>>а не только при загрузке или изменении конфигурации ipfw.
>>>>а не только при загрузке или изменении конфигурации ipfw.
>>>>а не только при загрузке или изменении конфигурации ipfw.
>>> Ещё тест на внимательность.Простите, пожалуйста, не удержался.
>[оверквотинг удален]
>>>> 00999 deny log ip from any to any
>>> Ещё тест на внимательность.
>>> Разницу между deny и allow видите?
>> Я не вижу. Разжуйте мне разницу, но не в контексте отдельного правила,
>> а в контексте, как эти два правила работают вместе:
>> 00999 0
>> 0 deny log ip from any
>> to any
>> 65535 149
>> 9543 allow ip from any to any[какое-то непонятное объяснение skipped]
>Ещё тест на внимательность.
>Разницу между deny и allow видите?
>Это и есть _принципиальная_ разница.Так в чем _принципиальная_ разница между этими правилами, в контексте обсуждаемого вопроса?
Вы вот взяли, попытались выделиться тем, что, мол, знаете какую-то _принципиальную_ разницу.Зачем так делать, если этой принципиальной разницы нет? Пальцы были выгнуты порожняком.
>[оверквотинг удален]
>>> to any
>>> 65535 149
>>> 9543 allow ip from any to any
> [какое-то непонятное объяснение skipped]
>>Ещё тест на внимательность.
>>Разницу между deny и allow видите?
>>Это и есть _принципиальная_ разница.
> Так в чем _принципиальная_ разница между этими правилами, в контексте обсуждаемого вопроса?
> Вы вот взяли, попытались выделиться тем, что, мол, знаете какую-то _принципиальную_ разницу.
> Зачем так делать, если этой принципиальной разницы нет? Пальцы были выгнуты порожняком.Хы, если у кого и присутствует распальцовка, то уж точно не у меня.
Персонально для вас, "разжёвываю".
Правило 65535 задаёт политику фаервола системы по умолчанию.
Запретительную или разрешительную.Если в ядро добавлена опция
options IPFIREWALL_DEFAULT_TO_ACCEPT
то последнее правило при загрузке будет
65535 allow ip from any to anyТо есть пакеты будут пропускаться фаерволом.
Если же вышеуказанной опции в ядре нет (с ней не собирали),
то последнее правило будет
65535 deny ip from any to anyТо есть политика фаервола запретительная.
Ну и разумеется, при загрузке система ничего не знает
о дополнительных правилах фаервола добавленных, пользователем.
Их может и не быть вовсе.Но система стартовать должна и загружает базис, фундамент, так сказать, то есть основное правило 65535
А вот deny оно или allow это и зависит от вышесказанного.
И пакеты успевают попасть под это правило, до загрузки остальных пользовательских правил.После загрузки пользовательских правил, последнее не будет изменяться
если перед ним, предпоследним, добавлено правило с any to any
Причём не важно, deny оно или allowВот и вся принципиальная разница.
Если вы этого не видите, это ваши проблемы.
Я разжевал, проглотите?
> Вот и вся принципиальная разница.
> Если вы этого не видите, это ваши проблемы.
> Я разжевал, проглотите?Вы отвечаете не по теме моего вопроса.
Чтобы вам было понятнее, разжую мой вопрос вам.человек приводит правила:
>00999 0 0 deny log ip from any to any
>65535 149 9543 allow ip from any to anyвы ему советуете:
>Ну так добавьте ручками перед последним правилом
>add 65534 allow log all from any to anyон спрашивает:
>Простите, но в чём принципиальная разница с моим вариантом?
>00999 deny log ip from any to anyвы ему отвечаете:
>Разницу между deny и allow видите?
>Это и есть _принципиальная_ разница.Этим самым вы утверждаете, что на наборе правил, где deny заменен на allow, т.е так:
00999 0 0 allow log ip from any to any
65535 149 9543 allow ip from any to any
счетчики будут вести себя _принципиально_ по-другому.Убедите меня в том, что они будут вести себя по-другому. Пока у вас это не получилось и ваше сообщение www.opennet.ru/openforum/vsluhforumID15/4049.html#5 - пустое пальцегнутие.
Собственно, что ваш вышеприведенный ответ, что ваше сообщение #5 - всё это всё ответы не по теме вопроса, на который вы отвечаете.
>[оверквотинг удален]
> 0 allow log ip from any
> to any
> 65535 149
> 9543 allow ip from any to any
> счетчики будут вести себя _принципиально_ по-другому.
> Убедите меня в том, что они будут вести себя по-другому. Пока у
> вас это не получилось и ваше сообщение www.opennet.ru/openforum/vsluhforumID15/4049.html#5
> - пустое пальцегнутие.
> Собственно, что ваш вышеприведенный ответ, что ваше сообщение #5 - всё это
> всё ответы не по теме вопроса, на который вы отвечаете.Не передёргивайте.
Вы что, действительно не видите разницы?!
У него логирование стоит на deny, а хочет узнать, что проходит в allow.
Я ему советую поставить логирование на allow
deny log all from any to any
allow log all from any to any
что именно логировать разницу видите?
Отброшенные или пропущенные пакеты?
>[оверквотинг удален]
>> всё ответы не по теме вопроса, на который вы отвечаете.
> Не передёргивайте.
> Вы что, действительно не видите разницы?!
> У него логирование стоит на deny, а хочет узнать, что проходит в
> allow.
> Я ему советую поставить логирование на allow
> deny log all from any to any
> allow log all from any to any
> что именно логировать разницу видите?
> Отброшенные или пропущенные пакеты?А есть принципиальная разница ? До правила дойдут ровно те же пакеты и счетчики должны расти точно также. Ну может быть будут больше расти, т.к. соединение установится и будет большая активность.
>[оверквотинг удален]
>> У него логирование стоит на deny, а хочет узнать, что проходит в
>> allow.
>> Я ему советую поставить логирование на allow
>> deny log all from any to any
>> allow log all from any to any
>> что именно логировать разницу видите?
>> Отброшенные или пропущенные пакеты?
> А есть принципиальная разница ? До правила дойдут ровно те же пакеты
> и счетчики должны расти точно также. Ну может быть будут больше
> расти, т.к. соединение установится и будет большая активность.Всё-всё. Я сдаюсь, вы победили.
Разницы нету. Никакой.
> Я ему советую поставить логирование на allow
> deny log all from any to any
> allow log all from any to any
> что именно логировать разницу видите?
> Отброшенные или пропущенные пакеты?Мне кажется, я заметил неточность в Ваших рассуждениях.
Дело в том, что, насколько я понимаю, правило срабатывает на проходящий пакет в том случае, если пакет соответствует определенным _условиям_ (т.е. протокол, источник/адресат, направление, интерфейс). А логгирование как раз и отражает факт срабатывания правила.Понимаете? Условие - срабатывание - логгирование - действие.
И вы как раз привносите в эту цепочку совершенно лишние соображения насчёт действия, которое предпринимается уже _после_ проверки условия и логгирования пакета. Они не то, чтобы совсем лишние, они лишние в контексте данной проблемы. Именно на это PavelR и пытался обратить Ваше внимание.
Позволю себе процитировать Вас же: "Это всё есть в man ipfw".
Очередной, прошу прощения, тест на внимательность.
>[оверквотинг удален]
> Дело в том, что, насколько я понимаю, правило срабатывает на проходящий пакет
> в том случае, если пакет соответствует определенным _условиям_ (т.е. протокол, источник/адресат,
> направление, интерфейс). А логгирование как раз и отражает факт срабатывания правила.
> Понимаете? Условие - срабатывание - логгирование - действие.
> И вы как раз привносите в эту цепочку совершенно лишние соображения насчёт
> действия, которое предпринимается уже _после_ проверки условия и логгирования пакета.
> Они не то, чтобы совсем лишние, они лишние в контексте данной
> проблемы. Именно на это PavelR и пытался обратить Ваше внимание.
> Позволю себе процитировать Вас же: "Это всё есть в man ipfw".
> Очередной, прошу прощения, тест на внимательность.Ну да, кто бы говорил про внимательность.
http://www.opennet.me/openforum/vsluhforumID15/4049.html#21
Смотрим на приведённый вами "хвост списка правил"00999 0 0 deny log ip from any to any
65535 149 9543 allow ip from any to anyчто видим? Да нечто странное!
То, чего, по теории, быть не должно, да и не может быть.
Если счётчик пакетов правила 999 с deny по нулям, то откуда в таком случае на последнем правиле взялись пакеты?Если будет с точностью до наоборот, то есть
999 allow ip from any to any
65535 deny ip from any to anyто и в таком случае, на последнем правиле счетчик по прежнему ДОЛЖЕН быть по нулям.
Опять же в теории. На практике же у вас картина другая.Я всего лишь хотел вам подсказать, что логируемые пакеты, если они помечены как deny, БУДУТ попадать в /var/log/security
Но пакеты как allow (неважно, до этого правила или после) туда попадать НЕ будут. Не взирая ни на что. Потому как ключевое слово log отсутствует.
Вас же удивляло то, каким образом в последнее правило попадают пакеты.
Но лог по этому правилу вы не вели. И я вам изначально и советовал, добавить аналогичное предпоследнее правило с уже включённым логированием этих пакетов. Ведь невозможно отслеживать пакеты, логирование которых не включено!
Только тогда эти пакеты попали бы в /var/log/security и вы бы смогли их отследить, в теории!
Ибо на практике таких пакетов, после загрузки, не будет. Но это вы и сами увидели бы.Но в добавок ко всему этому, тут, как всегда, вдруг оказывается, что самокат не мой (или не только мой), тут ещё люди на нём катаются, и чего-то там крутят, рычажки какие-то.
Так, что именно ВАША невнимательность, в конечном итоге и привела к этому пустому флейму.
А цитата про man ipfw - это прямое руководство к действию для вас, меньше подобных тем будет.
> Ещё тест на внимательность.
> Разницу между deny и allow видите?
> Это и есть _принципиальная_ разница.
> Вы же хотите узнать, что попадает, то есть проходит,
> то есть разрешено, а не запрещено?Понимаете, проблема в том, что какие-то пакеты проходят через пользовательские правила, невзирая на то, что эти правила, по идее, должны применяться ко всем пакетам (ip from any to any). Какое действие задано для этих правил - вопрос второстепенный.
Тем не менее, я добавил правило согласно Вашему совету. Посмотрим.
>> Так вы там, в последнем правиле, также логирование включите
>> и посмотрите, что там такое происходит.
>> Туда сыплются пакеты проходящие через интерфейс lo0
> Дефолтное правило не редактируется, насколько мне известно. Как на нём можно включить
> логгирование?
> Пакеты, проходящие через lo0 отсеиваются предыдущим правилом - я не привёл его,
> но оно есть.Занулите дефолтное правило после загрузки системы.
Если после зануления счетчики всё таки начнут расти, сообщите.
> Занулите дефолтное правило после загрузки системы.
> Если после зануления счетчики всё таки начнут расти, сообщите.Сделано.
Насколько я понимаю, Вы считаете, что в моих условиях дефолтное правило всё-таки не должно срабатывать?
>> Занулите дефолтное правило после загрузки системы.
>> Если после зануления счетчики всё таки начнут расти, сообщите.
> Сделано.
> Насколько я понимаю, Вы считаете, что в моих условиях дефолтное правило всё-таки
> не должно срабатывать?я считаю, что в это правило попадают пакеты в момент после загрузки ядра, но до загрузки набора ваших правил. Либо аналогичным образом, в моменты между ipfw flush и загрузкой нового набора правил.
>>> Если после зануления счетчики всё таки начнут расти, сообщите.:-)
Не растут! Благодарю Вас за наводку!
Павел, вас даже неверные исходные данные не могут ввести в заблуждение!
http://www.opennet.me/openforum/vsluhforumID15/4049.html#21
sysctl net.inet.ip.fw.one_pass
?
net.inet6.ip6.fw.enable ?
ну и, для полноты картины,
ipfw -d show
Приношу свои извинения участникам обсуждения!В исходных условиях задачи мною была допущена ошибка. Вот эта предпосылка: "причём именно постоянно, а не только при загрузке или изменении конфигурации ipfw" - оказалась ложной. С машиной работаю не только я и несколько раз без моего ведома конфигурация ipfw менялась.
Я этого в расчет не принял, и потому с удивлением смотрел на рост счётчика дефолтного правила.