Страница 1 из 3
Компиляция ядра FreeBSD
Добавлено:
13 авг 2009, 07:48
slb51
У меня вот какой вопрос. Почему ядро не компилируется с опциями DUMMYNET, HZ=dummynet, TCP_DROP_SYNFIN, ICMP_BANDLIM и BRIDGE? Без них жить можно, но почему не компилируется? Может они завязаны на другие опции, которые я выкинул по незнанию? Фря версии 8.0 Beta2, но и на 7.2 та же история. Из ядра я выбросил по максимуму всё не нужное, на мой взгляд, для фойервола. Включил в ядро IPFIREWALL, IPFIREWALL_VERBOSE, IPFIREWALL_VERBOSE_LIMIT=10, IPDIVERT, IPFIREWALL_FORWARD, IPFILTER. Команды компиляции даю: "make buildkernel KERNCONF=NEWKERNEL", затем "make installkernel KERNCONF=NEWKERNEL". До второй команды, правда, дело не доходит. Если убираю означенные опции, всё проходит нормально.
Компиляция ядра FreeBSD
Добавлено:
13 авг 2009, 08:40
root
slb51 писал(а):Да я и делал несколькими способами. Но в основном: "make buildkernel KERNCONF=NEWKERNEL" из директории "/usr/src/sys/i386/conf/".
а так пробовал ?
- Код: Выделить всё
cd /usr/src/sys/i386/conf
имя ядра, например SUBNETS
- Код: Выделить всё
config SUBNETS
должен ответить:
Kernel build directory is ../compile/SUBNETS
Don't forget to do ``make cleandepend && make depend''
если ответил, то делаем:
- Код: Выделить всё
cd ../compile/SUBNETS
- Код: Выделить всё
make cleandepend && make depend
если ошибок нет, то:
- Код: Выделить всё
make && make install
- Код: Выделить всё
reboot
Re: Компиляция ядра FreeBSD
Добавлено:
13 авг 2009, 09:00
slb51
И так делал. Только по-отдельности, сначала depend, потом clean. Depend не находит нужных связей.
Re: Компиляция ядра FreeBSD
Добавлено:
13 авг 2009, 09:14
root
slb51 писал(а):Depend не находит нужных связей.
каких ещё связей
короч, показывай последний кусок выводимой инфы на экран, вместе с ошибкой
Re: Компиляция ядра FreeBSD
Добавлено:
13 авг 2009, 11:12
slb51
Вот фрагмент конфигурации ядра:
- Код: Выделить всё
# $FreeBSD: src/sys/i386/conf/MyProxy,v 1.519 2009/07/11 15:02:45 rpaulo Exp $
cpu I686_CPU
Ident MyProxy
maxusers 256
#hints "GENERIC.hints" # Default places to look for devices.
#env "MyProxy.env"
makeoptions DEBUG=-g # Build kernel with gdb(l) debug symbols
#---Mу options----------------------------------------------------------------
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPDIVERT
options IPFIREWALL_FORWARD
options DUMMYNET
options HZ=100
оptiоns TCP_DROP_SYNFIN
options ICMP_BANDLIM
options BRIDGE
options ACCEPT_FILTER_DATA
options TCP_RESTRICT_RST
#---End my options------------------------------------------------------------
После этого:
- Код: Выделить всё
#config MyProxy
- Код: Выделить всё
Proxy# config MyProxy
MyProxy: unknown option "TCP_RESTRICT_RST"
Убираем "TCP_RESTRICT_RST"
- Код: Выделить всё
Proxy# config MyProxy
MyProxy: unknown option "BRIDGE"
Ну и так далее:
MyProxy: unknown option "ICMP_BANDLIM" (BANDLIMIT тоже пробовал)
MyProxy: unknown option "TCP_DROP_SYNFIN"
Потом "#cd ../../compile/MyProxy" и "#make deped" - всё удачно.
Делаем "make clean"- тоже без проблем. "make", "make install". Ну тоесть дальше вопросов не возникает.
Re: Компиляция ядра FreeBSD
Добавлено:
13 авг 2009, 16:48
lehisnoe
Рискну предположить, что:
slb51 писал(а):оptiоns TCP_DROP_SYNFIN
"переехало" в sysctl
- Код: Выделить всё
net.inet.tcp.drop_synfin
slb51 писал(а):options ICMP_BANDLIM
"переехало" в sysctl
- Код: Выделить всё
net.inet.icmp.icmplim
slb51 писал(а):options BRIDGE
переименовалось в device if_bridge
slb51 писал(а):options TCP_RESTRICT_RST
"переехало" в sysctl
- Код: Выделить всё
net.inet.tcp.insecure_rst
P.S. Для задания начальных значений sysctl при буте машины служит файл /etc/sysctl.conf
P.P.S. Я привел аналогию для 7.2-STABLE. В 8-ке это м.б. и по-другому...
Re: Компиляция ядра FreeBSD
Добавлено:
13 авг 2009, 18:03
slb51
Спасибо, теперь всё катит. Только одно "но". То, что перехало в sysctl я запустил командой типа "sysctl net.inet.tcp.drop_synfin=1". В файле sysctl.conf у меня ничего нет кроме коментариев, что и как туда писать я не знаю. Сохранятся ли значения этих переменны после перезагрузки или надо всё-таки что-то написать в sysctl.conf?
Re: Компиляция ядра FreeBSD
Добавлено:
13 авг 2009, 18:16
makky
так и пишешь
- Код: Выделить всё
net.inet.tcp.drop_synfin=1
...
Наверное стоит все-таки открыть курсы по поиску...
Re: Компиляция ядра FreeBSD
Добавлено:
13 авг 2009, 20:12
lehisnoe
slb51 писал(а):В файле sysctl.conf у меня ничего нет кроме коментариев
Так там в комментах (в 4-ой строке) написано:
/etc/sysctl.conf писал(а):``man 5 sysctl.conf'' for details.
если последовать этому совету, то можно прочитать:
man 5 sysctl.conf писал(а):The /etc/sysctl.conf is in
the format of the sysctl(8) command, i.e.
sysctl_mib=value
...
EXAMPLES
# Configure logging.
kern.logsigexit=0
Re: Компиляция ядра FreeBSD
Добавлено:
14 авг 2009, 09:27
slb51
Прошу прощения за глупые, порой, вопросы. Я ещё очень слабо шарю в UNIX-подобных системах. Многое делаю просто из интереса. В принципе мне нужно ядро, которое будет осуществлять очень ограниченную функцию. У меня есть локалка в виде домена Windows 2003, есть выход в корпоративную сеть через шлюз и в интернет через корпоративную сеть. Всё что мне нужно - это ограничить подключение пользователей. Надо дать разрешение группе пользователей только к имеющемуся списку сайтов, другой группе - только к одному сайту и третей группе - полный доступ, всем остальным запретить всё. Думаю, кроме ipfw для этого ничего больше не нужно. NAT- это просто для пробы. Может быть полезным окажется и proxy. Попутно можно защититься от внешних поползновений. Решил сделать это через FreeBSD, с которой до этого дела не имел. Отсюда и глупые вопросы. За помощь большое спасибо. Советы ясные, вразумительные и действенные.