IpfwNg

Apr 26, 2012 03:11

В честь 26 годовщины 26 апреля уволился с текущей работы и таки наконец начал проект http://wiki.freebsd.org/IpfwNg - хотя на работе FreeBSD и была основной системой, реальную возможность пилить ядро я так и не получил (хотя тот же NAT64 нам бы понадобился не через полгода, так через год ( Read more... )

сети, netgraph, freebsd

Leave a comment

dadv April 28 2012, 14:08:47 UTC
> ну и загрузка всех правил скопом must have.

Есть давным давно, ещё в 4.x было. ipfw sets.

Reply

(The comment has been removed)

dadv April 28 2012, 14:17:05 UTC
И это есть.

Reply

(The comment has been removed)

dadv April 28 2012, 14:34:26 UTC
> Я смотрю на какой то другой ipfw?

Просто надо внимательно читать man ipfw.

ipfw [-cfnNqS] [-p preproc [preproc-flags]] pathname
...
To ease configuration, rules can be put into a file which is processed
using ipfw as shown in the last synopsis line. An absolute pathname must
be used. The file will be read line by line and applied as arguments to
the ipfw utility.

Reply

(The comment has been removed)

dadv April 28 2012, 14:48:22 UTC
> Это я читал. Это издевательство, которое ничем не лучше шел скрипта со строчками ipfw add ...

Тогда я не понял, что должно быть твоём "ipfw -f file"

> Попытаюсь быть экстрасенсом: ты предлагаешь это загружать в некий сет и при успехе делать swap с активным?

Разве это не очевидно?

> А почему эту возможность не добавить нативно? Что бы ipfw загружал правила в память, репортил ошибки, либо, если их нет, загружал опкоды уже в ядро?

Не вижу разницы с существующим сейчас функционалом: в файл пишем команды добавления в set 1, затем swap.

Reply

(The comment has been removed)

dadv April 28 2012, 15:57:45 UTC
Ничего хитровывернутого в описанной процедуре нет, всё весьма прямолинейно. В своём враппере над ipfw я вовсю использовал именно эту процедуру ещё на 4.11.

Reply

(The comment has been removed)

dadv April 28 2012, 16:06:44 UTC
Надо понять и принять, что ipfw - низкоуровневый инструмент типа ассемблера (хотя уже и не машкодов) и не требовать от него большего. Правильный путь это писать высокоуровневые обертки над ним.

Reply

nuclight May 10 2012, 01:35:55 UTC
Нет, этот путь уже не является правильным. Весь проект затеян для того, чтобы приподнять уровень, который слишком уж низкоуровневой (машкоды в наше время уже были бы совсем пиздец). Тем более, он и в низкоуровневой-то части lacks many needed features, которые не позволяют и обертки вменяемые писать.

Reply

dadv May 10 2012, 06:16:54 UTC
"lacks many needed features" - разве что в stateful части, потому что в stateless нет проблем писать вменяемые обертки, я неоднократно писал.

"этот путь уже не является правильным" - универсальный инструмент всегда будет проигрывать специализированному по удобству проблемно-ориентировнного применения, поэтому обёртки всегда будут полезны.

Reply

демагогия nuclight May 10 2012, 21:38:52 UTC
Ты писал - на здоровье, пиши дальше. А остальным требуется нечто более удобное. Если тебе не нравится, так не используй. Но не вынуждай тратить на тебя время и внимание, с твоей защитой status quo и сопротивлением изменениям. Если есть что конструктивное по теме изменений, говори, если нет, молчи.

Reply

dadv May 11 2012, 01:37:41 UTC
> сопротивлением изменениям

Я не сопротивляюсь изменениям. Я сопротивляюсь ломке того, что работает.

Reply


Leave a comment

Up