http://nuclight.livejournal.com/126612.html
Netgraph для пользователя
Многие слышали о сетевой подсистеме Netgraph во FreeBSD, но далеко не все представляют себе, что же это такое, как оно работает, и зачем оно нужно — кроме того, что на нем работает mpd (известная очень производительная реализация PPP/PPTP/L2TP). Да еще по сети ходят многочисленные Howto типа "как считать Netflow на нетграфе", где приводят примеры решения конкретных задач, о самой же подсистеме рассказывая "галопом по Европам" (пишите, мол, так, "синтаксис такой-то").
Проблема в том, что вся документация по netgraph рассчитана на программистов: как маны, так и единственная достаточно подробная статья от автора подсистемы "Все о Netgraph" — в ней дается общий обзор, а за подробностями читатель отсылается в исходники. Что, разумеется, отпугивает новичков, поскольку кажется слишком сложным, а читатели, привыкшие к другим ОС, часто не понимают суть системы и зачем она нужна, если есть vtun, ipt_netflow и другие решения для типовых частных случаев.
Между тем netgraph — это реализованный в ядре коммуникационный фреймворк общего назначения, и в использовании он не сложнее, чем длинная командная строка вида "prog1 | grep | sort | sed | prog2 | awk", просто для начала необходимо понять ряд вещей, о которых я и попытаюсь рассказать доступным языком.
(Примечание: далее будут использованы некоторые фрагменты упоминавшейся выше статьи "All about NetGraph", и кое-где будут примечания с пометкой AANG, показывающие места, в которых та статья уже устарела)
Да, netgraph рассчитан прежде всего на программистов, и требуется иметь некоторое представление о программировании, чтобы его понять. Но знать о некоторых понятиях программирования, синтаксисе описания структур в Си и т.д. — совсем не то же, что действительно программировать. В конце концов, любой администратор, который пишет скрипты, уже немножко программист. Ну а глубокое понимание того, как система работает — необходимое условие как для просто нетривиальных настроек, так и, скажем, оптимизации на максимальную производительность... кто тюнил систему под 100-200 тысяч одновременных соединений, поднимите руки
.......

