Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Делаем резервную копию старого ядра, которое располагается в корневом разделе.
#cp netbsd /
Копируем новое ядро (которое находится в текущем каталоге) в корень. Перезагружаемся:
#reboot
Если новое ядро не загружается по каким-либо причинам, нам нужно загрузить старое, работоспособное ядро, недаром мы его сохранили. В самом начале загрузки NetBSD, когда идет обратный отсчет времени, нажимаем любую клавишу, отличную от enter, и попадаем в boot-меню. Далее вводим:
netbsd.old –s
Вот и все, система загружается со старым ядром. Смотрите внимательно файл конфигурации ядра и думайте, что вы не так сделали. Да, вернемся к размерам ядра, после того как я первый раз пересобрал ядро, его размер уменьшился до ~1.5 Мб. Потом удалось сделать рабочее ядро размером ~1.2 Мб, что почти в 5.5 раз меньше, чем стандартное ядро.
В качестве дополнения о перекомпиляции ядра я вкратце хотел бы рассказать о маленькой утилите, недавно обнаруженной мной в коллекции портов – adjustkernel. Программа на основе имеющегося оборудования сама создаст файл конфигурации ядра. Рассмотрим, как она работает.
#dmesg > dmesg.file
Поместим вывод команды dmesg в файл dmesg.file. На основе этих данных и будет строиться наше новое ядро. Так же в текущий каталог положите ваш файл конфигурации ядра, ну или GENERIC.
#adjustkernel –mesg dmesg.file –outfile newkernel –file GENERIC
Я решил посмотреть, какой файл конфигурации программа создаст на основе GENERIC-файла. В принципе файл конфигурации получился вполне работоспособный. Но в любом случае ему требуется доводка руками. Ведь программа не знает, нужна ли нам на этой машине поддержка IPv6 или файловой системы CODA. А в остальном только положительные отзывы.
Настройка firewall
В качестве firewall в NetBSD используется IPFILTER. Для начала добавляем в /etc/rc.conf строку: IPFIREWALL=YES. Удостоверимся, что ядро собрано с опцией IPFILTER_ DEFAULT_BLOCK, как видно, эта опция служит для того, чтобы по умолчанию все пакеты отвергались. Мне кажется, такой подход при конфигурировании firewall единственно правильный – сначала все закроем, а потом откроем только то, что нам нужно. Правила firewall в файле /etc/ipf.conf. Давайте разберем синтаксис написания правил для IPFILTER. Для того чтобы обозначить, пропускать пакет или нет, используются ключевые слова – pass и block. Для обозначения направления, в котором проходит пакет, используются ключевые слова in и out. Интерфейс указывается ключевым словом on, за которым следует название интерфейса. Маска сети задается как в «дробном», так и в виде xxx.xxx.xxx.xxx. Имеется поддержка фильтрации по имени протокола. Узнать полный список протоколов можно из файла /etc/protocols.
Поддерживается блокировка фрагментированных IP-пакетов. Для TCP/UDP работает фильтрация по номеру порта. Можно использовать некоторые операции над номерами портов.
n = или eq – истина, если номер порта равен передаваемому значению.
n > или gt – истина, если номер порта больше, чем передаваемое значение.
n < или lt – истина, если номер порта меньше, чем передаваемое значение.
n != или ne – истина, если номер порта не равен передаваемому значению.
n => или ge – истина, если номер порта больше или равен переданному значению.
n <= или le – истина, если номер порта меньше или равен переданному значению.