В седьмой версии уже есть netgraph с поддержкой форвардинга портов и ядерный нат для ipfw, а в шестую и пятую его можно вкомпилить (на эту тему я нашёл много статей, например http://www.opennet.me/openforum/vsluhforumID3/12166.html ). Но у меня не работает. Устанавливаю 6.2-RELEASE, скачиваю libalias ( http://lists.freebsd.org/pipermail/freebsd-hackers/2005-Sept... ), дальше как там написано - запускаю скрипт, он успешно патчит исходники ядра, потом собираю ядро прямо без изменений - и вылетает, оугаясь на DUMMYNET:
/usr/src/sys/modules/dummynet/../../netinet/ip_dummynet.c: In function 'dummynet_io':
/usr/src/sys/modules/dummynet/../../netinet/ip_dummynet.c:1180: error: 'O_TAG' undeclared (first use in this function)
/usr/src/sys/modules/dummynet/../../netinet/ip_dummynet.c:1180: error: (Each undeclared identifier is eported only once
/usr/src/sys/modules/dummynet/../../netinet/ip_dummynet.c:1180: error: for each function it appears in)
*** Error code 1Stop in /usr/src/sys/modules/dummynet.
*** Error code 1Stop in /usr/src/sys/modules.
*** Error code 1Stop in /usr/src/sys/i386/compile/GENERIC.
Я что-то слышал про то что при вкомпилировании этой штуковины DUMMYNET становится недоступен, но почему тогда он пытается его собрать?!..
убери
options DUMMYNET
кстати потеряешь возможность шепить.
>убери
>options DUMMYNET
>кстати потеряешь возможность шепить.Я же говорю - я не менял конфиг ядра, а в GENERIC её не стояло! Этой опции там нет, и совершенно непонятно почему он всё равно пытается её собирать...
>>убери
>>options DUMMYNET
>>кстати потеряешь возможность шепить.
>
>Я же говорю - я не менял конфиг ядра, а в GENERIC
>её не стояло! Этой опции там нет, и совершенно непонятно почему
>он всё равно пытается её собирать...Ха! тогда пойдём обратным путём. Раз эта сволочь её хочет, то наоборот добавь эту опцию!
>>>убери
>>>options DUMMYNET
>>>кстати потеряешь возможность шепить.
>>
>>Я же говорю - я не менял конфиг ядра, а в GENERIC
>>её не стояло! Этой опции там нет, и совершенно непонятно почему
>>он всё равно пытается её собирать...
>
>Ха! тогда пойдём обратным путём. Раз эта сволочь её хочет, то наоборот
>добавь эту опцию!Пробовал я, всё это пробовал. ))) Начал дальше разбираться в проблеме, выяснилось что собирается всё равно всё, только "лишние" модули остаются модулями, а не в ядре, а если надо это отключить - то в /etc/make.conf надо это указать. Слова в мане "собрать ядро без libalias" я понял как - надо добавить в /etc/make.conf что WITHOUT_MODULES=libalias ipfw dummynet , тогда и получилось избежать его сборки и нормально всё собралось. Но теперь не хочет собираться libalias, выдаёт что-то про ipfw2-6 - со словами "already was here"... могу посмотреть точнее, если это важно, просто сейчас перед глазами нету...