diff --git a/ru_RU.KOI8-R/books/handbook/config/chapter.sgml b/ru_RU.KOI8-R/books/handbook/config/chapter.sgml
index fd89b7e6e2..9e0ad771da 100644
--- a/ru_RU.KOI8-R/books/handbook/config/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/config/chapter.sgml
@@ -1,2815 +1,2821 @@
ChernLeeНаписал MikeSmithОсновывается на учебнике, написанном MattDillonи на tuning(7), написанном Настройка и оптимизацияВведениенастройка системыоптимизация системыОдин из важных аспектов &os; это настройка системы.
Правильная настройка системы поможет избежать головной боли при
последующих обновлениях. Эта глава описывает большую часть процесса
настройки &os;, включая некоторые параметры, которые можно
установить для оптимизации системы &os;.После прочтения этой главы вы узнаете:Как эффективно работать с файловыми системами и разделами
подкачки.Основы настройки rc.conf и системы запуска
приложений /usr/local/etc/rc.d.Как настроить и протестировать сетевую карту.Как настроить виртуальные хосты на сетевых устройствах.Как использовать различные файлы конфигурации в
/etc.Как оптимизировать &os;, используя переменные
sysctl.Как увеличить скорость работы дисков и изменить ограничения,
накладываемые ядром.Перед прочтением этой главы вам следует:Понять основы &unix; и &os; ().Ознакомиться с модернизированием исходных текстов &os;
(), и
основами конфигурации/компиляции ядра
().Начальное конфигурированиеРазделы дискаразделы диска/etc/var/usrОсновы построения разделовВо время разметки жёсткого диска с помощью &man.disklabel.8;
или &man.sysinstall.8;, важно помнить, что скорость чтения и записи
данных уменьшается от внешних к внутренним трекам
диска. Самые маленькие и самые
часто используемые файловые системы (корневую и раздел подкачки)
должны быть расположены в начале
диска, в то время как самые большие, такие, как
/usr, в конце. Самым оптимальным считается
следующий порядок расположения файловых систем: root, swap,
/var, /usr.Размер файловой системы /var определяется
предназначением машины. /var
используется для хранения почтовых ящиков, очередей печати и
лог файлов. Размер почтовых ящиков и лог файлов может расти
неограниченно в зависимости от количества пользователей
системы и от того, как долго хранятся лог-файлы. Большинству
пользователей никогда не потребуется гигабайт, но помните, что
/var/tmp должен быть достаточно большим для
пакетов.В разделе /usr содержит большинство
файлов, необходимых для поддержки системы, &man.ports.7;
(порты, рекомендуется) и исходные тексты (опционально).
Оба эти каталога опциональны при установке. Для этого
раздела рекомендуется как минимум 2 гигабайта.При установке размера разделов, не забудьте принять во внимание
рост размера требуемого системе дискового пространства.
Переполнение одного раздела даже при наличии свободного места на
другом может вызвать затруднения.Многие пользователи обнаружили, что размер разделов,
предлагаемый &man.sysinstall.8;'ом по умолчанию, иногда
меньше подходящего для разделов /var и
/. Тщательно планируйте размер разделов и
не жалейте места.Раздел подкачкиразмер раздела подкачкираздел подкачкиКак правило, размер раздела подкачки должен быть равен
удвоенному размеру оперативной памяти. Например, если на машине
установлено 128 мегабайт памяти, раздел
подкачки должен быть 256 мегабайт. Системы с меньшим
количеством памяти могут работать лучше с большим объёмом
раздела подкачки. Не рекомендуется устанавливать размер
раздела подкачки меньше 256 мегабайт, необходимо также
принять во внимание возможное наращивание объема установленной
на машине памяти.
Алгоритмы кэширования VM настроены на максимальное быстродействие, когда
размер раздела подкачки равен как минимум удвоенному размеру
памяти. Заниженный размер раздела подкачки может привести к
неэффективной работе постраничного сканирования VM и вызвать
проблемы при увеличении объёма памяти.На больших системах с несколькими SCSI дисками (или несколькими
IDE дисками, находящимися на разных контроллерах),
рекомендуется создавать раздел подкачки на каждом диске (до четырёх
дисков). Разделы подкачки должны быть примерно
одного размера. Ядро не накладывает ограничений на размер раздела
подкачки, но внутренние структуры позволяют иметь общий размер
разделов подкачки, равный наибольшему, умноженному на четыре.
Выделение под разделы подкачки примерно одинакового места позволить
ядру оптимально расположить разделы подкачки. Установка
размера подкачки больше требуемого нормальна, даже если этот
объем не используется. В этих условиях может быть проще
восстановиться после зависания программы перед тем, как
возникнет необходимость перезагрузки.Зачем нужны разделы?Некоторые пользователи считают, что лучше использовать
один большой раздел, но есть несколько причин, по которым этого
лучше не делать. Во-первых, у
каждого раздела свои характеристики, и отделяя их, можно
выполнить соответствующие настройки. Например, корневая и
файловая система и /usr в основном
предназначены для чтения, без большого объема записи.
В то же время множество операций чтения и записи
выполняется в /var
и /var/tmp.При правильном размещении и выборе размера разделов
системы, фрагментация в более маленьких разделах, куда часто
записываются данные, не перенесётся на остальные разделы.
Размещение самых часто используемых разделов ближе к началу диска
увеличит скорость ввода/вывода там, где она нужна больше всего.
Хотя производительность важна и для больших дисков,
передвижение их ближе к концу диска не повлечёт
значительного уменьшения быстродействия по сравнению с перемещением
ближе к концу диска /var.
И, наконец, разделы существуют и из соображений
безопасности. Наличие маленького аккуратного корневого раздела,
доступного только для чтения даёт значительные шансы на "выживание"
после краха системы.Основные настройкиrc файлыrc.confОсновные настройки системы располагаются в
/etc/rc.conf. Этот файл вмещает широкий спектр
конфигурационной информации, используемой при загрузке системы.
Имя этого файла прямо отражает его назначение, это файл настройки
для файлов rc*.Администратор должен сделать записи в
rc.conf чтобы переопределить строки по умолчанию из
/etc/defaults/rc.conf. Файлы по умолчанию нельзя
копировать в /etc - они вмещают значения по
умолчанию, а не примеры значений. Все специфичные для данной системы
изменения должны быть сделаны в файле
rc.conf.Существует несколько методов для отделения общей конфигурации для
группы систем от конкретной для данной системы в целях уменьшения объема
работы администратора. Рекомендуемый метод
- прописать общую конфигурацию в отдельный файл, например, в
/etc/rc.conf.site, и включить его название в
/etc/rc.conf, который вмещает только специфичную
для данной системы информацию.Поскольку rc.conf читается
&man.sh.1;, есть тривиальный способ сделать это. Например:rc.conf: . rc.conf.site
hostname="node15.example.com"
network_interfaces="fxp0 lo0"
ifconfig_fxp0="inet 10.1.1.1"rc.conf.site: defaultrouter="10.1.1.254"
saver="daemon"
blanktime="100"Файл rc.conf.site может быть распространён
на все системы, используя rsync или подобную ей
программу, в то время, как rc.conf должен остаться
только на одной машине.Обновление системы с помощью &man.sysinstall.8;
или make world не повлекут за собой перезапись
rc.conf. Вся информация в этом файле
сохранится.Настройка приложенийОбычно, установленные приложения имеют свои конфигурационные файлы,
со своим собственным синтаксисом. Важно хранить эти файлы отдельно от
файлов основной системы, чтобы их можно было легко администрировать с
помощью средств управления пакетами./usr/local/etcОбычно эти файлы устанавливаются в
/usr/local/etc. В случае, если приложению нужно
большое количество конфигурационных файлов, для их хранения будет
создан подкаталог.Обычно, вместе с установкой портов и пакетов, устанавливаются и
примеры конфигурационных файлов. Обычно они имеют расширение
.default. Если не существует конфигурационных файлов
для этого приложения, они будут созданы путём копирования
.default файлов.Например, /usr/local/etc/apache:-rw-r--r-- 1 root wheel 2184 May 20 1998 access.conf
-rw-r--r-- 1 root wheel 2184 May 20 1998 access.conf.default
-rw-r--r-- 1 root wheel 9555 May 20 1998 httpd.conf
-rw-r--r-- 1 root wheel 9555 May 20 1998 httpd.conf.default
-rw-r--r-- 1 root wheel 12205 May 20 1998 magic
-rw-r--r-- 1 root wheel 12205 May 20 1998 magic.default
-rw-r--r-- 1 root wheel 2700 May 20 1998 mime.types
-rw-r--r-- 1 root wheel 2700 May 20 1998 mime.types.default
-rw-r--r-- 1 root wheel 7980 May 20 1998 srm.conf
-rw-r--r-- 1 root wheel 7933 May 20 1998 srm.conf.defaultРазмеры файлов показывают, что только файл
srm.conf был изменён. При следующем обновлении
Apache этот файл уже не будет
перезаписан.Запуск сервисовсервисыОбычно в системе работает множество сервисов. Их можно
запустить различными способами, каждый из которых имеет свои
преимущества./usr/local/etc/rc.dПрограммное обеспечение, установленное из коллекции портов или
пакетов обычно записывает свои скрипты в
/usr/local/etc/rc.d
который выполняется с аргументом при запуске
и с аргументом при завершении работы системы.
Этот метод запуска рекомендуется, если вы запускаете сервисы как
root, или же они должны быть запущены с
привилегиями root. Эти скрипты устанавливаются
вместе с пакетами, и соответственно, при удалении пакетов скрипты будут
также удалены.Типичный скрипт из /usr/local/etc/rc.d,
выполняющийся при запуске выглядит следующим образом:#!/bin/sh
echo -n ' FooBar'
case "$1" in
start)
/usr/local/bin/foobar
;;
stop)
kill -9 `cat /var/run/foobar.pid`
;;
*)
echo "Usage: `basename $0` {start|stop}" >&2
exit 64
;;
esac
exit 0
Стартовые скрипты &os; ищут в каталоге
/usr/local/etc/rc.d скрипты с расширением
.sh, исполняемые пользователем
root. Обнаруженные скрипты выполняются с
с параметром при старте системы и с параметром
при завершении работы системы.
Поэтому если вы хотите использовать пример скрипта выше и запускать
его во время старта системы, сохраните его в каталоге
/usr/local/etc/rc.d с именем
FooBar.sh и убедитесь, что он исполняемый.
Вы можете сделать скрипт исполняемым с помощью &man.chmod.1;,
как показано ниже:&prompt.root; chmod 755 FooBar.shНекоторые сервисы должны быть запущены &man.inetd.8; при установке
соединения с определённым портом. Это может понадобиться, например,
для почтовых серверов (POP, IMAP, и т.д.). Для этого нужно
отредактировать файл /etc/inetd.conf.
Подробнее о работе с этим файлом вы можете прочитать в
&man.inetd.8;.Некоторые дополнительные системные сервисы могут быть не учтены
в файле /etc/rc.conf. Тогда для их запуска нужно
прописать соответствующую команду в /etc/rc.local.
Во &os; 3.1 не предусмотрен /etc/rc.local;
но считается признаком хорошего тона создание этого файла
администратором. Заметьте, что rc.local
используется для запуска сервисов только в крайнем случае.
Если есть лучший способ запустить сервис, используйте его.Не записывайте свои команды в
/etc/rc.conf. Для запуска демонов, или для
выполнения вашей команды во время запуска - запишите ваш скрипт
в /usr/local/etc/rc.d.Также допускается использование &man.cron.8; для запуска системных
сервисов. Этот метод обладает рядом преимуществ, которые заключаются не
только в том, что &man.cron.8; запускает эти процессы, как владелец
crontab, но и в том, что сервисы могут быть
запущены и не привилегированными пользователями.Очень удобно пользоваться возможностью
&man.cron.8;, которая заключается в том, что если вместо времени
указать @reboot, запланированная программа будет
запущена сразу после запуска &man.cron.8; после перезагрузки
системы.TomRhodesПредоставил Настройка утилиты croncronнастройкаОдна из наиболее полезных утилит &os; это &man.cron.8;. Утилита
cron работает в фоновом режиме и постоянно проверяет
файл /etc/crontab. Утилита cron
проверяет также каталог /var/cron/tabs в поиске
новый файлов crontab. Файлы
crontab содержат информацию об определенных
функциях, которые cron выполняет в указанное
время.Давайте заглянем в файл /etc/crontab:# /etc/crontab - root's crontab for &os;
#
# $&os;: src/etc/crontab,v 1.32 2002/11/22 16:13:39 tom Exp $
#
#
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
HOME=/var/log
#
#
#minute hour mday month wday who command
#
#
*/5 * * * * root /usr/libexec/atrun Как и в большинстве файлов настройки FreeBSD, символы #
означают комментарии. Комментарии нужны для напоминания о том,
что означает строка и зачем она добавлена. Комментарии не могут
находиться на той же строке, что и команда, или они будут
восприняты как часть команды; располагайте их на новой строке.
Пустые строки игнорируются.Сначала должны быть заданы переменные окружения. Знак равно
(=) используется для задания переменных
окружения, в этом примере SHELL, PATH,
и HOME. Если переменная для оболочки не задана,
cron использует оболочку по умолчанию,
sh. Если не задана переменная
PATH, значение по умолчанию не устанавливается и
пути к файлам должны быть полными. Если не задана переменная
HOME, cron будет использовать
домашний каталог соответствующего пользователя.В строке всего семь полей. Их значения
minute, hour,
mday, month,
wday, who (кто), и
command. Значение полей почти очевидно.
minute это время в минутах, когда будет запущена
команда. hour означает то же самое для часов.
mday означает день месяца.
month, это то же самое, что час и минута,
но для месяцев. Параметр wday это день
недели. Все эти поля должны быть в
числовом формате, время в двадцатичетырехчасовом исчислении.
Поле who имеет специальное значение, и
присутствует только в файле /etc/crontab.
Это поле определяет пользователя, с правами которого должна быть
запущена команда. Когда пользователь устанавливает собственный
файл crontab, он не указывает этот параметр.
Последний параметр command. Он указывает команду, которая должна
быть запущена.Последняя строка определяет параметры, описанные выше. Здесь
задано значение */5, и несколько символов
*. Эти символы * означают
первый-последний, и могут быть интерпретированы как
каждый. Таким образом, для этой строки
соответствующая команда atrun вызывается
под пользователем root каждые пять минут
независимо от дня или месяца. За дополнительной информацией по
команде atrun обращайтесь к странице справочника
&man.atrun.8;.Команды могут принимать любое количество параметров; однако
команды, состоящие из нескольких строк, должны быть объединены
символом \.Этот формат одинаков для каждого файла crontab,
за исключением одной детали. Шестое поле, где указано имя пользователя,
присутствует только в файле /etc/crontab. Это
поле должно быть исключено из crontab файлов
пользователей.Установка crontabДля установки готового crontab, используйте
утилиту crontab. Обычно она используется
так:&prompt.root; crontab crontabСуществует также параметр для просмотра установленных файлов
crontab, задайте crontab
параметр .Для пользователей, составляющих crontab вручную, без временного
файла, существует параметр crontab -e.
Она вызовет редактор с пустым файлом. Когда файл будет сохранен,
crontab автоматически установит его.TomRhodesПредоставил Использование rc в FreeBSD 5.XrcNGВ &os; недавно была интегрирована из NetBSD система
rc.d, используемая для старта системы.
Многие из файлов в каталоге /etc/rc.d
предназначены для основных сервисов, они могут управляться
параметрами ,
, и
. Например, &man.sshd.8; может быть
перезапущен следующей командой:&prompt.root; /etc/rc.d/sshd restartЭта процедура похожа для других сервисов. Конечно, сервисы
обычно запускаются автоматически, как указано в &man.rc.conf.5;.
Например, включение даемона Network Address Translation
при запуске выполняется простым добавлением следующей строки
в /etc/rc.conf:natd_enable="YES"Если уже присутствует,
просто измените на .
Скрипты rc автоматически загрузят все другие зависимые
сервисы, как описано ниже.Поскольку система rc.d в основном предназначена
для запуска/отключения сервисов во время запуска/отключения
системы, стандартные параметры ,
и будут работать
только если установлена соответствующая переменная в
/etc/rc.conf. Например, команда выше
sshd restart будет работать только если
переменная sshd_enable в файле
/etc/rc.confустановлена в .
Для выполнения скриптов независимо от установок в
/etc/rc.conf, параметры ,
или необходимо
задавать с префиксом force. Например, для
перезапуска sshd независимо от установок в
/etc/rc.conf, выполните следующую
команду:&prompt.root; /etc/rc.d/sshd forcerestartПроверить состояние переменной в файле
/etc/rc.conf легко: запустите соответствующий
скрипт из rc.d с параметром
. Проверка переменной для
sshd выполняется следующей командой:&prompt.root; /etc/rc.d/sshd rcvar
# sshd
$sshd_enable=YESВторая строка (# sshd) это вывод
команды sshd, а не консоль
root.Чтобы определить, запущен ли сервис, существует параметр
. Например для проверки того, запущен ли
sshd, выполните:&prompt.root; /etc/rc.d/sshd status
sshd is running as pid 433.Возможна также перегрузка () сервиса.
Скрипт, запущенный с этим параметром, попытается отправить сервису
сигнал, вызывающий перезагрузку файлов настройки. В большинстве
случаев это означает отправку сервису сигнала
SIGHUP.Структура rcNG используется не только для
сетевых серверов, она отвечает также за большую часть инициализации
системы.
Рассмотрим, к примеру, файл bgfsck. Во время
выполнения этот скрипт выводит следующее сообщение:Starting background file system checks in 60 seconds.Следовательно, этот файл используется для фоновой проверки файловых
систем, которая выполняется только в процессе инициализации
системы.Функционирование многих сервисов системы зависит от корректной
работы других сервисов. Например, NIS и другие основанные на
RPC сервисы могут не запуститься, пока не загрузится
rpcbind (portmapper). Для разрешения этой
проблемы, в начале каждого скрипта в комментарии включаются
информация о зависимостях и другие метаданные. Программа
&man.rcorder.8; для разбора этих комментариев во время старта
системы для определения порядка, в котором должны вызываться
системные сервисы в соответствии с зависимостями. В начало
каждого стартового файла должны быть включены следующие
строки:PROVIDE: Задает имя сервиса, предоставляемого этим файлом.REQUIRE: Список сервисов, необходимых этому сервису. Этот
файл будет запущен после указанных
сервисов.BEFORE: Список сервисов, зависящих от этого сервиса. Этот
файл будет запущен до указанных
сервисов.KEYWORD: &os; или NetBSD. Используется для функций,
зависящих от версии *BSD.Используя этот метод, администратор может легко контролировать
системные сервисы без использования уровней запуска,
как в некоторых других операционных системах &unix;.Дополнительную информацию о системе rc.d
&os; 5.X можно найти на страницах справочника &man.rc.8; и
and &man.rc.subr.8;.MarcFonvieilleПредоставил Настройка карт сетевых интерфейсовнастройка сетевой картыВ наши дни мы не представляем себе компьютера без сетевого
подключения. Добавление и настройка сетевой карты это
обычная задача любого администратора &os;.Поиск подходящего драйверанастройка сетевой картыпоиск драйвераВ первую очередь определите тип используемой карты (PCI или ISA),
модель карты и используемый в ней чип. &os; поддерживает
многие PCI и ISA карты. Обратитесь к Списку поддерживаемого
оборудования вашего релиза чтобы узнать, поддерживается ли
карта.Как только вы убедились, что карта поддерживается, потребуется
определить подходящий драйвер. В файле
/usr/src/sys/i386/conf/LINT находится список
драйверов сетевых интерфейсов с информацией о поддерживаемых
чипсетах/картах. Если вы сомневаетесь в том, какой драйвер
подойдет, прочтите страницу справочника к драйверу.
Страница справочника содержит больше информации о поддерживаемом
оборудовании и даже о проблемах, которые могут возникнуть.Если ваша карта широко распространена, вам скорее всего
не потребуется долго искать драйвер. Драйверы для
широко распространенных карт представлены в ядре
GENERIC, так что ваша карта должна определиться
при загрузке, примерно так:dc0: <82c169 PNIC 10/100BaseTX> port 0xa000-0xa0ff mem 0xd3800000-0xd38
000ff irq 15 at device 11.0 on pci0
dc0: Ethernet address: 00:a0:cc:da:da:da
miibus0: <MII bus> on dc0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
dc1: <82c169 PNIC 10/100BaseTX> port 0x9800-0x98ff mem 0xd3000000-0xd30
000ff irq 11 at device 12.0 on pci0
dc1: Ethernet address: 00:a0:cc:da:da:db
miibus1: <MII bus> on dc1
ukphy1: <Generic IEEE 802.3u media interface> on miibus1
ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, autoВ этом примере две карты используют имеющийся в системе
драйвер &man.dc.4;.Для использования сетевой карты потребуется загрузить
подходящий драйвер. Это можно сделать двумя способами.
Самый простой способ это загрузка модуля ядра для
сетевой карты с помощью &man.kldload.8;. Не для каждой
сетевой карты есть модуль (например ISA карты и карты,
использующие драйвер &man.ed.4;). В качестве альтернативы,
вы можете статически добавить поддержку сетевой карты
в ядро. Проверьте /usr/src/sys/i386/conf/LINT
и страницу справочника драйвера, чтобы узнать, что добавить
в файл конфигурации ядра. За дополнительной информацией о
пересборке ядра обращайтесь к .
Если ваша карта была обнаружена ядром (GENERIC)
во время загрузки, собирать новое ядро не потребуется.Настройка сетевой картынастройка сетевой картынастройкаКак только для сетевой карты загружен подходящий драйвер,
ее потребуется настроить. Как и многое другое, сетевая
карта может быть настроена во время установки с помощью
sysinstall.Для вывода информации о настройке сетевых интерфейсов системы,
введите следующую команду:&prompt.user; ifconfig
dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255
ether 00:a0:cc:da:da:da
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
dc1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255
ether 00:a0:cc:da:da:db
media: Ethernet 10baseT/UTP
status: no carrier
lp0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000
tun0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500Старые версии &os; могут потребовать запуска
&man.ifconfig.8; с параметром , за
более подробным описанием синтаксиса &man.ifconfig.8;
обращайтесь к странице справочника. Учтите также, что
строки, относящиеся к IPv6 (inet6 и т.п.)
убраны из этого примера.В этом примере были показаны следующие устройства:dc0: первый Ethernet
интерфейсdc1: второй Ethernet
интерфейсlp0: интерфейс параллельного
портаlo0: устройство loopbacktun0: туннельное устройство,
используемое pppДля присвоения имени сетевой карте &os; использует имя
драйвера и порядковый номер, в котором карта обнаруживается
при инициализации устройств. Например, sis2
это третья сетевая карта, использующая драйвер &man.sis.4;.В этом примере, устройство dc0 включено
и работает. Ключевые признаки таковы:UP означает, что карта настроена и
готова.У карты есть интернет (inet)
адрес (в данном случае
192.168.1.3).Установлена маска подсети (netmask;
0xffffff00, то же, что и
255.255.255.0).Широковещательный адрес (в данном случае,
192.168.1.255).Значение MAC адреса карты (ether)
00:a0:cc:da:da:daВыбор физической среды передачи данных в режиме автовыбора
(media: Ethernet autoselect (100baseTX
<full-duplex>)). Мы видим, что
dc1 была настроена для работы с
10baseT/UTP. За более подробной
информацией о доступных драйверу типах среды обращайтесь
к странице справочника.Статус соединения (status)
active, т.е. несущая обнаружена.
Для dc1, мы видим
status: no carrier. Это нормально, когда
ethernet кабель не подключен к карте.Если &man.ifconfig.8; показывает примерно следующее:dc0: flags=8843<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
ether 00:a0:cc:da:da:daэто означает, что карта не была настроена.Для настройки карты вам потребуются привилегии пользователя
root. Настройка сетевой карты может быть
выполнена из командной строки с помощью &man.ifconfig.8;, но
вам потребуется делать это после каждой перезагрузки системы.
Подходящее место для настройки сетевых карт это файл
/etc/rc.conf.Откройте /etc/rc.conf в текстовом
редакторе. Вам потребуется добавить строку для каждой сетевой
карты, имеющейся в системе, например, в нашем случае, было
добавлено две строки:ifconfig_dc0="inet 192.168.1.3 netmask 255.255.255.0"
ifconfig_dc1="inet 10.0.0.1 netmask 255.255.255.0 media 10baseT/UTP"Замените dc0,
dc1, и так далее на соответствующие
имена ваших карт, подставьте соответствующие адреса.
Обратитесь к страницам справочника сетевой карты и
&man.ifconfig.8;, за подробной информацией о доступных
опциях и к странице справочника &man.rc.conf.5; за дополнительной
информацией о синтаксисе /etc/rc.conf.Если вы настроили сетевую карту в процессе установки системы,
некоторые строки, касающиеся сетевой карты, могут уже присутствовать.
Внимательно проверьте /etc/rc.conf перед
добавлением каких-либо строк.Отредактируйте также файл /etc/hosts
для добавления имен и IP адресов различных компьютеров сети,
если их еще там нет. За дополнительной информацией обращайтесь
к man.hosts.5;
и к /usr/share/examples/etc/hosts.Тестирование и решение проблемКак только вы внесете необходимые изменения в
/etc/rc.conf, перегрузите компьютер.
Изменения настроек интерфейсов будут применены, кроме того
будет проверена правильность настроек.Как только система перезагрузится, проверьте сетевые
интерфейсы.Проверка Ethernet картынастройка сетевой картытестирование картыДля проверки правильности настройки сетевой карты,
попробуйте выполнить ping для самого интерфейса, а затем
для другой машины в локальной сети.Сначала проверьте локальный интерфейс:&prompt.user; ping -c5 192.168.1.3
PING 192.168.1.3 (192.168.1.3): 56 data bytes
64 bytes from 192.168.1.3: icmp_seq=0 ttl=64 time=0.082 ms
64 bytes from 192.168.1.3: icmp_seq=1 ttl=64 time=0.074 ms
64 bytes from 192.168.1.3: icmp_seq=2 ttl=64 time=0.076 ms
64 bytes from 192.168.1.3: icmp_seq=3 ttl=64 time=0.108 ms
64 bytes from 192.168.1.3: icmp_seq=4 ttl=64 time=0.076 ms
--- 192.168.1.3 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.074/0.083/0.108/0.013 msЗатем проверьте другую машину в локальной сети:&prompt.user; ping -c5 192.168.1.2
PING 192.168.1.2 (192.168.1.2): 56 data bytes
64 bytes from 192.168.1.2: icmp_seq=0 ttl=64 time=0.726 ms
64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=0.766 ms
64 bytes from 192.168.1.2: icmp_seq=2 ttl=64 time=0.700 ms
64 bytes from 192.168.1.2: icmp_seq=3 ttl=64 time=0.747 ms
64 bytes from 192.168.1.2: icmp_seq=4 ttl=64 time=0.704 ms
--- 192.168.1.2 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.700/0.729/0.766/0.025 msВы можете также использовать имя машины вместо
192.168.1.2, если настроен файл
/etc/hosts.Решение проблемнастройка сетевой картырешение проблемРешение проблем с аппаратным и программным обеспечением всегда
вызывает сложности, которые можно уменьшить, проверив сначала
самые простые варианты. Подключен ли сетевой кабель? Правильно ли
настроены сетевые сервисы? Правильно ли настроен межсетевой экран?
Поддерживается ли используемая карта в &os;? Всегда проверяйте
информацию об оборудовании перед отправкой сообщения об ошибке.
Обновите &os; до последней версии STABLE. Просмотрите
архивы списков рассылки, или поищите информацию в интернет.Если карта работает, но производительность низка, может помочь
чтение страницы справочника &man.tuning.7;. Проверьте также
настройки сети, поскольку неправильные настройки могут стать причиной
низкой скорости соединения.Некоторые пользователи встречаются с несколькими
device timeouts, что нормально для некоторых сетевых
карт. Если это продолжается и надоедает, убедитесь, что
устройство не конфликтует с другим устройством. Внимательно
проверьте подключение кабеля. Возможно также, что вам просто надо
установить другую карту.Время от времени, пользователи видят несколько ошибок
watchdog timeout. Первое, что требуется сделать,
это проверить сетевой кабель. Многие карты требуют поддержки
Bus Mastering слотом PCI. На некоторых старых материнских платах,
только один PCI слот имеет такую поддержку (обычно слот 0).
Сверьтесь с документацией на сетевую карту и материнскую плату,
чтобы определить, может ли это быть проблемой.Сообщение No route to host появляются, если
система не в состоянии доставить пакеты к хосту назначения.
Это может случиться, если не определен маршрут по умолчанию,
или кабель не подключен. Проверьте вывод команды netstat
-rn и убедитесь, что к соответствующему хосту
есть работающий маршрут. Если это не так, прочтите .Сообщения ping: sendto: Permission denied
зачастую появляются при неправильно настроенном межсетевом экране.
Если ipfw включен в ядре, но правила не
определены, правило по умолчанию блокирует весь трафик,
даже запросы ping! Прочтите с более подробной информацией.Иногда карты недостаточна, или ниже среднего. В этих случаях
лучше всего изменить режим выбора типа подключения с
autoselect на правильный тип.
Обычно это работает для большинства оборудования, но не может
решить проблему во всех случаях. Проверьте еще раз настройки сети
и прочтите страницу руководства &man.tuning.7;.Настройка виртуальных сервероввиртуальные серверасинонимы ipОчень часто &os; используется для размещения сайтов, когда
один сервер работает в сети как несколько серверов. Это достигается
присвоением нескольких сетевых адресов одному интерфейсу.У сетевого интерфейса всегда есть один настоящий адрес, хотя он
может иметь любое количество синонимов (alias). Эти алиасы обычно
добавляются путём помещения синонимов в
/etc/rc.conf.Синоним для интерфейса fxp0 выглядит
следующим образом:ifconfig_fxp0_alias0="inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx"Заметьте, что алиас записи должны начинаться с alias0 и идти далее
в определенном порядке, (например, _alias1, _alias2, и т.д.).
Конфигурационный процесс остановится на первом отсутствующем по порядку
числе.Определение маски подсети для синонима очень важно, но к счастью, так же
просто. Для каждого интерфейса должен быть один адрес с истинной маской
подсети. Любой другой адрес в сети должен иметь маску подсети, состоящую
из всех единичек.Например, рассмотрим случай, когда интерфейс
fxp0 подключён к двум сетям, к сети
10.1.1.0 с маской подсети
255.255.255.0 и к сети
202.0.75.16 с маской
255.255.255.240. Мы хотим,
чтобы система была видна по IP, начиная с
10.1.1.1 по
10.1.1.5 и с
202.0.75.17 по
202.0.75.20.Для этого должны быть внесены следующие записи: ifconfig_fxp0="inet 10.1.1.1 netmask 255.255.255.0"
ifconfig_fxp0_alias0="inet 10.1.1.2 netmask 255.255.255.255"
ifconfig_fxp0_alias1="inet 10.1.1.3 netmask 255.255.255.255"
ifconfig_fxp0_alias2="inet 10.1.1.4 netmask 255.255.255.255"
ifconfig_fxp0_alias3="inet 10.1.1.5 netmask 255.255.255.255"
ifconfig_fxp0_alias4="inet 202.0.75.17 netmask 255.255.255.240"
ifconfig_fxp0_alias5="inet 202.0.75.18 netmask 255.255.255.255"
ifconfig_fxp0_alias6="inet 202.0.75.19 netmask 255.255.255.255"
ifconfig_fxp0_alias7="inet 202.0.75.20 netmask 255.255.255.255"Файлы настройкиКаталог /etcВо FreeBSD определён ряд директорий, предназначенных для
хранения конфигурационных файлов. Это:/etcОсновные файлы конфигурации системы. Тут размещены
системно–зависимые данные./etc/defaultsВерсии системных конфигурационных файлов по
умолчанию./etc/mailДополнительные конфигурационные файлы &man.sendmail.8;
остальные конфигурационные файлы MTA.
/etc/pppНастройка для user- и kernel-ppp программ.
/etc/namedbОсновное место расположения данных &man.named.8;.
Обычно named.conf и файлы зон
расположены здесь./usr/local/etcКонфигурационные файлы установленных приложений. Могут
содержать подкаталоги приложений./usr/local/etc/rc.dСкрипты запуска/остановки установленных приложений./var/dbАвтоматически генерируемые системно-специфичные файлы
баз данных, такие как база данных пакетов, и так
далееИмена хостовhostnameDNS/etc/resolv.confresolv.conf/etc/resolv.conf определяет, как
ресолвер (resolver) &os; получает доступ к Системе Доменных
Имён (DNS).Основные записи resolv.conf:
nameserverIP адрес сервера имён. Сервера опрашиваются в порядке
описания. Максимальное количество адресов - три.searchСписок доменов для поиска с помощью hostname lookup.
Обычно определяется доменом, в котором находится
компьютер.domainДомен, в котором находится компьютер.Типичный вид resolv.conf:search example.com
nameserver 147.11.1.11
nameserver 147.11.100.30Опции search и
domain нельзя использовать
совместно.Если вы используете DHCP, &man.dhclient.8; обычно перезаписывает
resolv.conf информацией, полученной от серверов
DHCP./etc/hostshosts/etc/hosts - простая текстовая база
данных, напоминающая старый Интернет. Она работает совместно с
DNS и NIS, сопоставляя доменные имена IP адресу.
Отдельные компьютеры, соединённые с помощью локальной сети могут
быть записаны тут вместо &man.named.8; сервера с целью упрощения.
Кроме того, /etc/hosts используется для
записи IP адресов и соответствующих им доменов, избавляя от
внешнего трафика, используемого для запросов к DNS серверам.# $&os;$
#
# Host Database
# This file should contain the addresses and aliases
# for local hosts that share this file.
# In the presence of the domain name service or NIS, this file may
# not be consulted at all; see /etc/nsswitch.conf for the resolution order.
#
#
::1 localhost localhost.my.domain myname.my.domain
127.0.0.1 localhost localhost.my.domain myname.my.domain
#
# Imaginary network.
#10.0.0.2 myname.my.domain myname
#10.0.0.3 myfriend.my.domain myfriend
#
# According to RFC 1918, you can use the following IP networks for
# private nets which will never be connected to the Internet:
#
# 10.0.0.0 - 10.255.255.255
# 172.16.0.0 - 172.31.255.255
# 192.168.0.0 - 192.168.255.255
#
# In case you want to be able to connect to the Internet, you need
# real official assigned numbers. PLEASE PLEASE PLEASE do not try
# to invent your own network numbers but instead get one from your
# network provider (if any) or from the Internet Registry (ftp to
# rs.internic.net, directory `/templates').
#Формат /etc/hosts:[IP адрес в Интернете] [имя компьютера] [alias1] [alias2] ...Например:10.0.0.1 myRealHostname.example.com myRealHostname foobar1 foobar2За дополнительной информацией обращайтесь к &man.hosts.5;.Настройка лог файловлог файлыsyslog.confsyslog.confsyslog.conf is является файлом конфигурации
для &man.syslogd.8;. В нём указываются, типы сообщений
генерируемые syslog, и лог файлы, в которые они
записываются.# $&os;$
#
# Spaces ARE valid field separators in this file. However,
# other *nix-like systems still insist on using tabs as field
# separators. If you are sharing this file between systems, you
# may want to use only tabs as field separators here.
# Consult the syslog.conf(5) manual page.
*.err;kern.debug;auth.notice;mail.crit /dev/console
*.notice;kern.debug;lpr.info;mail.crit;news.err /var/log/messages
security.* /var/log/security
mail.info /var/log/maillog
lpr.info /var/log/lpd-errs
cron.* /var/log/cron
*.err root
*.notice;news.err root
*.alert root
*.emerg *
# uncomment this to log all writes to /dev/console to /var/log/console.log
#console.info /var/log/console.log
# uncomment this to enable logging of all log messages to /var/log/all.log
#*.* /var/log/all.log
# uncomment this to enable logging to a remote log host named loghost
#*.* @loghost
# uncomment these if you're running inn
# news.crit /var/log/news/news.crit
# news.err /var/log/news/news.err
# news.notice /var/log/news/news.notice
!startslip
*.* /var/log/slip.log
!ppp
*.* /var/log/ppp.logЗа более полной информацией обратитесь
к &man.syslog.conf.5;.newsyslog.confnewsyslog.confnewsyslog.conf - конфигурационный файл
&man.newsyslog.8;, программы, обычно контролируемой &man.cron.8;.
&man.newsyslog.8; определяет, когда лог-файлы нуждаются в
архивировании и перегруппировке.
logfile перемещается в
logfile.0, logfile.0
перемещается в logfile.1, и так далее.
Другое именование получится при архивировании с помощью
&man.gzip.1;: logfile.0.gz,
logfile.1.gz, и т.д.newsyslog.conf показывает, какие лог файлы
должны быть проинспектированы, сколько их должно быть сохранено, и когда
они должны быть пересмотрены. Лог файлы могут быть перегруппированы
и/или заархивированы, когда они либо достигнут определённого
размера, либо при достижении определённых даты/времени.# configuration file for newsyslog
# $&os;$
#
# filename [owner:group] mode count size when [ZB] [/pid_file] [sig_num]
/var/log/cron 600 3 100 * Z
/var/log/amd.log 644 7 100 * Z
/var/log/kerberos.log 644 7 100 * Z
/var/log/lpd-errs 644 7 100 * Z
/var/log/maillog 644 7 * @T00 Z
/var/log/sendmail.st 644 10 * 168 B
/var/log/messages 644 5 100 * Z
/var/log/all.log 600 7 * @T00 Z
/var/log/slip.log 600 3 100 * Z
/var/log/ppp.log 600 3 100 * Z
/var/log/security 600 10 100 * Z
/var/log/wtmp 644 3 * @01T05 B
/var/log/daily.log 640 7 * @T00 Z
/var/log/weekly.log 640 5 1 $W6D0 Z
/var/log/monthly.log 640 12 * $M1D0 Z
/var/log/console.log 640 5 100 * ZЗа дополнительной информацией обращайтесь к
&man.newsyslog.8;.sysctl.confsysctl.confsysctlsysctl.conf очень похож на
rc.conf. Значения устанавливаются в виде
variable=value. Указанные значения устанавливаются
после перевода системы в многопользовательский режим. Однако не все
переменные могут быть установлены в этом режиме.Пример sysctl.conf настроенной для выключения
нотирования фатальных ошибок и разрешения Linux-программам определять,
что они запускаются под &os;:kern.logsigexit=0 # Do not log fatal signal exits (e.g. sig 11)
compat.linux.osname=&os;
compat.linux.osrelease=4.3-STABLEНастройка с помощью sysctlsysctlнастройкас помощью sysctl&man.sysctl.8; - это интерфейс, позволяющий вам вносить изменения
в работающую систему &os;. Эти изменения могут касаться многих опций стека
TCP/IP и виртуальной памяти и могут облегчить опытному администратору
жизнь. Более пяти тысяч системных переменных могут быть прочитаны и
записаны с помощью &man.sysctl.8;.По своей сути, &man.sysctl.8; выполняет две функции: чтение
и изменение настроек системы.Для просмотра всех доступных для чтения переменных::&prompt.user; sysctl -aЧтобы прочитать определённую переменную, например,
kern.maxproc, введите:&prompt.user; sysctl kern.maxproc
kern.maxproc: 1044Для присвоения значения переменной, используйте выражение вида
переменная=значение:&prompt.root; sysctl kern.maxfiles=5000
kern.maxfiles: 2088 -> 5000Изменяемые с помощью sysctl переменные обычно принимают значения
либо строкового, либо целого, либо булевого типа. Переменные булевого
типа могут принимать два значения (1 (истина) и
0 (ложь)).TomRhodesПредоставил Переменные &man.sysctl.8; только для чтенияВ некоторых случаях желательно изменить переменные
&man.sysctl.8; только для чтения. Хотя это не рекомендуется,
иногда другого способа решить проблему нет.Например, на некоторых моделях лэптопов диапазон памяти устройства
&man.cardbus.4; не определяется и выдается приблизительно такая
ошибка:cbb0: Could not map register memory
device_probe_and_attach: cbb0 attach returned 12Ситуации, похожие на эту, требуют изменения некоторых значений
&man.sysctl.8;, модификация которых запрещена. Для разрешения этой
ситуации пользователь может поместить &man.sysctl.8; OID
в файл /boot/loader.conf. Значения по
умолчанию хранятся в файле
/boot/defaults/loader.conf.Решение проблемы, приведенной выше, потребует помещения строки
в вышеупомянутый
файл. Теперь &man.cardbus.4; будет работать нормально.Оптимизация дисковПеременные Sysctlvfs.vmiodirenablevfs.vmiodirenableЗначением переменной vfs.vmiodirenable
может быть установлено в 0 (выключено) или 1 (включено); по
умолчанию 1. Эта переменная отвечает за метод кэширования
каталогов. Размер большинства каталогов невелик. Они могут
поместиться в одном фрагменте (обычно 1K), и могут занимать
ещё меньше места (обычно 512 байт) в кэше буфера. Однако, при
работе в стандартном режиме буфер прокэширует только заданное число
каталогов даже если у вас много памяти. Включение этого параметра
sysctl позволит использовать страничное кэширование VM,
делая доступным для кэширования каталогов
весь объём памяти. Однако,
минимальный объём памяти, используемой для
кэширования каталогов стал равен объёму страницы (обычно 4 K)
вместо 512 байт. Мы рекомендуем включить эту опцию, если ваш
компьютер исполняет программы, манипулирующие значительным
количеством файлов. Примером таких программ могут быть кэширующие
прокси-серверы, большие почтовые серверы и серверы новостей. Обычно
включение этой опции не понижает производительности, однако лучше
поэкспериментировать, чтобы узнать оптимальное значение для вашей
машины.vfs.write_behindvfs.write_behindПеременная sysctl vfs.write_behind по
умолчанию установлена в 1 (включено). Она
указывает системе выполнять запись на носитель по кластерам,
что обычно делается для больших файлов. Идея в том, чтобы
избежать заполнения кэша неполными буферами, когда это не
увеличивает производительность. Однако, это может заблокировать
процессы и в некоторых случаях вам может понадобиться отключить
этот параметр.vfs.hirunningspacevfs.hirunningspaceПеременная sysctl vfs.hirunningspace
определяет число запросов записи на диск, которые могут
быть поставлены в очередь. Значение по умолчанию обычно подходит,
но на компьютерах с большим количеством дисков вы можете
увеличить его до четырех или пяти мегабайт.
Учтите, что установка слишком большого значения (превышающего
размер буфера записи) может привести к очень значительному
падению общей производительности. Не делайте это значение
произвольно большим! Большие значения могут привести к
задержкам чтения, выполняемого в то же времяЕсть много других переменных sysctl, относящихся к кэшированию
в буфер и страничному кэшированию VM. Мы не рекомендуем изменять
эти значения. Начиная &os; 4.3, система VM делает отличную
работу по автоматической самонастройке.vm.swap_idle_enabledvm.swap_idle_enabledПеременная sysctl vm.swap_idle_enabled
полезна в больших многопользовательских системах, где есть
много пользователей, входящих и выходящих из системы, и
множество ожидающих процессов. Такие системы обычно генерируют
большое количество запросов на выделение памяти. Включение этой
переменной и настройка задержки выгрузки (swapout hysteresis,
в секундах) установкой переменных
vm.swap_idle_threshold1 и
vm.swap_idle_threshold2 позволит освобождать
страницы памяти, занятые ожидающими процессами, более быстро,
чем при нормальном алгоритме выгрузки. Это помогает даемону
выгрузки страниц. Не включайте этот параметр, пока он на самом
деле вам не понадобится, поскольку его действие в сущности
заключается в более ранней выгрузке страниц из памяти; это
повышает нагрузку на подкачку и диск. В малых системах
эффект от включения этого параметра предсказуем, но в больших
системах нагруженной на подкачкой этот параметр позволяет
системе VM проще загружать и выгружать процессы из памяти.hw.ata.wchw.ata.wcВо &os; 4.3 кэширование записи на IDE диски было отключено.
Это понижало производительность IDE дисков в тестах, но было
необходимо для лучшей сохранности данных. Проблема состоит в том,
что IDE диски неправильно указывают время завершения записи на диск.
При включенном кэшировании IDE диски могут не только записать данные
в неправильном порядке – при большой нагрузке на диск некоторые
блоки могут задержаться до бесконечности. Сбой, или отключение
питания могут могут стать причиной серьёзных повреждений в файловой
системе. Поэтому для безопасности системы значение по умолчанию
этого параметра было изменено. К сожалению, результатом этого стало
столь значительная потеря производительности, что после выхода
релиза значение этого параметра было возвращено в первоначальное
состояние. Вам следует проверить значение переменной sysctl
hw.ata.wc на вашей машине. Если кэширование
выключено - вы можете включить его, установив значение переменной
ядра, равное 1. Это должно быть сделано при помощи загрузчика при
загрузке. Если вы сделаете это позже - изменения не будут иметь
силы.За более подробной информацией обращайтесь к &man.ata.4;.
(kern.cam.scsi_delay)kern.cam.scsi_delayПараметр настройки ядра может
использоваться для уменьшения времени загрузки системы.
Значение по умолчанию велико и может составлять более
15 секунд в процессе загрузки. Уменьшение
его до 5 секунд обычно работает (особенно
с современными дисками). В новые версии &os; (5.0+) должен
использоваться параметр kern.cam.scsi_delay,
настраиваемый во время загрузки. Этот параметр и параметр
настройки ядра принимают значения в
миллисекундах, а не в
секундах.Soft UpdatesSoft UpdatestunefsПрограмма &man.tunefs.8; используется для настройки файловой
системы. Эта программа может принимать большое количество параметров,
но мы рассмотрим лишь один из них - включение и выключение
Soft Updates, что может быть достигнуто следующим образом:&prompt.root; tunefs -n enable /filesystem
&prompt.root; tunefs -n disable /filesystemНельзя изменять файловую систему с помощью &man.tunefs.8; когда
она смонтирована. Самое подходящее время для включения "Soft Updates"
- перед монтированием разделов, в однопользовательском режиме.Начиная с &os; 4.5, можно включить Soft Updates
во время создания файловой системы, используя
&man.newfs.8; с параметром -U.Soft Updates существенно увеличивают скорость создания и удаления
файлов путём использования кэширования. Мы рекомендуем использовать Soft
Updates на всех ваших файловых системах. Однако у Soft Updates есть
и обратные стороны: во-первых, Soft Updates гарантирует целостность
файловой системы в случае сбоя, но может наблюдаться задержка в
несколько секунд (или даже минуту!) перед записью на жесткий диск.
Если система зависнет - вы можете потерять
больше, чем, если бы вы не включили Soft Updates. Во-вторых,
Soft Updates задерживает освобождение блоков файловой системы.
Если ваша файловая система заполнена, выполнение значительного
обновления, например.
make installworld, может вызвать
переполнение.Дополнительная информация о Soft UpdatesSoft UpdatesдеталиЕсть два традиционных способа записи метаданных файловых систем
на диск. (Пример метаданных: индексные дескрипторы и
каталоги.)Исторически, поведение по умолчанию заключается в синхронном
обновлении метаданных. Если каталог был изменен, система
ждет, пока изменение не будет физически записано на диск.
Содержимое файлов проходит через кэш и записывается на
диск асинхронно. Преимущество этого способа в его
надежности. При сбое во время обновления метаданные
остаются в нормальном состоянии. Файл либо создается целиком,
либо вообще не создается. Если блоки данных не были записаны
в файл из буфера во время сбоя, &man.fsck.8; сможет определить
это и восстановить файловую систему, установив длину файла в 0.
Кроме того, реализация этого способа проста и понятна.
Недостаток в том, что обновление метаданных занимает много
времени. Команда rm -r, например,
последовательно удаляет все файлы в каталоге, и каждое изменение
в каталоге (удаление файла) будет синхронно записано на диск.
Сюда включаются обновления самого каталога, таблицы индексных
дескрипторов, и возможно блоков, занятых файлом. Те же
соглашения работают при распаковке больших иерархий
(tar -x).Другой вариант это асинхронное обновление метаданных. Это
поведение по умолчанию для Linux/ext2fs и *BSD ufs с параметром
mount -o async. Все обновления метаданных
просто пропускаются через кэш буфера, как и содержимое файлов.
Преимущество этой реализации в том, что нет необходимости ждать
каждый раз, пока метаданные будут записаны на диск, поэтому
все операции с большим объемом обновления метаданных будут
происходить гораздо быстрее чем при синхронном обновлении.
Кроме того, реализация все еще проста и понятна, поэтому
риск появления ошибок в коде невелик. Недостаток в том,
что нет никаких гарантий исправности файловой системы. Если во
время во время обновления большого объема метаданных произойдет
сбой (например, отключение питания, или нажатие кнопки reset),
файловая система останется в непредсказуемом состоянии.
Нет возможности определить состояние файловой системы после
такого сбоя; блоки данных файла могут быть уже записаны на диск,
а обновления таблицы индексных дескрипторов нет. Невозможно
реализовать fsck, которая могла бы
исправить получившийся хаос (поскольку необходимой информации
нет на диске). Если файловая система была уничтожена во
время восстановления, единственный способ восстановления
— запустить &man.newfs.8; и воспользоваться
резервной копией.Обычное решение этой проблемы состояло в реализации
протоколировании проблемной области (dirty region
logging), известном как
журналирование, хотя этот термин
использовался неправильно и порой также применялся к другим
формам протоколирования транзакций. Обновление метаданных
как и прежде происходит синхронно, но в отдельную область
диска. Позже они перемещаются туда, где должны быть.
Поскольку область протоколирования это небольшая,
последовательная область диска, головкам жесткого диска
не приходится перемещаться на большие расстояния даже
во время значительных обновлений, поэтому такой способ
быстрее, чем синхронные обновления.
Кроме того, сложность реализации довольно ограничена, поэтому
риск внесения ошибок невелик. Недостаток в том, что
все обновления метаданных записываются дважды (один раз
в область протоколирования и один раз окончательно),
поэтому при обычной работе производительность может
понизиться. С другой стороны, в случае сбоя все
незаконченные действия с метаданными могут быть быстро
отменены, или завершены после загрузки системы,
поэтому система после сбоя загружается быстрее.Kirk McKusick, разработчик Berkeley FFS, решил эту проблему
с помощью Soft Updates: все незавершенные обновления метаданных
находятся в памяти и записываются на диск в упорядоченном
виде (упорядоченное обновления метаданных).
При значительных обновлениях метаданных более поздние обновления
присоединяются к предыдущим, если они все еще
находятся в памяти и еще не записаны на диск. Поэтому все
операции, скажем, над каталогом, обычно выполняются в памяти
перед записью обновления на диск (блоки данных сортируются
в соответствии с их положением, так что они не будут записаны
на диск до метаданных. При крахе операционной системы выполняется
откат: считается, что все операции, не записанные на
диск, никогда не происходили. Файловая система находится в
том состоянии, в котором она была за 30–60 секунд до сбоя.
Используемый алгоритм гарантирует, что все используемые ресурсы
маркированы соответствующим образом в своих областях: блоки и
индексные дескрипторы. После сбоя могут остаться только ошибки,
выделения ресурсов, они помечаются как используемые,
хотя на самом деле свободны. &man.fsck.8;
разбирается в ситуации и освобождает более не используемые
ресурсы. После сбоя система может быть безопасно смонтирована
с опцией mount -f. Для освобождения ресурсов,
которые могут не использоваться, в дальнейшем потребуется
запустить &man.fsck.8;. Эта идея лежит в основе
background (фоновая) fsck: во время запуска системы
записывается только снимок файловой системы.
Все системы могут быть смонтированы в грязном
состоянии, и система загружается в многопользовательский режим.
Затем, фоновые fsck ставятся в очередь для
всех систем, где это требуется, чтобы освободить неиспользуемые
ресурсы. (Файловые системы, где не используются Soft Updates,
все еще требуют запуска fsck в обычном
режиме).Преимущество этого способа в том, что обновления метаданных
происходят почти так же быстро, как при асинхронных обновлениях
(т.е. быстрее, чем при журналировании,
когда метаданные записываются дважды). Недостаток в сложности
кода (подразумевающим больший риск появления ошибок в области,
где вероятность потери данных пользователя особенно высока) и
в более высоких требованиях к объему памяти. К тому же могут
возникнуть некоторые странные на первый взгляд ситуации.
После сбоя состояние файловой системы несколько более
старое. В ситуации, когда стандартный способ
синхронизации оставит несколько файлов нулевой длины после
выполнения fsck, в файловой системе с
Soft Updates их не останется вовсе, поскольку ни метаданные,
ни содержимое файлов не были записаны на диск. Дисковое
пространство не будет освобождено пока обновления не будут
записаны на диск, что может занять некоторое время после
выполнения rm. Это может повлечь проблемы
при установке большого количества файлов на файловую
систему, где не хватает места для помещения всех файлов
дважды.Изменение ограничений, накладываемых ядромоптимизацияпараметры ядраОграничения на Файлы/Процессыkern.maxfileskern.maxfilesЗначение kern.maxfiles может быть увеличено
или уменьшено в зависимости от потребностей вашей системы. Эта
переменная определяет максимальное число дескрипторов файлов. Когда
таблица дескрипторов файлов полна, в очереди системных сообщений
появится сообщение file: table is full. Это
сообщение может быть прочитано с помощью команды
dmesg.Каждый открытый файл, сокет или буфер использует дескриптор
файла. Широкомасштабному серверу может понадобиться много
тысяч дескрипторов файлов, в зависимости от количества программ,
одновременно выполняемых на сервере.Стандартное значение kern.maxfile определяется
переменной в вашем файле конфигурации
ядра. Значение kern.maxfiles увеличивается
пропорционально значению . При
компилировании ядра, нужно установить эту переменную согласно
потребностям вашей системы. Исходя из значения этой переменной,
ядро устанавливает значения большинства предопределённых
переменных. Даже если предполагается, что к компьютеру не будут
одновременно подсоединяться 256 пользователей, требуемые ресурсы
могут быть такими же, как у крупномасштабного сервера.Начиная с &os; 4.5, установка значения
в
0 в файле конфигурации ядра выберет подходящее
значение по умолчанию, основанное на объеме оперативной памяти
системы.kern.ipc.somaxconnkern.ipc.somaxconnПеременная sysctl kern.ipc.somaxconn
ограничивает размер очереди для приема новых TCP соединений.
Значение по умолчанию 128 слишком мало для
надежной обработки новых соединений для нагруженного web
сервера. Для такого сервера рекомендуется увеличить это значение
до 1024 или выше. Даемон сервиса может
сам ограничивать очередь приема новых соединений (например,
&man.sendmail.8;, или Apache), но
обычно в файле настройки даемона есть директива для настройки
длины очереди. Более длинная очередь также помогает избежать
атак Denial of Service (DoS).Сетевые ОграниченияОпция ядра обуславливает
количество Mbuf, доступных на машине. На сервере с большим трафиком
и маленьким Mbuf производительность будет пониженной. Каждый кластер
представлен двумя килобайтами памяти, поэтому значение 1024 означает
2 мегабайта памяти ядра, зарезервированной для сетевых буферов.
Для определения оптимального значения необходимо провести простые
вычисления. Если у вас веб сервер, который может обслуживать 1000
одновременных соединений, и каждое соединение съедает 16 K буфера
приема и 16 K буфера отправки, вам потребуется 32 MB памяти
под буферы. Хорошее правило — умножение этого значения на 2,
2x32 MB / 2 KB = 64 MB / 2 kB = 32768.
Мы рекомендуем значения между 4096 и 32768 для машин с большим объемом
памяти. Не указывайте произвольно большое значение параметра, это
может привести к падению системы при загрузке. Используйте
&man.netstat.1; для определения количества
используемых сетевых кластеров.Для настройки в процессе загрузки используйте в loader переменную
kern.ipc.nmbclusters. Только в старых версиях
&os; потребуется пересобрать ядро (&man.config.8;) с измененным
параметром .Для нагруженных серверов, интенсивно использующих системный
вызов &man.sendfile.2;, может потребоваться увеличения буферов
&man.sendfile.2; с помощью параметра конфигурации ядра
, или изменения значения путем установки
переменной в /boot/loader.conf
(обратитесь к &man.loader.8; за подробностями). Общий
признак того, что параметр требуется изменить —
состояние процессов sfbufa.
Переменная sysctl kern.ipc.nsfbufs
установлена только для чтения. Этот параметр увеличивается
вместе с kern.maxusers, хотя может
потребоваться увеличить его отдельно.Даже если сокет помечен как неблокирующий, вызов
&man.sendfile.2; на неблокирующем сокете может вызвать блокирование
&man.sendfile.2;, пока не станет доступным достаточное количество
struct sf_buf.net.inet.ip.portrange.*net.inet.ip.portrange.*Переменные sysctl net.inet.ip.portrange.*
контролируют диапазоны номеров портов, автоматически привязываемых
к TCP и UDP сокетам. Есть три диапазона: нижний диапазон,
диапазон по умолчанию и верхний диапазон. Большинство сетевых
программ используют диапазон по умолчанию, контролируемый
net.inet.ip.portrange.first и
net.inet.ip.portrange.last, установленными
соответственно в 1024 и 5000. Диапазоны портов привязки
используются исходящих соединений и при некоторых условиях
портов может не хватить. Это чаще всего происходит на
сильно загруженном прокси сервере. Диапазон портов не
становится проблемой при работе серверов, которые обрабатывают
в основном входящие соединения, или с небольшим количеством
исходящих соединений, например mail relay. Для ситуаций,
когда возможен недостаток портов, рекомендуется немного
увеличить net.inet.ip.portrange.last.
Может подойти значение 10000,
20000, или 30000.
Учтите также возможное влияние межсетевого экрана при
изменении диапазона портов. Некоторые могут блокировать
большие диапазоны портов (обычно с небольшими номерами)
и вынуждают использовать более высокие диапазоны для
исходящих соединений. По этой причине рекомендуется
настроить значение
net.inet.ip.portrange.first.TCP Bandwidth Delay ProductTCP Bandwidth Delay Product Limitingnet.inet.tcp.inflight_enableTCP Bandwidth Delay Product Limiting похоже на
TCP/Vegas в NetBSD. Оно может быть
включено установкой переменной sysctl
net.inet.tcp.inflight_enable в
1. Система попытается вычислить задержку
пакетов для каждого соединения и ограничить объем данных в
очереди сети до значения, требуемого для поддержания оптимальной
пропускной способности.Эта возможность полезна при передаче данных через модемы,
Gigabit Ethernet, или даже через высокоскоростные WAN соединения
(или любые другие соединения с большой задержкой передачи),
особенно если вы также используете изменение размера окна или
настроили большое окно передачи. Если вы включили этот параметр,
убедитесь также, что переменная
net.inet.tcp.inflight_debug установлена в
0 (отладка выключена), а для использования в
реальных может понадобиться установка переменной
net.inet.tcp.inflight_min к значению
как минимум 6144. Но учтите, что установка
большого значения этой переменной может фактически отключить
ограничение в зависимости от вида соединения. Ограничение
уменьшает количество данных на определенном маршруте и
управляет очередью пакетов, как и уменьшает общее количество
данных в очереди локального интерфейса хоста. С меньшим
количеством пакетов в очереди двусторонние интерактивные
соединения, особенно на медленных линиях, могут проходить
быстрее. Но имейте ввиду, что эта функция работает только
при передаче данных (передача данных / сторона сервера).
Она не работает при получении данных (загрузке).Изменение значения переменной
net.inet.tcp.inflight_stabне рекомендуется. Этот параметр по умолчанию
равен 20, что означает добавление 2 пакетов к вычислению задержки
передачи. Дополнительное окно требуется для стабилизации
алгоритма и улучшения ответной реакции на изменение условий,
но также приводит к большему времени ping на медленных соединениях
(задержка все же гораздо меньше, чем без алгоритма inflight).
Вы можете попробовать уменьшить этот параметр до 15, 10 или 5;
а также уменьшить net.inet.tcp.inflight_min
(например, до 3500) для получения желаемого эффекта. Уменьшение
значений этих параметров может использоваться только как
крайняя мера.Увеличение объема подкачкиВне зависимости от того, что вы планировали, иногда
система ведет себя неожиданно. Если вам потребовался
дополнительный объем подкачки, его довольно просто добавить.
Есть три способа увеличения объема подкачки: добавить новый
жесткий диск, включить подкачку по NFS, или создать файл
подкачки на существующем разделе.Подкачка на новом жестком дискеЛучший способ добавить подкачку, конечно, использовать
еще один жесткий диск. Вы можете сделать это в любой
момент. Если такой способ подходит, прочтите еще раз
информацию по разделу
подкачки из раздела Руководства по первоначальной настройке,
где рассказывается о наилучшем способе организации раздела
подкачки.Подкачка через NFSПодкачка через NFS рекомендуется только в том случае, если
в системе отсутствует жесткий диск. Подкачка через NFS
медленна и неэффективна в версиях &os; до 4.X. Она
довольно быстра и эффективна в 4.0-RELEASE и выше. Но даже
в новых версиях &os;, подкачка через NFS ограничена
скоростью сетевого подключения и к тому же дополнительно
нагружает NFS сервер.Файлы подкачкиВы можете создать файл определенного размера и использовать
его как файл подкачки. В нашем примере будет использован файл
/usr/swap0 размером 64MB. Конечно, вы
можете использовать любое имя.Создание файла подкачки в &os; 4.XУбедитесь, что ядре включен драйвер vnode. Он
невключен в последних версиях
GENERIC.pseudo-device vn 1 #Vnode driver (turns a file into a device)Создайте устройство vn:&prompt.root; cd /dev
&prompt.root; sh MAKEDEV vn0Создайте файл подкачки (/usr/swap0):&prompt.root; dd if=/dev/zero of=/usr/swap0 bs=1024k count=64Установите подходящие права на (/usr/swap0):&prompt.root; chmod 0600 /usr/swap0Включите файл подкачки в /etc/rc.conf:swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired.Перегрузите компьютер, или для включения подкачки прямо
сейчас выполните:&prompt.root; vnconfig -e /dev/vn0b /usr/swap0 swapСоздание файла подкачки в &os; 5.XУбедитесь, что в файле настройки ядра присутствует драйвер
виртуального диска (&man.md.4;). Он есть в ядре
GENERIC.device md # Memory "disks"Создайте файл подкачки (/usr/swap0):&prompt.root; dd if=/dev/zero of=/usr/swap0 bs=1024k count=64Установите подходящие права на (/usr/swap0):&prompt.root; chmod 0600 /usr/swap0Включите файл подкачки в /etc/rc.conf:swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired.Перегрузите компьютер или для включения подкачки прямо сейчас
введите:&prompt.root; mdconfig -a -t vnode -f /usr/swap0 -u 0 && swapon /dev/md0HitenPandyaНаписал TomRhodesУправление питанием и ресурсамиОчень важно использовать аппаратные ресурсы эффективно.
До того, как появился ACPI, управление
потреблением питания и температурными характеристиками системы
было очень сложной для операционной системы задачей. Аппаратное
обеспечение контролировалось одним из видов встроенного интерфейса
BIOS, таким как: Plug and Play BIOS
(PNPBIOS), Advanced Power Management
(APM) и так далее. Управление питанием и ресурсами
это один из ключевых компонентов современной операционной системы.
Например, вам может потребоваться, чтобы операционная система
следила за температурными ограничениями и возможно, предупреждала
при неожиданном росте температуры.В этом разделе Руководства &os;, мы предоставим исчерпывающую
информацию о ACPI. В конце раздела есть ссылки
для дальнейшего чтения. Учтите, что ACPI есть
только в &os; 5.X и выше в качестве стандартного модуля ядра.
В &os; 4.9 ACPI можно включить добавлением
строки device acpi к файлу настройки ядра и
его пересборкой.Что такое ACPI?Advanced Configuration and Power Interface
(ACPI) это стандарт, написанный объединением
поставщиков в целях предоставления стандартного интерфейса для
аппаратных ресурсов и управления питанием (отсюда и название).
Это ключевой элемент Operating System-directed
configuration and Power Management, т.е.: он предоставляет
операционной системе (OS) больше контроля и более
универсален. Современные системы вышли за пределы ограничений
существующих Plug and Play интерфейсов (таких как APM,
использовавшийся в &os; 4.X), до появления
ACPI. ACPI это прямой
наследник APM (Advanced Power Management).Недостатки Advanced Power Management (APM)Средства Advanced Power Management (APM)
управляют энергопотреблением системы в зависимости от
нагрузки. APM BIOS предоставляется поставщиком системы и
специфичен для данной аппаратной платформы. Драйвер APM
в OS обеспечивает доступ к APM Software Interface,
который позволяет управлять уровнями потребления питания.В APM имеется четыре основных проблемы. Во-первых, управление
энергопотреблением осуществляется через зависимый от поставщика
BIOS, и OS ничего не знает нем. Один пример: когда пользователь
устанавливает время ожидания для жесткого диска в APM BIOS,
и это время истекает, BIOS останавливает жесткий диск без согласования
с OS. Во-вторых, алгоритм APM встроен в BIOS, и все действия
происходят вне контроля OS. Это означает, что пользователи
могут решить проблемы с APM BIOS только путем перепрошивки
его ROM; это очень опасная процедура, и если она завершится
неудачно, система может прийти в невосстановимое состояние.
В-третьих, реализация технологии APM зависит от поставщика,
что означает дублирование усилий и если в BIOS одного
из поставщиков будет найдена и исправлена ошибка, ее могли
не исправить другие поставщики. Наконец, объем APM BIOS недостаточно
велик для реализации сложной политики управления питанием, или
такой политики, которая может хорошо адаптироваться к потребностям
компьютера.Plug and Play BIOS (PNPBIOS) был неудобен
во многих ситуациях. PNPBIOS это 16-битная технология,
поэтому OS требовалось использовать 16-битную эмуляцию для
взаимодействия с методами PNPBIOS.&os; драйвер APM документирован в странице
справочника &man.apm.4;.Настройка ACPI&man.loader.8; загружает драйвер acpi.ko по
умолчанию, его не надо встраивать в ядро.
Причина в том, что с модулями проще работать, например переключиться
на другой acpi.ko без пересборки ядра.
Преимущество в упрощении тестирования. Другая причина в том, что
запуск ACPI после старта системы не очень полезен
и при некоторых условиях может приводить к краху. Если вы
сомневаетесь, отключите ACPI совсем. Драйвер не
должен и не может быть выгружен, поскольку системная шина используется
для различных взаимодействий оборудования. ACPI
может быть выключен с помощью утилиты &man.acpiconf.8;. Фактически
большинство взаимодействий с ACPI может быть
выполнено через &man.acpiconf.8;. В основном это означает, что если в
выводе &man.dmesg.8; есть что-то об ACPI, он скорее
всего работает.ACPI и APM не могут
сосуществовать и должны использоваться раздельно. Каждый из них
прервет загрузку, если обнаружит загруженный драйвер
другого.В простейшей форме, ACPI может использоваться
для перевода системы в спящий режим с помощью &man.acpiconf.8;, с
флагом и параметром 1-5.
Большинству пользователей нужен только параметр 1.
Параметр 5 сделает мягкое
завершение работы, так же как и:&prompt.root; halt -pДоступны и другие параметры. Обратитесь к странице справочника
&man.acpiconf.8; за дополнительной информацией.NateLawsonНаписал PeterSchultzПри помощи TomRhodesи Использование и отладка &os; ACPIACPI это фундаментально новый способ
обнаружения устройств, управления энергопотреблением и предоставления
стандартизированного доступа к различному оборудованию, ранее
ранее управлявшемуся BIOS. Был достигнут
определенный прогресс в приспособлении ACPI
к работе со всеми системами, но все еще встречаются ошибки
в байткоде AML некоторых материнских плат,
незавершенные участки кода в подсистемах ядра &os; и ошибки в
интерпретаторе ACPI-CA.Этот раздел предназначен для того, чтобы упростить ваше
содействие разработчикам &os; ACPI в
определении причин наблюдаемых вами проблем, выполнении отладки
и выработке решения. Спасибо за помощь и надеемся, что мы сможем
помочь в решении проблем вашей системы.Отправка отладочной информацииТе из вас, кто желает составить сообщение о проблеме прямо
сейчас, могут воспользоваться адресом
-
- acpi-jp@jp.freebsd.org, отправив на него следующую
+
+ freebsd-acpi@FreeBSD.org, отправив на него следующую
информацию:Описание неправильного поведения, включая тип системы, модель
и все, что приводит к появлению ошибки. Кроме того, сообщите
настолько точно, насколько возможно, когда появилась ошибка,
если ранее вы ее не видели.Вывод dmesg после boot
, включая все сообщения, появившиеся
при изучении ошибки.Вывод dmesg после boot
с выключенным ACPI,
если его отключение помогает решить проблему.Вывод sysctl hw.acpi. Это также хороший
способ получения списка возможностей системы.URL где можно найти ваш
ASL. Не отправляйте
ASL непосредственно в список рассылки,
поскольку он может быть очень большим. Копия
ASL может быть создана командой:&prompt.root; acpidump -t -d > $NAME-$SYSTEM.asl(Замените вашим логином
$NAME и производителем/моделью
$SYSTEM. Пример:
njl-FooCo6000.asl)Большинство разработчиков читают список рассылки freebsd-current,
но для уверенности, что проблему увидят, отправьте ее в
- acpi-jp. Будьте терпеливы, все мы заняты полный рабочий день где-то
+ acpi. Будьте терпеливы, все мы заняты полный рабочий день где-то
еще. Если ваше сообщение не заметили сразу, мы возможно
попросим вас отправить PR (сообщение о проблеме)
через &man.send-pr.1;. При вводе PR,
включайте ту же информацию, что запрошена выше. Это поможет
нам отследить проблему и решить ее. Не отправляйте
PR без предварительной отправки письма в
- acpi-jp, поскольку мы используем PR в качестве
+ acpi, поскольку мы используем PR в качестве
напоминаний о существующих проблемах, а не как механизм сообщений
об ошибках. Вероятно, о вашей проблеме кто-то уже сообщал
ранее.Общие сведенияACPI представлен во всех современных
компьютерах, соответствующих архитектурам ia32 (x86),
ia64 (Itanium) и amd64 (AMD). Полный стандарт включает множество
возможностей, в том числе управление производительностью
CPU, уровнем питания, температурой,
различными системами аккумуляторов, встроенными контроллерами
и опросом шины. В большинстве систем стандарт реализован не
полностью. Например, настольные системы обычно реализуют только
опрос шины, а портативные компьютеры кроме того могут поддерживать
управление охлаждением и энергопотреблением. Они также поддерживают
приостановку и последующий запуск системы различного уровня
сложности.ACPI-совместимые системы состоят из
различных компонентов. Производители BIOS
и чипсетов предоставляют различные жестко заданные таблицы,
(например, FADT), которые определяют
функции вроде карты APIC (используется для
SMP), регистры настройки и простые
значения параметров. Кроме того, предоставляется таблица
байткода (DSDT), определяющая древоподобное
пространство имен устройств и методов.Драйвер ACPI должен прочесть заданные
таблицы, реализовать интерпретатор для байткода, модифицировать
драйвера устройств и ядро для приема информации от подсистемы
ACPI. Для &os;, Intel предоставила
интерпретатор (ACPI-CA), тот же что для
Linux и NetBSD. Исходный код ACPI-CA
находится в каталоге
src/sys/contrib/dev/acpica.
Код для приспособления ACPI-CA к работе в
&os;, находится в src/sys/dev/acpica/Osd.
Наконец, драйвера, реализующие различные ACPI
устройства, находятся в
src/sys/dev/acpica.Часто встречающиеся проблемыДля правильной работы ACPI все ее части должны
работать правильно. Вот некоторые часто встречающиеся проблемы, в порядке
частоты появления, и некоторые обходные пути или исправления.Приостановка/возобновление работыACPI поддерживает три состояния приостановки в
RAM (STR),
S1-S3, и одно состояние
приостановки на диск (STD), называемое
S4. S5 это
мягкое выключение и это нормальное состояние системы,
когда она подключена к сети, но не включена. S4
может быть реализован двумя различными путями.
S4BIOS это
BIOS-поддерживаемая приостановка на диск.
S4OS реализуется полностью
операционной системой.Начните с проверки переменных sysctl
, относящихся к приостановке (suspend).
Вот результат для моего Thinkpad:hw.acpi.supported_sleep_state: S3 S4 S5hw.acpi.s4bios: 0Это означает, что я могу использовать acpiconf
для тестирования S3,
S4OS, и
S5. Если был единицей
(1), это означает поддержку
S4BIOS вместо
S4OS.При тестировании приостановки/возобновления работы, начните
с S1, если этот режим поддерживается.
Это состояние скорее всего поддерживается, поскольку не требует
слишком серьезной поддержки со стороны драйвера. Никто не
реализовал S2, который похож на
S1. Следующий режим для тестирования это
S3. Это наиболее глубокое STR
состояние, оно требует существенной поддержки со стороны
драйвера, чтобы правильно реинициализировать оборудование.
Если у вас возникли проблемы при выходе из этого состояния,
- отправьте письмо в рассылку acpi-jp, но не ждите, что
+ отправьте письмо в рассылку acpi, но не ждите, что
проблема будет обязательно решена, поскольку существует
множество драйверов/оборудования, нуждающихся в дальнейшем
тестировании и разработке.Для изоляции проблемы удалите из ядра столько драйверов,
сколько возможно. Если это работает, вы можете выяснить,
какой драйвер вызывает проблему путем загрузки драйверов
до тех пор, пока опять не произойдет сбой. Обычно бинарные
драйвера, такие как nvidia.ko,
драйвера дисплея X11 и
USB вызывают большинство проблем, а драйвера
Ethernet интерфейсов как правило работают отлично. Если вы
можете нормально загрузить/выгрузить драйвера, автоматизируйте
этот процесс, поместив соответствующие команды в
/etc/rc.suspend и
/etc/rc.resume. Это закомментированные
примеры выгрузки и загрузки драйверов. Попробуйте
установить параметр
в нуль (0), если ваш дисплей не включается после возобновления
работы. Попробуйте установить большие или меньшие значения
для , чтобы проверить,
поможет ли это.Другой способ, который можно попробовать, это запуск
последнего дистрибутива Linux с поддержкой
ACPI и протестировать поддержку
остановки/возобновления работы на том же оборудовании.
Если она работает на Linux, проблема скорее всего в
драйверах &os; и поиск драйвера, вызывающего проблему,
поможет разрешить ситуацию. Имейте ввиду, что разработчики
ACPI обычно не поддерживают другие
драйверы (звук, ATA, и т.п.), так что
все результаты работы по поиску проблемы возможно необходимо
отправить в список рассылки freebsd-current и человеку,
поддерживающему драйвер. Если вы решитесь заняться
отладкой, поместите соответствующий код (&man.printf.3;)
в вызывающий проблему драйвер для обнаружения места, где
прерывается функция восстановления.Наконец, попробуйте отключить ACPI и
включить APM. Если приостановка/возобновление
работает с APM, вам возможно лучше подойдет
APM, особенно на старом оборудовании (до
2000). Включение корректной поддержки ACPI
поставщиками оборудования требует времени и вероятно в старом
оборудовании поддержка ACPI в
BIOS была некорректна.Система останавливается (временно или постоянно)Большинство систем останавливаются в результате потери
прерываний или шторма прерываний. В чипсетах
существует много проблем, связанных с тем, как
BIOS настраивает прерывания перед загрузкой,
правильностью таблицы APIC
(MADT), и маршрутизации
SCI.Шторм прерываний может быть обнаружен по
потерянным прерываниям путем проверки вывода строки с
acpi0 команды vmstat
. Если счетчик увеличивается более, чем
несколько раз в секунду, это шторм прерываний.
Если система останавливается, попробуйте войти в
DDB
(CTRLALTESC на
консоли) и ввести .Наиболее надежный способ избавиться от проблемы с прерываниями,
это отключение поддержки APIC с помощью
параметра loader.conf1.ПаникаПаника, связанная с ACPI, случается довольно
редко и имеет наибольший приоритет исправления. Первый шаг
это изоляция действий, приводящих к панике (если это возможно)
и получение отладки. Следуйте инструкции по включению
и настройке последовательной консоли
или настройке раздела &man.dump.8;. Вы можете получить отладочную
информацию DDB с помощью .
Если вы записываете отладку вручную, убедитесь, что переписали
как минимум пять (5) строк снизу и пять (5) строк сверху.Затем попробуйте изолировать проблему, загрузившись с
выключенным ACPI. Если это работает, вы можете
изолировать подсистему ACPI, используя
различные параметры .
Обратитесь к странице справочника &man.acpi.4; за примерами.Система включается после приостановки или завершения
работыВо-первых, попробуйте установить в &man.loader.conf.5; параметр
0.
Это предотвращает отключение различных событий в
ACPI во время завершения работы.
В некоторых системах этот параметр необходимо установить
в 1 (по умолчанию) по тем же причинам. Обычно это
решает проблему, если система неожиданно включается после
приостановки или отключения питания.Другие проблемыЕсли вы наблюдаете другие проблемы с ACPI
(работа с внешним оборудованием, проблемы с обнаружением устройств,
и т.д.), отправьте описание проблемы в список рассылки;
однако, некоторые из этих проблем могут относиться к незавершенным
частям подсистемы ACPI, поэтому может
потребоваться время на их реализацию. Будьте терпеливы, и
подготовьтесь к тестированию исправлений, которые мы можем вам
выслать.ASL, acpidump, и
IASLНаиболее часто встречается проблема, связанная с предоставлением
поставщиками BIOS некорректного (или полностью
ошибочного!) байткода. Это обычно проявляется появлением
консольных сообщений ядра, подобных этому:ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.LPC0.FIGD._STA] (Node 0xc3f6d160), AE_NOT_FOUNDЗачастую вы можете разрешить эти проблемы путем обновления
BIOS до последней ревизии. Большинство консольных
сообщений безвредны, но если существуют другие проблемы, такие как
не работающий статус батареи, возможно существуют проблемы в
AML. Байткод, известный как
AML, компилируется из исходного текста на
языке ASL. AML находится
в таблице, известной как DSDT. Для получения
копии ASL, используйте &man.acpidump.8;.
Вы можете использовать оба параметра
(показывать содержимое постоянных таблиц) и
(дизассемблировать AML в ASL).
Обратитесь к разделу Отправка
отладочной информации за примером синтаксиса.Простейшая первая проверка, которую вы можете провести,
это перекомпиляция ASL для поиска ошибок.
Предупреждения обычно могут быть проигнорированы, но ошибки
обычно не позволяют ACPI работать правильно.
Для перекомпиляции ASL, выполните следующую
команду:&prompt.root; iasl your.aslИсправление ASLВ дальней перспективе, наша задача состоит в том, чтобы
обеспечить поддержку ACPI практически для
каждой системы без вмешательства пользователя. Однако, на данный
момент мы все еще разрабатываем обходные пути для ошибок,
которые часто делают поставщики BIOS.
Интерпретатор Microsoft (acpi.sys и
acpiec.sys) не занимается проверкой
четкости соблюдения стандартов, поэтому многие поставщики
BIOS, проверяющие ACPI
только под Windows, никогда не исправляют ASL.
Мы надеемся продолжать обнаружение и документацию нестандартных
поведений, позволяемых интерпретатором Microsoft, и воспроизводить
их, чтобы &os; могла работать без необходимости исправления
ASL пользователями. В качестве обходного пути
для обнаружения неправильного поведения, вы можете исправить
ASL вручную. Если исправления будут работать,
пожалуйста отправьте &man.diff.1; между старым и новым
ASL, чтобы мы могли реализовать обходной
путь для неправильного поведения ACPI-CA,
чтобы исправление вручную больше не требовалось.Вот список наиболее часто встречающихся проблем, их причин и
способы исправления:OS зависимостиНекоторые AML предполагают, что мир состоит
из различных версий Windows. Вы можете настроить &os;, чтобы
она сообщала любое другое имя OS и посмотреть,
исправит ли это имеющуюся проблему. Простой способ указания
другого имени системы это установка переменной
/boot/loader.conf
=Windows 2001
или в другое подобное значение, имеющееся в
ASL.Отсутствие возврата значенияНекоторые методы не возвращают значение явно, как того
требует стандарт. Хотя ACPI-CA не обрабатывает
эту ситуацию, в &os; существует обходной путь, позволяющей ей
явно возвращать значение. Вы можете также добавить явные операторы
Return (возврат) там, где требуется, если знаете, что значение
должно быть возвращено. Для принудительного компилирования
ASL командой iasl, используйте
флаг .Перезапись AML по умолчаниюПосле настройки your.asl для
компиляции запустите:&prompt.root; iasl your.aslВы можете добавить флаг для создания
AML даже при наличии ошибок компиляции.
Помните, что некоторые ошибки (например, отсутствующие операторы
Return), автоматически обходятся интерпретатором.Файл DSDT.aml используется
iasl по умолчанию. Вы можете загрузить его
вместо ошибочной копии BIOS (которая
остается в постоянной памяти) путем редактирования
/boot/loader.conf:acpi_dsdt_load="YES"
acpi_dsdt_name="/boot/DSDT.aml"Убедитесь, что скопировали DSDT.aml в
каталог /boot.Получение отладочной информации
ACPIВозможности отладки драйвера ACPI очень
гибкие. Они позволяют вам указывать набор подсистем, а также
уровень отладки. Подсистемы, которые вы хотите отлаживать,
указываются как слои, и подразделяются на
компоненты ACPI-CA (ACPI_ALL_COMPONENTS)
и поддержку оборудования ACPI (ACPI_ALL_DRIVERS).
Уровень отладки варьируется от ACPI_LV_ERROR (только сообщать об
ошибках) до ACPI_LV_VERBOSE (все сообщения). Уровень отладки
представляет собой битовую маску, поэтому возможна одновременная
установка нескольких параметров, разделенных пробелами.
На практике, при использовании для получения отладочной информации
последовательной консоли, слишком большое количество информации
может переполнить буфер консоли. Полный список отдельных слоев
и уровней можно найти на странице справочника &man.acpi.4;.Вывод отладочной информации по умолчанию не включен.
Для его включения добавьте параметр к файлу настройки ядра, если
ACPI встроен в ядро. Вы можете добавить параметр
в файл
/etc/make.conf для глобального включения
этого параметра. Если вы используете модуль
acpi.ko , его можно пересобрать
индивидуально:&prompt.root; cd /sys/modules/acpi/acpi
&& make clean && make
ACPI_DEBUG=1Установите acpi.ko в
/boot/kernel и добавьте
предпочитаемый уровень и слой к loader.conf.
Этот пример включает отладочные сообщения для всех компонентов
ACPI-CA и всех драйверов оборудования
ACPI (CPU,
LID и т.д.). Будут выводиться только сообщения
об ошибках, наименьший уровень отладки.debug.acpi.layer="ACPI_ALL_COMPONENTS ACPI_ALL_DRIVERS"
debug.acpi.level="ACPI_LV_ERROR"Если требуемая информация получается в результате определенного
события (скажем, приостановка и восстановление), вы можете
не изменять loader.conf и использовать
для указания слоя и уровня sysctl
после загрузки и подготовки системы к определенному событию.
Имена переменных sysctl те же, что и имена
параметров настройки в loader.conf.СсылкиДальнейшую информацию о ACPI можно найти
по следующим ссылкам:Список рассылки ACPI
-
- acpi-jp@jp.freebsd.org
+
+ freebsd-acpi@FreeBSD.org
- Архивы списков рассылки ACPI
-
- http://home.jp.freebsd.org/mail-list/acpi-jp/
+ Архивы списка рассылки ACPI
+
+ http://lists.freebsd.org/pipermail/freebsd-acpi/
+
+
+
+ Старые архивы списка рассылки ACPI
+
+ http://home.jp.FreeBSD.org/mail-list/acpi-jp/Спецификация ACPI 2.0
http://acpi.info/spec.htm/Страницы справочника &os;: &man.acpi.4;,
&man.acpi.thermal.4;, &man.acpidump.8;, &man.iasl.8;,
&man.acpidb.8;
Ресурс по отладке DSDT.
(Использует в качестве примера Compaq, но обычно полезен.)
diff --git a/ru_RU.KOI8-R/books/handbook/eresources/chapter.sgml b/ru_RU.KOI8-R/books/handbook/eresources/chapter.sgml
index f3dc4ff680..81504c5771 100644
--- a/ru_RU.KOI8-R/books/handbook/eresources/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/eresources/chapter.sgml
@@ -1,1631 +1,1646 @@
Ресурсы в интернетВысокая скорость прогресса FreeBSD делает непрактичным использование
печатных изданий для информирования о последних разработках. Электронные
ресурсы это лучший, а зачастую и единственный способ информирования
о новых возможностях. Поскольку FreeBSD основывается на усилиях
добровольцев, сообщество пользователей само по себе зачастую выполняет
роль службы технической поддержки, а электронная почта и
новости USENET это наиболее эффективный способ обращения к этому
сообществу.Наиболее важная контактная информация сообщества пользователей
FreeBSD показана ниже. Если вам известно о других ресурсах, не
упомянутых здесь, пожалуйста отправьте информацию о них в
&a.doc;, чтобы мы могли включить в этот документ.Списки рассылкиХотя многие участники разработки FreeBSD читают USENET, мы не можем
всегда гарантировать, что ответим на ваши вопросы в краткий срок
(или вообще), если вы отправите их только в группы
comp.unix.bsd.freebsd.*. Вопросы, отправленные
в соответствующий список рассылки, достигнут и нас и обширной аудитории
FreeBSD, что несомненно гарантирует лучшую (или как минимум более
быструю) поддержку.Все сообщения в приведенные ниже списки рассылки должны быть
составлены только на английском языке.Описание каждой рассылки дано в конце этого документа.
Пожалуйста, прочтите описание перед подпиской или отправкой
почты в любой из списков. Большинство наших подписчиков
получают многие сотни относящихся к FreeBSD сообщений каждый день,
и определяя правила использования рассылок мы стремимся удержать
высокое соотношение сигнал к шуму. При меньшем
соотношении списки рассылки перестанут быть эффективной средой общения
участников проекта.Архивы поддерживаются для всех списков рассылки и поиск по ним
организован на WWW
сервере FreeBSD. Поиск в архиве по ключевым словам
дает отличный способ получения ответов на часто задаваемые вопросы
и должен быть выполнен перед отправкой вопроса.Списки рассылкиОбщие списки: Ниже представлены общие
списки рассылки, к которым каждый может (и приглашается)
присоединиться:СписокНазначение&a.cvsall.name;Изменения, вносимые в дерево исходных текстов
FreeBSD&a.advocacy.name;В защиту FreeBSD&a.announce.name;Важные события и вехи проекта&a.arch.name;Обсуждения архитектуры и дизайна системы&a.bugbusters.name;Обсуждения, относящиеся к поддержке базы данных
сообщений о проблемах FreeBSD и соответствующим
инструментам&a.bugs.name;Сообщения о проблемах&a.chat.name;Не-технические темы, относящиеся к сообществу
FreeBSD&a.config.name;Разработка инструментов установки и настройки
FreeBSD&a.current.name;Обсуждения, относящиеся к использованию
&os.current;&a.isp.name;Вопросы использования FreeBSD провайдерами&a.jobs.name;Вакансии и резюме, относящиеся к FreeBSD,
с полной и частичной занятостью&a.newbies.name;Рассылка FreeBSD для новых пользователей&a.policy.name;Публикация правил FreeBSD Core team. Только для чтения,
малое количество сообщений&a.questions.name;Вопросы пользователей и техническая поддержка&a.security-notifications.name;Уведомления безопасности&a.stable.name;Обсуждения, относящиеся к использованию
&os.stable;&a.test.name;Рассылка для отправки тестовых сообщений (вместо
обычных списков рассылкиТехнические списки: Следующие списки
предназначены для технических обсуждений. Вам необходимо внимательно
прочитать описание перед подпиской или отправкой почты в один из
этих списков, поскольку они предназначены для использования внутри
проекта.СписокНазначение
+
+ &a.acpi.name;
+ Разработка ACPI и системы управления
+ энергопотреблением
+
+
&a.afs.name;Портирование AFS на FreeBSD&a.aic7xxx.name;Разработка драйверов для &adaptec; AIC 7xxx&a.alpha.name;Портирование FreeBSD на Alpha&a.amd64.name;Портирование FreeBSD на системы AMD64&a.arm.name;Портирование FreeBSD на процессоры &arm;&a.atm.name;Использование ATM сетей с FreeBSD&a.audit.name;Проект аудита исходных текстов&a.binup.name;Дизайн и разработка системы бинарных обновлений&a.cluster.name;Использование FreeBSD в кластерах&a.cvsweb.name;Поддержка CVSweb&a.database.name;Обсуждение использования и разработки баз данных
под FreeBSD&a.doc.name;Создание относящихся к FreeBSD документов&a.emulation.name;Эмуляция других систем, таких как
Linux/DOS/&windows;&a.firewire.name;Техническое обсуждение FreeBSD &firewire;
(iLink, IEEE 1394)&a.fs.name;Файловые системы&a.geom.name;Относящиеся к GEOM обсуждения и реализации&a.gnome.name;Портирование GNOME
и приложений GNOME&a.hackers.name;Общее техническое обсуждение&a.hardware.name;Общее обсуждение оборудования для
FreeBSD&a.i18n.name;Интернационализация FreeBSD&a.ia32.name;FreeBSD на платформе IA-32 (&intel; x86)&a.ia64.name;Портирование FreeBSD на будущие системы Intel
IA64&a.ipfw.name;Технические обсуждения, относящиеся к переработке
кода IP брандмауэра&a.isdn.name;Разработчики ISDN&a.java.name;Разработчики &java; и люди, портирующие &jdk; на
FreeBSD&a.kde.name;Портирование KDE и
приложений KDE&a.lfs.name;Портирование LFS на FreeBSD&a.libh.name;Второе поколение программы установки системы и
пакетов&a.mips.name;Портирование FreeBSD на &mips;&a.mobile.name;Обсуждение портативных компьютеров&a.mozilla.name;Портирование Mozilla на
FreeBSD&a.multimedia.name;Мультимедиа приложения&a.newbus.name;Технические обсуждения архитектуры шины&a.net.name;Обсуждения, относящиеся к сети и исходному тексту
TCP/IP&a.openoffice.name;Портирование OpenOffice.org и
&staroffice; на FreeBSD&a.performance.name;Вопросы оптимизации производительности для
быстрых/работающих под большой нагрузкой серверов&a.perl.name;Поддержка различных относящихся к
perl портов&a.platforms.name;Относится к портам для платформ не-Intel
архитектуры&a.ports.name;Обсуждения коллекции портов&a.ports-bugs.name;Обсуждения относящихся к портам ошибок/PR&a.ppc.name;Портирование FreeBSD на &powerpc;&a.qa.name;Обсуждение гарантий качества (Quality Assurance),
обычно перед релизом&a.realtime.name;Разработка расширений реального времени для FreeBSD&a.scsi.name;Подсистема SCSI&a.security.name;Сообщения безопасности, касающиеся FreeBSD&a.small.name;Использование FreeBSD во встроенных приложениях&a.smp.name;Обсуждение [не]симметричной мультипроцессорной
архитектуры&a.sparc.name;Портирование FreeBSD на системы, основанные на
&sparc;&a.standards.name;Соответствие FreeBSD стандартам C99 и &posix;&a.threads.name;Потоки в FreeBSD&a.testing.name;Тестирование производительности и стабильности
FreeBSD&a.tokenring.name;Поддержка Token Ring в FreeBSD&a.x11.name;Сопровождение и поддержка X11 в FreeBSDОграниченные списки: Следующие списки
рассылки предназначены для более специализированной (и более
официальной) аудитории и вероятно не могут заинтересовать широкую
публику. Вероятно хорошей идеей будет сначала наладить общение
в технических списках рассылки перед присоединением к ограниченным
спискам, так вы сможете освоить этику общения.СписокНазначение&a.hubs.name;Люди, поддерживающие зеркала (поддержка
инфраструктуры)&a.usergroups.name;Координация групп пользователей&a.vendors.name;Координация поставщиков перед релизом&a.www.name;Ответственные за www.FreeBSD.orgДайджест рассылки: Все вышеприведенные
списки доступны в формате дайджеста. После подписки на рассылку,
вы можете изменить параметры дайджеста в разделе настроек учетной
записи.CVS рассылки: Следующие рассылки
предназначены для людей, заинтересованных в просмотре сообщений
об изменении в различных областях дерева исходных текстов.
Это списки только для чтения и вы не должны
отправлять туда почту.РассылкаОбласть исходного текстаОписание области исходного текста&a.cvsall.name;/usr/(CVSROOT|doc|ports|projects|src)Все изменения в любой области дерева исходных текстов
(надмножество других списков рассылки cvs)&a.cvs-doc.name;
- /usr/doc
+ /usr/(doc|www)Все изменения в дереве исходных текстов
- документации
+ документации и веб сервера
&a.cvs-ports.name;/usr/portsВсе изменения в дереве портов&a.cvs-projects.name;/usr/projectsВсе изменения в дереве проектов&a.cvs-src.name;/usr/srcВсе изменения в дереве исходных текстов системыКак подписатьсяДля подписки на рассылку, нажмите на название списка рассылки
выше или воспользуйтесь ссылкой &a.mailman.lists.link; и
нажмите на имя рассылки, которой вы заинтересовались. Страница
списка рассылки содержит все необходимые инструкции по
подписке.Для отправки сообщения в выбранный список рассылки, отправьте
письмо в <listname@FreeBSD.org>.
Это письмо будет разослано участникам рассылки по всему миру.Для отписки от рассылки, нажмите на ссылку, находящуюся внизу
каждого письма, отправляемого через список рассылки. Возможна
также отписка путем отправки письма на
freebsd-[listname]-unsubscribe@FreeBSD.org.Напоминаем, что обсуждение в технических списках рассылки
должно оставаться в рамках технической темы. Если вас интересует
только получение важных анонсов, мы предлагаем подписаться на
рассылку с небольшим трафиком &a.announce;.Описание рассылокВсе списки рассылки FreeBSD имеют
определенные основные правила, которых должен придерживаться каждый
использующий их. Несоблюдение этих правил приведет к отправлению
двух (2) предупреждений от FreeBSD Postmaster
postmaster@FreeBSD.org, после которых, после третьего
нарушения, подписчик будет удален из всех списков рассылки
FreeBSD и дальнейшие его сообщения будут отфильтровываться.
Мы сожалеем, что эти правила и меры вообще необходимы, но современный
интернет это довольно суровая среда и многие его механизмы довольно
слабы.Основные правила:Тема любого сообщения должна соответствовать назначению
списка рассылки, в который это сообщение отправляется. Например,
если список рассылки посвящен техническим вопросам, сообщение
должно быть техническим. Продолжающееся обсуждение вне темы, или
флейм только понижают ценность рассылки для всех ее участников
и поэтому не разрешаются. Для обсуждений вне какой-либо
определенной темы необходимо использовать &a.chat;, специально
для этого предназначенный.Ни одно сообщение не должно отправляться более чем в 2
рассылки, отправка сообщения в 2 рассылки должна выполняться
только при наличии простой и очевидной причины для дублирования
сообщения. В большинстве рассылок подписчикам уже приходит
много избыточного материала, и за исключением редких случаев
(скажем, -stable & -scsi), на самом деле нет
причины отправлять сообщение более чем в один список рассылки.
Если сообщение отправлено вам так, что в поле
Cc находятся несколько списков рассылки,
необходимо урезать поле Cc перед отправкой
ответа. Именно вы отвечаете за собственные
сообщения, независимо от того, кто был автором исходного
письма.Персональные нападки и профанация (в контексте аргументов) не
разрешены, это относится и к пользователям, и к разработчикам.
Грубые нарушения сетевой этики, такие как цитирование или
пересылка личной переписки без специального на то разрешения,
осуждаются но специальные меры в этом случае не принимаются.
Однако, существует несколько специальных
случаев, когда такие письма не отвечают назначению списка рассылки
и, следовательно, могут повлечь отправку предупреждения (или
исключение из списка рассылки).Реклама не-FreeBSD продуктов или сервисов строго запрещена и
исключение из списка рассылки последует незамедлительно, если
станет очевидным, что это спам.Описания рассылок:
+
+ &a.acpi.name;
+
+
+ Разработка ACPI и системы управления
+ энергопотреблением
+
+
+
&a.afs.name;Andrew File SystemЭтот список предназначен для обсуждения портирования
и использования AFS от CMU/Transarc&a.announce.name;Важные события / вехи проектаЭтот список рассылки предназначен для тех, кто интересуется
только периодическими анонсами значительных событий FreeBSD.
Сюда включаются анонсы снэпшотов и других релизов, а также
новых возможностей FreeBSD. Рассылка может содержать призыв
к добровольцам и т.п. Это строго модерируемый список рассылки
с малым объемом трафика.&a.arch.name;Обсуждение архитектуры и
дизайна системыЭта рассылка предназначена для обсуждения архитектуры
FreeBSD. Сообщения в основном строго технические.
Примеры подходящих тем:Как изменить систему сборки для одновременной сборки
нескольких по-разному настроенных систем.Что необходимо исправить в VFS для включения слоев
Heidemann.Как необходимо изменить интерфейс драйверов устройств
для использования одних и тех же драйверов на множестве
шин и архитектур.Как написать сетевой драйвер.&a.audit.name;Проект аудита исходных текстовЭто список рассылки для проекта аудита исходных текстов
FreeBSD. Хотя первоначально он предназначался для изменений,
связанных с безопасностью, его назначение было расширено для
пересмотра всех изменений кода.В эту рассылку отправляется большой объем исправлений,
и она вероятно не представляет интереса для обычного
пользователя FreeBSD. Обсуждения безопасности, не относящиеся
к определенному изменению в коде, ведутся в freebsd-security.
Разработчикам предлагается отправлять изменения в этот список
рассылки для просмотра, особенно если эти изменения затрагивают
части кода, ошибки в которых могут повлечь нарушение
целостности системы.&a.binup.name;Проект бинарного обновления
FreeBSDЭтот список предназначен для обсуждений системы бинарного
обновления системы, или binup.
В этой рассылке обсуждаются вопросы дизайна, детали реализации,
исправления, сообщения об ошибках, сообщения о статусе, запросы
на расширение функциональности, протоколы коммитов, и все, что
относится к binup.&a.bugbusters.name;Координация усилий по обработке сообщений о
проблемахНазначение этой рассылки в координации и предоставлении
места для обсуждения для лиц, обслуживающих базу данных
сообщений о проблемах (bugmeister, bugbusters) и для всех
сторон, интересующихся базой данных PR. Эта рассылка не
предназначена для обсуждения отдельных проблем, исправлений
или PR.&a.bugs.name;Сообщения об ошибкахЭтот список рассылки предназначен для отправки сообщений об
ошибках в FreeBSD. Когда это возможно, сообщения должны
отправляться с использованием &man.send-pr.1; или через
WEB интерфейс
к send-pr.&a.chat.name;Не-технические темы, относящиеся к сообществу
FreeBSDВ эту рассылку входят все темы, не подходящие для других
рассылок, с не-технической, социальной информацией.
Она включает обсуждения на темы:
кто пьет слишком много кофе, где варят
лучшее пиво, кто варит пиво в своем подвале, и так далее.
Нерегулярные анонсы важных событий (такие как будущие встречи,
свадьбы, дни рождения, новая работа и т.д.) могут быть
опубликованы в технических рассылках, но ответы должны
отправляться в -chat.&a.core.name;Команда FreeBSD coreЭто внутренний список рассылки, используемый членами
core. Сообщения в эту рассылку могут быть отправлены
по серьезной, имеющей отношение к FreeBSD причине, которая
требует рассмотрения на самом высоком уровне.&a.current.name;Обсуждения, касающиеся использования
&os.current;Это список рассылки для пользователей &os.current;. Он
включает предупреждения о новых возможностях, вносимых в
-CURRENT, влияющих на пользователей, и инструкции относительно
действий, которые должны быть предприняты для поддержки
-CURRENT. Всякий, работающий с CURRENT,
должен подписаться на эту рассылку. Это технический список
рассылки, все сообщения должны быть строго техническими.&a.cvsweb.name;FreeBSD CVSweb ProjectТехнические обсуждения использования, разработки и поддержки
FreeBSD-CVSweb.&a.doc.name;Проект документированияЭтот список рассылки предназначен для обсуждения вопросов
и проектов, относящихся к созданию документации для FreeBSD.
Члены этой рассылки все вместе обозначаются как
The FreeBSD Documentation Project. Это открытая
рассылка; присоединяйтесь и участвуйте!&a.firewire.name;&firewire; (iLink, IEEE 1394)Это список рассылки, предназначенный для обсуждения дизайна
и реализации подсистемы &firewire; (также известной как
IEEE 1394 или iLink) в FreeBSD. Соответствующие темы
относятся к стандартам, устройствам шины и их протоколам,
наборам плат/карт/чипов адаптера, а также архитектуре и
реализации кода для их правильной поддержки.&a.fs.name;Файловые системыОбсуждения, относящиеся к файловым системам FreeBSD. Это
технический список рассылки, предназначенный только для
технических обсуждений.&a.geom.name;GEOMОбсуждения, относящиеся к GEOM и связанным с GEOM реализациям.
Это технический список рассылки, предназначенный только для
технических обсуждений.&a.gnome.name;GNOMEОбсуждения, относящиеся к десктопу
GNOME для системы FreeBSD.
Это технический список рассылки, предназначенный только для
технических обсуждений.&a.ipfw.name;IP брандмауэрЭто форум для технических обсуждений, относящихся к
редизайну кода IP брандмауэра в FreeBSD.
Это технический список рассылки, предназначенный только для
технических обсуждений.&a.ia64.name;Портирование FreeBSD на IA64Это технический список рассылки для тех, кто активно
работает над портированием FreeBSD на платформу IA-64
от Intel, предназначенный для поднятия вопросов или обсуждения
альтернативных решений. Те, кто интересуется обсуждаемыми
проблемами, также приглашаются к участию в рассылке.&a.isdn.name;ISDN соединенияЭто список рассылки для обсуждения разработки поддержки
ISDN для FreeBSD.&a.java.name;Разработка &java;Этот список рассылки предназначен для обсуждения ключевых
приложений &java; для FreeBSD, а также портирования и
поддержки &jdk;.&a.jobs.name;Предложение и поиск работыЭто форум для публикации вакансий и резюме, относящихся
к &os;. Например, если вы ищете работу, относящеюся к
&os;, или у вас есть работа, связанная с &os;, вы можете
разместить соответствующую информацию именно здесь. Эта
рассылка НЕ предназначена для обсуждения общих вопросах
о приеме на работу, поскольку форумы на соответствующие
темы уже существуют на других сайтах.Имейте ввиду, что эта рассылка, как и другие рассылки
на FreeBSD.org, распространяется по всему миру. Поэтому вам
необходимо четко указать свое местоположение и область,
с которой возможны телекоммуникации или помощь в
перемещении.Письма должны быть составлены только в открытых форматах
— предпочтителен чистый текст, но Portable Document
Format (PDF), HTML, и некоторые другие
форматы могут быть прочитаны многими. Закрытые форматы,
такие как µsoft; Word (.doc)
будут отброшены сервером почтовой рассылки.&a.kde.name;KDEОбсуждения, относящиеся к KDE в
системах FreeBSD. Это технический список рассылки,
предназначенный только для технических обсуждений.&a.hackers.name;Технические обсужденияЭто форум для технических обсуждений, относящихся к
FreeBSD. Это в основном технический список рассылки. Он
предназначен для тех, кто активно работает над FreeBSD, и
служит для поднятия вопросов или обсуждения альтернативных
решений. Те, кто интересуется обсуждаемыми вопросами, также
приглашаются к участию в обсуждении. Это технический список
рассылки, предназначенный только для технических
обсуждений.&a.hardware.name;Общее обсуждение оборудования
FreeBSDОбщее обсуждение типов оборудования, на котором
работает FreeBSD, различных проблем и предложений относительно
того, какое оборудование можно покупать а какое нет.&a.hubs.name;Сайты зеркалАнонсы и обсуждения для поддерживающих зеркала
FreeBSD.&a.isp.name;Вопросы использования FreeBSD
провайдерамиЭтот список рассылки предназначен для обсуждения тем,
имеющих значение для провайдеров, использующих FreeBSD.
Это технический список рассылки, предназначенный только для
технических обсуждений.&a.newbies.name;Обсуждение деятельности новых
пользователейЭта рассылка охватывает всю деятельность новых
пользователей, которая не обсуждается где-то еще. Сюда
включаются: независимое обучение и техника решения проблем,
поиск и использование ресурсов и запрос помощи где-то еще,
как использовать списки рассылки и какие из них использовать,
разговоры на общие темы, обсуждение ошибок, хвастовство,
обмен идеями, истории, моральная (но не техническая) поддержка,
активное участие в сообществе FreeBSD. Мы сообщаем о своих
проблемах и отправляем запросы на поддержку в freebsd-questions,
а freebsd-newbies используем для встречи с темы, кто делает
то же, что и мы, будучи новыми пользователями.&a.openoffice.name;OpenOffice.orgОбсуждения, относящиеся к портированию и поддержке
OpenOffice.org и
&staroffice;.&a.performance.name;Обсуждения оптимизации или повышения скорости
FreeBSDЭтот список рассылки существует как место для обсуждения
тем, имеющих отношение к производительности FreeBSD,
хакерами, администраторами, и/или заинтересованными сторонами.
Приемлемые темы включают обсуждения установок FreeBSD, которые
находятся под высокой нагрузкой и сталкиваются с проблемами
производительности, или преодоление ограничений FreeBSD.
Заинтересованным сторонам, собирающимся работать над улучшением
производительности FreeBSD, настоятельно рекомендуется
подписаться на эту рассылку. Это техническая рассылка,
идеально подходящая для пользователей, хакеров или
администраторов, заинтересованных в скорости, стабильности
и расширяемости FreeBSD. Это не рассылка вопросов-и-ответов,
заменяющая чтение документации, а место, где можно внести свой
вклад или получить информацию по еще незатронутой
теме, связанной с производительностью.&a.platforms.name;Портирование на не-Intel
платформыКросс-платформенные вопросы FreeBSD, общее обсуждение и
предложения для не-Intel портов FreeBSD. Это технический
список рассылки, предназначенный только для технических
обсуждений.&a.policy.name;Правила core teamЭто рассылка с малым количеством сообщений, только для
чтения, предназначенная для публикации решений FreeBSD
Core Team.&a.ports.name;Обсуждения
portsОбсуждения, относящиеся к коллекции портов
FreeBSD, (/usr/ports), инфраструктуры
портов и общих усилий по координации портов.
Это технический список рассылки, предназначенный только для
технических обсуждений.&a.ports-bugs.name;Обсуждение проблем в
portsОбсуждения, относящиеся к сообщениям о проблемах для
коллекции портов FreeBSD
(/usr/ports), предлагаемых портов, или
изменений к портам. Это технический список рассылки,
предназначенный только для технических обсуждений.&a.questions.name;Вопросы пользователейЭто список рассылки по вопросам о FreeBSD. Вы не должны
отправлять вопросы как сделать в технические
рассылки, если только не уверены, что ваш вопрос чисто
технический.&a.scsi.name;Подсистема SCSIЭто список рассылки для тех, кто работает над подсистемой
SCSI для FreeBSD. Это технический список рассылки,
предназначенный только для технических обсуждений.&a.security.name;Вопросы безопасностиВопросы безопасности FreeBSD (DES, Kerberos, известные
проблемы безопасности и исправления, и т.п.). Это технический
список рассылки, предназначенный только для технических
обсуждений. Обратите внимание, что это не рассылка
вопросов-и-ответов, но дополнения в FAQ (И вопрос И ответ)
приветствуются.&a.security-notifications.name;Уведомления безопасностиУведомления о проблемах безопасности FreeBSD и исправления.
Эта рассылка не предназначена для обсуждений. Для обсуждения
предназначена рассылка FreeBSD-security.&a.small.name;Использование FreeBSD во встроенных
приложенияхВ этой рассылке обсуждаются темы, связанные с необычно
малыми и встроенными установками FreeBSD. Это технический
список рассылки, предназначенный только для технических
обсуждений.&a.stable.name;Обсуждения, касающиеся использования
&os.stable;Этот список рассылки предназначен для пользователей
&os.stable;. Он включает предупреждения о новых возможностях,
добавляемых в -STABLE, и влияющих на пользователей, и инструкции
по действиям, которые необходимы для поддержки системы в
состоянии -STABLE. Всякий, использующий STABLE,
должен подписаться на эту рассылку. Это технический список
рассылки, предназначенный только для технических
обсуждений.&a.standards.name;Соответствие C99 и POSIXЭто форум для технических обсуждений, относящихся к
соответствию FreeBSD стандартам C99 и POSIX.&a.usergroups.name;Список координации групп
пользователейЭтот список рассылки предназначен для обсуждения вопросов
координаторами каждой группы пользователей и назначенным
членом Core Team. Обсуждения в этой рассылке ограничены
темой встреч и координацией проектов, относящихся к группам
пользователей.&a.vendors.name;ПоставщикиОбсуждения, относящиеся к координации между FreeBSD Project
и поставщиками программного и аппаратного обеспечения для
FreeBSD.Фильтрация списков рассылкиСписки рассылки &os; фильтруются различными способами для
предотвращения распространения спама, вирусов, и другой нежелательной
почты. Действия по фильтрации, описанные в этом разделе,
не включают всех используемых для фильтрации списков рассылки
проекта действий.Только определенные типы вложений разрешены в списках рассылки.
Все вложения с типами MIME содержимого, не входящие в список ниже,
будут вырезаться перед тем, как письмо будет отправлено в список
рассылки.application/octet-streamapplication/pdfapplication/pgp-signatureapplication/x-pkcs7-signaturemessage/rfc822multipart/alternativemultipart/relatedmultipart/signedtext/htmltext/plaintext/x-difftext/x-patchНекоторые из списков рассылки могут пропускать вложения
других типов MIME, но список выше применим к большинству
рассылок.Если письмо содержит как HTML, так и только текстовую версию,
версия HTML будет удалена. Если письмо содержит только HTML
версию, она будет конвертирована в простой текст.Новостные группы UsenetВ дополнение к двум относящимся к FreeBSD группам новостей,
существуют множество других, где обсуждается FreeBSD или куда
помещается другая информация, относящаяся к пользователям FreeBSD.
Архивы
с поиском по ключевому слову доступны для некоторых из
этих новостных групп благодаря Warren Toomey
wkt@cs.adfa.edu.au.Относящиеся к BSD новостные группыcomp.unix.bsd.freebsd.announcecomp.unix.bsd.freebsd.miscde.comp.os.unix.bsd (German)fr.comp.os.bsd (French)it.comp.os.freebsd (Italian)Другие интересные &unix; новостные группыcomp.unixcomp.unix.questionscomp.unix.admincomp.unix.programmercomp.unix.shellcomp.unix.user-friendlycomp.security.unixcomp.sources.unixcomp.unix.advocacycomp.unix.misccomp.bugs.4bsdcomp.bugs.4bsd.ucb-fixescomp.unix.bsdX Window Systemcomp.windows.x.i386unixcomp.windows.xcomp.windows.x.appscomp.windows.x.announcecomp.windows.x.intrinsicscomp.windows.x.motifcomp.windows.x.pexcomp.emulators.ms-windows.wineСерверы World Wide Web
&chap.eresources.www.inc;
Адреса EmailСледующие группы пользователей предоставляют для своих участников
почтовые адреса. Приведенные в списке администраторы оставляют за собой
право удалить адреса при любом злоупотреблении.ДоменВозможностиГруппа пользователейАдминистраторukug.uk.FreeBSD.orgТолько пересылкаfreebsd-users@uk.FreeBSD.orgLee Johnston
lee@uk.FreeBSD.orgShell доступСледующие группы пользователей предоставляют shell доступ для тех,
кто активно поддерживает проект FreeBSD. Приведенные в списке
администраторы оставляют за собой право закрыть учетную запись при
любом злоупотреблении.ХостДоступВозможностиАдминистраторstorm.uk.FreeBSD.orgТолько SSHCvs только для чтения, место для личной странички,
почта&a.brian;dogma.freebsd-uk.eu.orgTelnet/FTP/SSHEmail, место для сайта, Anonymous FTPLee Johnston
lee@uk.FreeBSD.org
diff --git a/ru_RU.KOI8-R/books/handbook/install/chapter.sgml b/ru_RU.KOI8-R/books/handbook/install/chapter.sgml
index 75bc0c3b16..d32b700aac 100644
--- a/ru_RU.KOI8-R/books/handbook/install/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/install/chapter.sgml
@@ -1,5594 +1,5594 @@
JimMockРеструктурировал, исправил и частично
переписал RandyPrattОбзор sysinstall, скриншоты и общее
руководство Установка FreeBSDКраткий обзорустановкаFreeBSD поставляется простой в использовании текстовой
программой установки sysinstall.
Это основная программа установки FreeBSD, хотя поставщики
могут предлагать свои программы. В этой главе
описывается использование sysinstall
для установки FreeBSD.Прочтя эту главу, вы узнаете:Как создать дискеты для установки FreeBSD.Как FreeBSD видит и делит на разделы жесткие диски.Как запустить sysinstall.Вопросы, которые sysinstall задаст
вам, что имеется ввиду, и как ответить на эти вопросы.Перед прочтением этой главы вам потребуется:Прочитать информацию о поддерживаемом оборудовании, поставляемую
с устанавливаемой версией FreeBSD, и убедиться, что ваше
оборудование поддерживается.Как правило, эти инструкции по установке написаны для
&i386; (PC совместимых)
компьютеров. Когда это возможно, приводятся инструкции,
специфичные для других платформ (например, Alpha).
Хотя это руководство поддерживается в актуальном состоянии
настолько, насколько это возможно, вы можете обнаружить
небольшие различия между программой установки и тем,
что показано здесь. Предполагается, что вы будете
использовать эту главу в качестве общего руководства, а не
как пошаговую инструкцию по установке.Перед установкойСоберите информацию о компьютереПеред установкой FreeBSD попытайтесь собрать
информацию об устройствах компьютера. Во время установки
FreeBSD покажет информацию об устройствах (жестких дисках,
сетевых картах, CDROM и т.д.) с номером модели и производителем.
FreeBSD также попытается определить правильную конфигурацию для
этих устройств, включая информацию об IRQ и портах ввода-вывода. Из-за
возможных проблем с оборудованием этот процесс не всегда
завершается успешно, и возможно вам придется исправлять
определенную FreeBSD конфигурацию.Если у вас уже есть установленная операционная система,
например &windows; или Linux, неплохо будет использовать ее
возможности для просмотра настроек оборудования.
Если вы не уверены какие какие настройки карты
расширения использовать, можете найти их на самой карте.
Часто используемые номера прерываний 3, 5 и 7, порты ввода-
вывода обычно пишутся в шестнадцатеричном виде, например
0x330.Мы рекомендуем распечатать эту информацию перед установкой
FreeBSD. Вам может помочь использование таблицы вроде этой:
Пример сведений об оборудованииНазвание устройстваIRQПорт ввода-выводаПримечанияПервый жесткий дискнетнет40 GB, Seagate, первый IDE masterCDROMнетнетПервый IDE slaveВторой жесткий дискнетнет20 GB, IBM, второй IDE masterПервый IDE контроллер140x1f0Сетевая картанетнет&intel; 10/100Модемнетнет&tm.3com; 56K факс-модем, COM1…
Сделайте резервное копирование данныхЕсли компьютер, на который вы устанавливаете FreeBSD,
содержит важные данные, убедитесь в наличии резервных копий
и проверьте их сохранность перед установкой FreeBSD.
Во время установки FreeBSD запросит подтверждение перед
тем, как записать данные на диск, но, если процесс запущен,
изменения нельзя отменить.Решите куда установить FreeBSDЕсли вы хотите, чтобы FreeBSD использовала весь жесткий диск,
не о чем беспокоиться — можете пропустить этот
раздел.Однако, если нужно совмещать FreeBSD с другими
операционными системами, необходимо иметь представление
как данные размещаются на диске и как это касается вас.Разделы диска для &i386;Диск PC может быть поделен отдельные части. Эти
части называют разделами. Первоначально
PC поддерживал только четыре раздела на диск. Эти разделы
называются главными разделами. Чтобы
обойти это ограничение и дать возможность создавать более чем
четыре раздела, был создан новый тип раздела, расширенный
раздел. Диск может содержать только один расширенный
раздел. Специальные разделы, называемые логическими
разделами, могут быть созданы внутри расширенного
раздела.Каждый раздел имеет ID раздела —
номер, который используется для определения типа данных на разделе.
FreeBSD использует ID раздела 165.Как правило, каждая операционная система, которую вы используете,
определяет разделы своим способом. Например, DOS и ее
потомки, такие как &windows;, присваивают каждому главному и логическому
разделу букву диска, начиная с
C:.FreeBSD нужно устанавливать в главный раздел. FreeBSD может
хранить все свои данные, включая создаваемые вами файлы, на
этом одном разделе. Тем не менее, если дисков много, вы можете
создать разделы FreeBSD на всех дисках или на некоторых из них.
При установке FreeBSD должен быть доступен по крайней мере один раздел.
Это может быть чистый, подготовленный для установки раздел, или
раздел с данными, которые больше не нужны.Если все разделы на диске уже используются, вы должны
освободить один из них для FreeBSD, используя программы,
поставляемые с имеющейся операционной системой (например,
fdisk для DOS или &windows;).Если есть резервный раздел, используйте его. Однако,
возможно сначала придется ужать один или несколько
существующих разделов. FreeBSD для установки нужен диск не менее 100 MB.
Однако, это оченьминимальная
установка, при которой не останется места для ваших личных
файлов. Более реальный объем — 250 MB без графической оболочки,
и более 350 MB с графической оболочкой. Если вы собираетесь
устанавливать большое количество дополнительного ПО,
понадобится еще больше дискового пространства.Вы можете использовать коммерческие программы,
такие как &partitionmagic;, для
изменения размера разделов и освобождения места под
FreeBSD. Каталог tools на CDROM
содержит две свободно распространяемых утилиты,
которые могут быть использованы для этой задачи, называющиеся
FIPS
и PResizer.
FIPS,
PResizer, и
&partitionmagic; могут изменять размер
разделов FAT16 и FAT32,
используемых системами от &ms-dos; до &windows; ME.
&partitionmagic; это единственная
известная программа, способная изменять размер NTFS.
Документация на них находится в том же каталоге.Неправильное использование этих утилит может привести к
уничтожению данных на диске. Удостоверьтесь в
наличии свежих и исправных резервных копий данных перед
их использованием.Использование существующего раздела без измененияПредставьте что в компьютере один 4 GB диск, на
котором уже установлена &windows;, и диск разбит на два
логических диска C: и
D:, каждый по 2 GB.
1 GB данных на C:, и
0.5 GB данных на D:.Это означает, что диск состоит из двух разделов, по одному
на каждую букву. Вы можете скопировать все данные с
D: на C:, это
освободит второй раздел для FreeBSD.Сжатие существующих разделовПредставьте, что в компьютере один 4 GB диск, на
котором уже установлена &windows;. При установке
&windows; вы создали один большой раздел, получив при этом
диск C: размером 4 GB. Вы
используете 1.5 GB, и хотите выделить 2 GB для FreeBSD.Для установки FreeBSD нужно выбрать:Сделать резервную копию &windows;, затем переустановить
&windows;, выделив 2 GB под ее раздел.Использовать одну из утилит, таких как
&partitionmagic;, описанную
выше, для сжатия раздела &windows;.Разделы диска для AlphaAlphaВам потребуется выделенный диск
для FreeBSD на Alpha. В настоящее время невозможно
установить две операционные системы на диск. В зависимости
от конкретного компьютера Alpha, диск может быть SCSI
или IDE, главное, чтобы ваш компьютер мог с него
загружаться.В соответствии с соглашениями, принятыми в
руководствах Digital / Compaq, весь SRM ввод показан в
верхнем регистре. SRM нечувствителен к регистру.Для поиска имен и типов дисков на компьютере
используйте команду SHOW DEVICE SRM
консоли:>>>SHOW DEVICE
dka0.0.0.4.0 DKA0 TOSHIBA CD-ROM XM-57 3476
dkc0.0.0.1009.0 DKC0 RZ1BB-BS 0658
dkc100.1.0.1009.0 DKC100 SEAGATE ST34501W 0015
dva0.0.0.0.1 DVA0
ewa0.0.0.3.0 EWA0 00-00-F8-75-6D-01
pkc0.7.0.1009.0 PKC0 SCSI Bus ID 7 5.27
pqa0.0.0.4.0 PQA0 PCI EIDE
pqb0.0.1.4.0 PQB0 PCI EIDEЭтот пример с Digital Personal Workstation
433au показывает три подключенных диска. Первый —
устройство CDROM с именем DKA0, другие два
называются DKC0 и
DKC100 соответственно.Диски с именами DKx
— SCSI диски. Например, DKA100
означает SCSI диск со SCSI целевым ID 1 на первой SCSI шине (A),
в то время как DKC300 означает SCSI диск
с SCSI ID 3 на третьей SCSI шине (C). Имя устройства
PKx означает SCSI адаптер. Как показано
в выводе SHOW DEVICE, SCSI устройство CDROM
определяется как любой другой жесткий диск SCSI.Имена IDE дисков выглядят как DQx,
в то время как PQx — IDE
контроллер.Соберите информацию о конфигурации сетиЕсли вы хотите подключиться к сети в процессе установки
FreeBSD (например, при установке с FTP или NFS сервера),
нужно знать конфигурацию сети. Вам будет предложено
ввести эту информацию,
чтобы FreeBSD смогла подключиться к сети для продолжения
установки.Подключение к сети Ethernet, или через кабельный/DSL модемЕсли вы подключаетесь к сети Ethernet, или соединение
с интернет подключено к Ethernet через кабельный или DSL модем, понадобится
следующая информация:IP адресIP адрес шлюза по умолчаниюИмя хостаIP адрес DNS сервераМаска подсетиЕсли у вас нет этой информации, спросите
системного администратора или провайдера интернет. Они могут сказать,
что эти данные присваиваются автоматически, с использованием
DHCP. Если это так, запомните это.Подсоединение с помощью модемаЕсли вы дозваниваетесь до провайдера с помощью обычного модема,
вы все же сможете установить FreeBSD через интернет, но это займет
очень много времени.Вам нужно знать:Номер телефона провайдераCOM порт, к которому подключен модемИмя пользователя и пароль учетной записи для доступа в
интернетПроверьте сведения об обнаруженных ошибках FreeBSDХотя проект FreeBSD борется за то, чтобы каждый релиз
FreeBSD был настолько стабильным, насколько это возможно, ошибки порой
вкрадываются в процесс разработки. В очень редких случаях эти ошибки
влияют на процесс установки. Как только эти проблемы обнаруживаются и
- исправляются, они попадают в сообщения об ошибках FreeBSD, находящиеся
+ исправляются, они попадают в сообщения об ошибках FreeBSD, находящиеся
на сайте FreeBSD. Вы можете проверить сообщения об ошибках перед
установкой, чтобы убедиться, что не существует проблем, о которых стоит
беспокоиться.Информация о релизах, включая сообщения об ошибках каждого релиза,
находится странице
информации
о релизахсайта FreeBSD.Получение установочных файлов FreeBSDПрограмма установки FreeBSD может установить FreeBSD из файлов,
расположенных в одном из следующих мест:Локальный дискCDROM или DVDРаздел DOS на вашем компьютереЛента SCSI или QICГибкие дискиСетьFTP сервер (через файрволл или HTTP прокси,
если потребуется)NFS серверСоединение через параллельный или последовательный портЕсли вы купили FreeBSD на CD или DVD, у вас уже есть
все, что нужно, переходите к следующему разделу
().Если у вас нет установочных файлов FreeBSD,
перейдите к разделу , который описывает,
как подготовиться к установке FreeBSD любым указанным выше способом.
После прочтения этого раздела, вернитесь сюда и прочтите
.Подготовка загрузочных дисковПроцесс установки FreeBSD начинается с загрузки в ваш
компьютер программы установки FreeBSD — эта программа
не запускается из других операционных систем. Компьютер
обычно загружает операционную систему, установленную на
жестком диске, но также может быть настроен для
использования загрузочной дискеты.
Большинство современных компьютеров могут также
загрузиться с компакт-диска в приводе CDROM.Если у вас есть FreeBSD на CDROM или DVD (купленный
или записанный самостоятельно), и компьютер позволяет загрузку
с CDROM или DVD (обычно этот пункт в BIOS называется Boot
Order или что-то вроде), можете пропустить этот раздел.
Образы FreeBSD CDROM и DVD являются загрузочными и могут быть
использованы для установки FreeBSD без какой-либо специальной
подготовки.Для создания загрузочных дисков сделайте следующее:Получение образов загрузочных дисковЗагрузочные диски есть на установочном диске
в каталоге floppies/, и
могут быть также закачаны из
каталога floppies для компьютеров &i386; и из каталога floppies для компьютеров Alpha.Расширение файла образа диска .flp.
Каталог floppies/ содержит множество
разных образов, ваш выбор будет зависеть от устанавливаемой
версии FreeBSD и, в некоторых случаях, от конфигурации
компьютера. В большинстве случаев понадобятся всего лишь два
файла, kern.flp и
mfsroot.flp. В некоторых системах могут
потребоваться дополнительные драйверы устройств. Они находятся
в файле drivers.flp. Обратитесь к файлу
README.TXT в том же каталоге за свежей
информацией об этих образах дисков.FTP клиент должен использовать
бинарный режим
для загрузки образов дисков. Некоторые веб браузеры
используют текстовый
(ASCII) режим, который точно не позволит
загрузиться с этих дисков.Подготовка дискетНеобходимо подготовить по одной дискете на
каждый загруженный образ. Эти дискеты должны
быть без дефектов. Лучший способ проверить это —
отформатировать дискеты самостоятельно.
Не доверяйте заводскому форматированию дискет. Утилита
форматирования в &windows; не сообщит о наличии плохих
секторов, она просто пометит их как плохие
и проигнорирует. Советуем использовать новые дискеты
если вы выбрали этот способ установки.Если при попытке установки FreeBSD программа
установки рушится, зависает, или делает что-то не так, сразу
проверьте дискеты. Попробуйте записать образы
на новые дискеты и попытайтесь еще раз.Запись образов на дискетыФайлы с расширением .flp это
не обычные файлы, которые можно
записать на диск. Это образы всего содержимого диска.
Это означает, что вы не можете
просто скопировать их с одного диска на другой.
Вместо этого, нужно использовать
специальные утилиты для записи образов на диск.DOSЕсли вы записываете флоппи на компьютере под
&ms-dos;/&windows;, используйте утилиту
fdimage.Если вы используете образы с CDROM, и буква вашего
CDROM E:,
запустите ее так:E:\>tools\fdimage floppies\kern.flp A:Повторите эту команду для каждого файла
.flp, вставляя новую дискету каждый раз,
пометьте каждый диск именем файла, который вы скопировали на него.
Измените команду если потребуется, в зависимости от места, куда вы
поместили файлы .flp. Если у вас нет
CDROM, fdimage может быть загружена
из каталога tools FTP сервера FreeBSD.Если вы записываете дискеты под &unix; (например,
под другой системой FreeBSD), используйте утилиту &man.dd.1;
для записи образов непосредственно на дискеты. Под FreeBSD
запустите:&prompt.root; dd if=kern.flp of=/dev/fd0Под FreeBSD, /dev/fd0 означает первый
гибкий диск (диск A:).
/dev/fd1 будет диском
B:, и так далее. Другие &unix;
системы могут по-другому именовать устройства гибких дисков,
вам возможно понадобится прочитать документацию по
соответствующей системе.Теперь вы готовы к установке FreeBSD.Начало установкиКак правило, программа установки не будет производить никаких
изменений на дисках, пока не выдаст следующее сообщение:Last Chance: Are you SURE you want continue the installation?
If you're running this on a disk with data you wish to save then WE
STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!
We can take no responsibility for lost disk contents!Установка может быть прервана в любой момент до этого
предупреждения без каких-либо изменений на жестком диске. Если вы
считаете, что что-то настроили неправильно, можете просто
выключить компьютер без риска что-либо повредить.ЗагрузкаЗагрузка &i386;Компьютер выключен.Включите компьютер. После включения он должен показать
способ входа в меню установки BIOS, как правило это
клавиши F2, F10,
Del, или
AltS. Используете те клавиши, которые показаны на экране.
В некоторых случаях компьютер может показывать картинку после
запуска. Как правило, нажатие Esc уберет картинку
и позволит вам увидеть необходимую информацию.Найдите установки системы, указывающие ей с какого устройства
загружаться. Обычно они обозначаются как Boot Order,
и там как правило отображен список устройств, таких как
Floppy, CDROM,
First Hard Disk, и так далее.Если вы подготовили дискеты, убедитесь, что выбран
Floppy. Если вы загружаетесь с CDROM, убедитесь что
выбран он. Если вы не уверены, посмотрите руководство к
компьютеру и/или к его материнской плате.Сделайте изменения, затем сохраните их и выйдите. Компьютер
должен перезагрузиться.Если вы подготовили дискеты, как описано в разделе
, одна из них будет первым
загрузочным диском; как правило, это дискета с
kern.flp. Вставьте эту дискету в
дисковод.Если вы загружаетесь с CDROM, потребуется сначала
включить компьютер и вставить компакт-диск как только это станет
возможно.Если компьютер запускается как обычно, и загружает
существующую операционную систему, возможны следующие причины:Диск был вставлен недостаточно рано в процессе загрузки.
Оставьте его внутри и перегрузите компьютер.Установки BIOS, измененные ранее, действуют неправильно.
Надо изменять их их пока они не заработают.BIOS вашего компьютера не поддерживает загрузку с
выбранного типа носителя.FreeBSD начнет загрузку. Если загрузка происходит с CDROM, вы
увидите что-то вроде этого (информация о версии удалена):Verifying DMI Pool Data ........
Boot from ATAPI CD-ROM :
1. FD 2.88MB System Type-(00)
Uncompressing ... done
BTX loader 1.00 BTX version is 1.01
Console: internal video/keyboard
BIOS drive A: is disk0
BIOS drive B: is disk1
BIOS drive C: is disk2
BIOS drive D: is disk3
BIOS 639kB/261120kB available memory
FreeBSD/i386 bootstrap loader, Revision 0.8
/kernel text=0x277391 data=0x3268c+0x332a8 |
|
Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [kernel] in 9 seconds... _Если происходит загрузка с дискеты, вы увидите что-то вроде
этого (информация о версии удалена):Verifying DMI Pool Data ........
BTX loader 1.00 BTX version is 1.01
Console: internal video/keyboard
BIOS drive A: is disk0
BIOS drive C: is disk1
BIOS 639kB/261120kB available memory
FreeBSD/i386 bootstrap loader, Revision 0.8
/kernel text=0x277391 data=0x3268c+0x332a8 |
Please insert MFS root floppy and press enter:Следуя инструкциям, уберите дискету с
kern.flp, вставьте дискету с
mfsroot.flp и нажмите
Enter.Идет ли загрузка с дискет или с CDROM,
в процессе загрузки появится:Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [kernel] in 9 seconds... _Подождите десять секунд или нажмите Enter.
Будет запущено меню конфигурации ядра.Загрузка AlphaAlphaКомпьютер выключен.Включите компьютер и дождитесь приглашения к загрузке
на мониторе.Если вы подготовили загрузочные дискеты, как описано в разделе
, одна из них будет
первым загрузочным диском; как правило, это дискета с
kern.flp. Вставьте эту дискету в дисковод
и наберите следующую команду для загрузки
(замените на имя вашего дисковода если потребуется):>>>BOOT DVA0 -FLAGS '' -FILE ''Если вы загружаетесь с CDROM, вставьте компакт-диск в
привод и наберите для начала установки следующую команду
(замените на имя соответствующего устройства
CDROM если потребуется):>>>BOOT DKA0 -FLAGS '' -FILE ''FreeBSD начнет загружаться. Если загрузка идет с дискет, через
некоторое время вы увидите сообщение:Please insert MFS root floppy and press enter:Следуя инструкциям, удалите дискету с
kern.flp, вставьте дискету с
mfsroot.flp и нажмите
Enter.Идет ли загрузка с дискет или с CDROM,
в процессе загрузки появится:Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [kernel] in 9 seconds... _Подождите десять секунд или нажмите Enter.
Будет запущено меню конфигурации ядра.Конфигурация ядра (kernel)Начиная с FreeBSD версии 5.0 и более поздних, userconfig
был удален в пользу метода &man.device.hints.5;. За более подробной
информацией о &man.device.hints.5; обращайтесь к kernel это ядро операционной системы.
В нем реализовано множество функций, включая доступ ко
всем устройствам, которые могут быть в системе, таким как
жесткие диски, сетевые карты, звуковые карты и т.д. Каждое устройство,
поддерживаемое ядром FreeBSD имеет свой драйвер. У каждого
драйвера есть имя из двух или трех букв, например sa
для драйвера последовательного доступа SCSI, или
sio
для драйвера последовательного ввода-вывода (который управляет
COM портами).Когда ядро загружено, каждый драйвер проверяет систему на
предмет наличия поддерживаемого оборудования. Если оно найдено,
драйвер конфигурирует оборудование и делает его доступным остальной
части ядра.Такая проверка обычно называется тестированием
устройства. К сожалению, это не всегда
безопасно. Некоторые драйвера конфликтуют между собой,
и проверка части оборудования иногда может привести другую
часть в неработоспособное состояние. Это основное ограничение
архитектуры PC.Многие старые устройства называются ISA — в
противоположность PCI. Стандарт ISA требует, чтобы в каждом
устройстве была прописана некоторая информация, обычно номер
Interrupt Request Line (IRQ) и адрес порта ввода-вывода, которые
используются драйвером. Эта информация обычно устанавливается
с использованием перемычек на карте, или с помощью DOS
утилиты.Часто это вызывало проблемы, поскольку было
невозможно использовать два устройства с одинаковыми IRQ или
адресами портов.Новые устройства поддерживают PCI стандарт, который не
требует установки параметров вручную, так как устройства способны
общаться с BIOS и договариваться, какие IRQ и адреса портов
ввода-вывода использовать.Если в вашем компьютере есть устройства ISA, FreeBSD
драйвер для этого устройства должен быть настроен с IRQ и
адресом порта установленными на карте. Для этого может
понадобиться собрать сведения об оборудовании ().К сожалению, номера IRQ и адреса портов, используемые
некоторыми драйверами, конфликтуют. Это потому, что некоторые
устройства ISA поставляются с конфликтующими номерами IRQ
или адресами портов. По умолчанию драйвера FreeBSD
предусмотрительно настроены для использования заводских установок,
поэтому будут работать столько устройств, сколько возможно.Это как правило не проблема при каждодневном использовании FreeBSD.
В компьютере обычно нет двух конфликтующих устройств,
поскольку в противном случае одно из них не будет работать
(независимо от используемой операционной системы).Это может стать проблемой при установке FreeBSD в первый раз,
потому что ядро, используемое для установки, собрано с максимальным
количеством драйверов для поддержки множества различных
конфигураций оборудования. Это означает, что некоторые из драйверов
имеют конфликтующие настройки. Устройства тестируются в строго
определенном порядке, и если у вас есть устройство, тестирующееся
позже, но конфликтующее с ранее протестированным устройством,
оборудование может не работать или быть некорректно протестировано
в процессе установки FreeBSD.Поэтому первое, что вы должны сделать при установке
FreeBSD — проверить список устройств, настроенных в
ядре. Отключите некоторые из них, если таких устройств нет.
Подтвердите (и измените) конфигурацию, если
это устройство присутствует, но установки по умолчанию неверны.Возможно, это звучит гораздо сложнее чем есть на самом деле.На показано главное меню
конфигурации ядра. Мы рекомендуем выбрать опцию
Start kernel configuration in full-screen visual
mode, так как это самый простой интерфейс для
нового пользователя.Меню конфигурации ядра&txt.install.userconfig;Экран конфигурации ядра ()
поделен на четыре части:Свернутый список устройств, помеченных как
active, поделен на группы, такие как
Storage, и Network.
Каждый драйвер показан в виде описания, имени из двух
или трех букв, используемых IRQ и порта. В дополнение,
если какой-либо активный драйвер конфликтует с другим
активным драйвером, после имени драйвера пишется
CONF. В этом разделе также показано
общее число конфликтующих активных драйверов. Драйверы, помеченные как неактивные. Они остаются в ядре,
но не будут тестировать свои устройства при загрузке ядра.
Они поделены на группы так же как и активные драйверы.Дополнительная информация о выбранном в данный момент
драйвере, включая IRQ и адрес порта.Информация об управляющих клавишах, доступных в данный
момент.Визуальный интерфейс конфигурации ядра&txt.install.userconfig2;Не беспокойтесь если появятся сообщения о конфликтах,
так и должно быть; все драйверы
включены и как уже объяснялось, некоторые из них будут
конфликтовать с другими.Сейчас вам нужно просмотреть список драйверов и
разрешить конфликты.Разрешение конфликтов драйверовНажмите X. Это полностью раскроет список
драйверов и вы сможете увидеть их все. Вам понадобятся
клавиши навигации для прокрутки назад и вперед в списке
активных драйверов. показывает результат
действия X. Развернутый список драйверовОтключите все драйвера устройств, которых у вас нет. Для
отключения драйвера, переместитесь к нему с помощью клавиш
навигации и нажмите Del. Драйвер будет
помещен в список Inactive Drivers.Если вы случайно отключили нужное устройство, нажмите
Tab для переключения на Inactive
Drivers, выберите отключенный драйвер, и
нажмите Enter, чтобы вернуть его обратно в список
активных драйверов.Не отключайте sc0. Он управляет
экраном, и он нужен, если только вы не производите установку
через последовательный порт.Отключайте atkbd0 только если
вы используете USB клавиатуру. Если клавиатура обычная,
оставьте atkbd0.Если конфликтов нет, можете пропустить этот этап.
В другом случае оставшиеся конфликты должны быть проверены. Если
они не помечены как allowed conflict в окне
сообщений, должны быть изменены или IRQ/адрес порта для
тестирования устройства, или IRQ/адрес порта
физического устройства.Для изменения IRQ и адреса порта ввода-вывода драйвера,
выберите устройство и нажмите Enter. Курсор
переместится в третье окно и вы сможете изменить значения.
вам нужно ввести значения IRQ и адреса порта, определенные
в процессе сбора информации об оборудовании.
Нажмите Q для завершения редактирования
конфигурации устройства и возвращения в список активных
устройств.Если вы не уверены, какими должны быть эти значения,
попробуйте использовать -1. Некоторые драйвера
FreeBSD могут безопасно протестировать оборудование
для определения правильных значений, и значение
-1 указывает им сделать это.Процедура изменения адреса физического устройства различна
для разных устройств. Для некоторых устройств вам может
понадобиться извлечь карту из компьютера и установить перемычки или
DIP переключатели. Другие устройства могут поставляться с DOS
дискетой, содержащей программы, используемые для перенастройки
карты. В любом случае, обращайтесь к документации, поставляемой
с устройством. Изменение адреса несомненно потребует
перезагрузки компьютера, так что вам потребуется опять
вернуться к процессу установки FreeBSD после
перенастройки карты.Когда все конфликты будут разрешены, экран будет выглядеть как
.Конфигурация драйверов без конфликтовКак видите, список активных драйверов стал гораздо меньше,
поскольку в нем только драйвера реально установленных
устройств.Теперь вы можете сохранить изменения и перейти к следующему
пункту установки. Нажмите Q для выхода из меню
конфигурации. Появится сообщение:Save these parameters before exiting? ([Y]es/[N]o/[C]ancel)Нажмите Y для сохранения параметров
в памяти (они будут сохранены на диск после завершения установки)
и тестирование начнется. После отображения белым по черному
результатов тестирования запустится
sysinstall
и отобразится главное меню
().Главное меню SysinstallПросмотр результатов тестирования устройствПоследние несколько сотен линий, отображенные на экране,
сохраняются и могут быть просмотрены.Для просмотра буфера нажмите Scroll Lock. Это
включит прокрутку экрана. Вы можете использовать клавиши навигации или
PageUp и PageDown для просмотра
результатов. Нажмите Scroll Lock еще раз для
отключения прокрутки.Сделайте это сейчас для просмотра текста, ушедшего за экран,
когда ядро закончило тестирование устройств. Вы увидите текст вроде
, хотя в деталях он будет отличаться
в зависимости от устройств, имеющихся в вашем компьютере.Типичный вывод Device Probeavail memory = 253050880 (247120K bytes)
Preloaded elf kernel "kernel" at 0xc0817000.
Preloaded mfs_root "/mfsroot" at 0xc0817084.
md0: Preloaded image </mfsroot> 4423680 bytes at 0xc03ddcd4
md1: Malloc disk
Using $PIR table, 4 entries at 0xc00fde60
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1:<VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11
isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
isa0: <iSA bus> on isab0
atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0 <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci
0
usb0: <VIA 83572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr1
uhub0: 2 ports with 2 removable, self powered
pci0: <unknown card> (vendor=0x1106, dev=0x3040) at 7.3
dc0: <ADMtek AN985 10/100BaseTX> port 0xe800-0xe8ff mem 0xdb000000-0xeb0003ff ir
q 11 at device 8.0 on pci0
dc0: Ethernet address: 00:04:5a:74:6b:b5
miibus0: <MII bus> on dc0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xec00-0xec1f irq 9 at device 10.
0 on pci0
ed0 address 52:54:05:de:73:1b, type NE2000 (16 bit)
isa0: too many dependant configs (8)
isa0: unexpected small tag 14
orm0: <Option ROM> at iomem 0xc0000-0xc7fff on isa0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/@ mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
pppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/15 bytes threshold
plip0: <PLIP network interface> on ppbus0
ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master UDMA33
acd0: CD-RW <LITE-ON LTR-1210B> at ata1-slave PIO4
Mounting root from ufs:/dev/md0c
/stand/sysinstall running as init on vty0Внимательно проверьте результаты тестирования устройств и
убедитесь, что FreeBSD обнаружила все устройства какие нужно.
Если устройство не найдено, его не будет в списке. Если драйвер
устройства нуждается в настройке IRQ и адреса порта, проверьте,
введены ли они правильно.Если вам нужно внести изменения в UserConfig,
потребуется выйти из sysinstall
и начать сначала. Это также хороший путь познакомиться поближе с
процессом конфигурации.Выбор Sysinstall ExitИспользуйте клавиши навигации для выбора
Exit Install из главного меню.
Отобразится сообщение: User Confirmation Requested
Are you sure you wish to exit? The system will reboot
(be sure to remove any floppies from the drives).
[ Yes ] NoПрограмма установки запустится опять, если компакт-диск
остался в устройстве и было выбрано [Yes].Если вы загружаетесь с дискет, необходимо будет извлечь
дискету с mfsroot.flp и заменить ее дискетой с
kern.flp перед перезагрузкой.Введение в SysinstallУтилита sysinstall это программа
установки, предоставляемая проектом FreeBSD. Это консольное приложение,
разделенное на несколько меню и экранов, которые вы можете использовать
для настройки и управления процессом установки.Меню sysinstall управляется
клавишами навигации, Enter, пробелом, и
другими. Подробное описание клавиш и их функций содержится в информации
по использованию sysinstall.Для просмотра этой информации убедитесь, что выбраны пункт
Usage и кнопка
[Select], как показано на , затем нажмите Enter.Будут показаны инструкции по использованию меню. После
просмотра инструкций, нажмите Enterдля
возврата в главное меню.Выбор Usage в главном меню SysinstallВыбор меню документации (Doc)Из главного меню выберите клавишами навигации
Doc и нажмите Enter.Выбор меню документацииБудет отображено меню документации.Меню документации SysinstallРекомендуется прочитать предоставляемую документацию.Для просмотра документа выберите его с помощью клавиш
навигации и нажмите Enter. После
прочтения документа нажмите Enter для
возврата в меню документации.Для возврата в главное меню выберите
Exit с помощью клавиш навигации и
нажмите Enter.Выбор меню раскладки клавиатуры (Keymap)Для изменения раскладки клавиатуры выберите из меню с
помощью клавиш навигации Keymap
и нажмите Enter. Это потребуется только при
использовании нестандартной или не-US клавиатуры.Выбор меню раскладки клавиатурыРазличные раскладки клавиатуры могут быть выбраны из
меню с использованием клавиш навигации, затем следует
нажать Space. Нажатие Space
еще раз приведет к отмене выбора. Когда необходимые раскладки
будут выбраны, перейдите на &gui.ok; с помощью клавиш
навигации и нажмите Enter.На экран выведена только часть списка. Нажав
Tab, можно выбрать &gui.cancel;, вернуться к
раскладке по умолчанию и перейти к главному меню.Меню раскладки клавиатурыПараметры установки (Options)Выберите пункт Options
и нажмите Enter.Выбор параметров установкиПараметры SysinstallПараметры по умолчанию обычно устраивают большинство
пользователей и не нуждаются в изменении. Имя релиза зависит
от устанавливаемой версии.Описание выбранного пункта будет появляться внизу экрана
с синей подсветкой. Обратите внимание, что один из
параметров — Use Defaults,
означает сброс всех параметров к значениям по
умолчанию.Нажатие F1 отобразит справку
по различным параметрам.Нажатием Q можно перейти к
главному меню.Начало стандартной установки (Standart)Пункт Standard
рекомендуется для новых пользователей &unix; или FreeBSD.
Используйте клавиши навигации для выбора пункта
Standard, а затем нажмите
Enter для запуска установки.Начало стандартной установкиВыделение дискового пространстваВаша первая задача — выделить дисковое пространство под
FreeBSD и разметить его, чтобы sysinstall
могла его подготовить. Для этого вам нужно знать, как FreeBSD
ищет информацию на диске.Нумерация дисков в BIOSПеред установкой и настройкой FreeBSD
нужно позаботиться кое о чем, особенно если
жестких дисков несколько.DOSMicrosoft WindowsВ PC, работающем под BIOS-зависимой операционной
системой, такой как &ms-dos; или µsoft.windows;, BIOS
может отходить от обычного порядка нумерации дисков. Это
позволяет пользователю загружаться не только с так
называемого primary master диска. Это особенно
удобно для тех пользователей, кто обнаружил, что простейший и самый
дешевый путь делать резервную копию системы — купить второй
идентичный первому жесткий диск и регулярно делать копии первого
диска на второй, используя
Ghost
или XCOPY. Затем, если первый диск выйдет из
строя, будет заражен вирусом или поврежден из-за сбоя
операционной системы, он может быть легко восстановлен
путем логической перестановки дисков в BIOS. Это все равно
что переключить кабели дисков, но без вскрытия корпуса.SCSIBIOSБолее дорогостоящие системы со SCSI контроллерами
зачастую имеют расширения BIOS, позволяющие
сходным путем менять порядок до семи SCSI дисков.Пользователи, привыкшие пользоваться этими полезными
функциями, могут быть удивлены, что во FreeBSD результаты не
совпадают с ожидаемыми. FreeBSD не использует BIOS, и не
знает о логическом отображении дисков в BIOS. Это может
привести к очень сложным ситуациям, особенно когда диски
имеют одинаковую геометрию и содержат точную копию данных
друг друга.При использовании FreeBSD всегда восстанавливайте
настройки BIOS к первоначальной нумерации перед установкой
системы и оставляйте их в таком виде. Если вам понадобится
переключить диски, сделайте это, но путем физического
переконфигурирования, вскрыв корпус, переключив перемычки и
кабели.Рассказ о необыкновенных приключениях файлов Билла и Фреда:Билл разобрал старый Wintel компьютер, чтобы
сделать еще один компьютер под FreeBSD для Фреда. Билл
установил один SCSI диск как нулевое устройство
SCSI и поставил на него FreeBSD.Фред начал использовать систему, но через
несколько дней обнаружил, что старый SCSI диск сообщает
о множестве сбоев и сказал об этом Биллу.Еще через несколько дней Билл решил, что настало
время решить проблему, и достал такой же SCSI диск
из заначки в кладовке. Первая проверка
поверхности показала, что диск работает нормально;
Билл установил этот диск как четвертое устройство
SCSI и скопировал образ диска с нулевого устройства
на четвертое. Теперь, когда новый диск был
установлен и отлично работал, Билл решил что
неплохо бы начать использовать его, и с помощью
функции SCSI BIOS поменял порядок дисков, чтобы
система могла грузиться с четвертого устройства
SCSI. FreeBSD загрузилась и работала без
проблем.Фред поработал еще несколько дней, и скоро они с
Биллом решили, что настало время для нового
приключения — время обновить версию FreeBSD. Билл
удалил нулевое устройство SCSI, потому что оно
подглючивало, и установил на его место такой же диск из
заначки. Затем Билл установил новую версию
FreeBSD на новое нулевое устройство SCSI используя
дискеты Фреда с интернет сервера FTP. Установка прошла
отлично.Фред использовал новую версию FreeBSD несколько
дней и удостоверился, что она вполне подходит для работы
в инженерном отделе. Настало время скопировать все
архивы со старого диска. Фред смонтировал четвертое
устройство SCSI (последнюю копию старой версии
FreeBSD) и обнаружил, что ни одного из его
драгоценных файлов на четвертом устройстве SCSI
нет.Куда делись данные?Когда Билл сделал копию с нулевого устройства
SCSI на четвертое устройство SCSI, оно стало
клоном. Когда Билл поменял настройки SCSI BIOS,
чтобы загрузиться с четвертого устройства SCSI, он
всего лишь обманул сам себя. FreeBSD все еще
работала с нулевого устройства SCSI. Изменение этих
настроек BIOS привело к загрузке части кода Boot и
Loader с выбранного в BIOS диска, но после загрузки
драйверов FreeBSD настройки BIOS были
проигнорированы, и FreeBSD вернулась к нормальной
нумерации. Как показано на пальцах, система
продолжила работать с нулевым устройством SCSI, и
все данные Фреда остались там, а не на четвертом
устройстве SCSI. То, что система грузилась с
четвертого устройства SCSI, было всего лишь
обманутыми ожиданиями.Мы рады упомянуть, что данные не были уничтожены
или повреждены при нашем исследовании этого
феномена. Старое нулевое устройство SCSI было
вытащено из груды железа, и все файлы Фреда
вернулись к нему.Хотя в этом рассказе были использованы SCSI
диски, с IDE дисками все точно так же.Создание слайсов с использованием FDiskВнесенные вами изменения не будут записываться на диск сразу.
Если вы думаете, что сделали ошибку, и хотите начать сначала, можете
использовать меню для выхода из sysinstall
и попробовать еще раз или нажатием U вызвать
опцию Undo (отмена). Если вы запутались и не можете выйти, просто
выключите компьютер.После начала стандартной установки в
sysinstall будет показано это
сообщение: Message
In the next menu, you will need to set up a DOS-style ("fdisk")
partitioning scheme for your hard disk. If you simply wish to devote
all disk space to FreeBSD (overwriting anything else that might be on
the disk(s) selected) then use the (A)ll command to select the default
partitioning scheme followed by a (Q)uit. If you wish to allocate only
free space to FreeBSD, move to a partition marked "unused" and use the
(C)reate command.
[ OK ]
[ Press enter or space ]Нажмите Enter как предлагается. Будет
показан список всех жестких дисков, обнаруженных ядром во время
тестирования устройств.
показывает пример системы
с двумя IDE дисками. Они были названы
ad0 и ad2.Выберите диск для FDiskВы можете быть удивлены, почему устройства
ad1 здесь нет. Почему оно было
пропущено?Предположим, что у вас есть два жестких диска IDE, один
master на первом контроллере IDE, а второй master на
втором контроллере IDE. Если FreeBSD пронумерует их
в том порядке, в котором нашла, ad0 и
ad1, все будет работать.Но если вы добавите третий диск, как slave устройство на
первый контроллер IDE, он станет ad1,
а предыдущий ad1 станет
ad2. Поскольку имена устройств (таких как
ad1s1a) используются для обращения к
файловым системам, вы можете вдруг обнаружить, что некоторые из ваших
файловых систем больше не отображаются правильно и вам потребуется
изменить конфигурацию FreeBSD.Для обхода этой проблемы, ядро может быть настроено так, чтобы
именовать IDE диски на основе их местоположения, а не порядка, в
котором они были найдены. С этой схемой master диск на втором
контроллере IDE будет всегда устройством
ad2, если даже нет устройств
ad0 или ad1.Это конфигурация ядра FreeBSD по умолчанию, поэтому
на экране показаны ad0 и
ad2. У компьютера, с которого был взят этот
снимок экрана, есть по одному IDE диску на обеих master каналах IDE
контроллеров и ни одного диска на каналах slave.Вы должны выбрать диск, на который хотите установить FreeBSD,
и нажать &gui.ok;.
Запустившийся FDisk будет выглядеть
примерно как .Экран FDisk разбит на три
секции.Первая секция, занимающая первые две линии экрана, показывает
подробную информацию о выбранном в данный момент диске, включая его
имя во FreeBSD, геометрию и общий размер диска.Вторая секция показывает имеющиеся в данный момент на диске слайсы,
где они начинаются и заканчиваются, их размер, имя, которое им дала
FreeBSD, описание и подтип. На этом примере показаны два маленьких
неиспользованных слайса, которые являются артефактами схемы разметки
диска на PC. Также показан один большой FAT слайс, который почти всегда
является диском C: в &ms-dos; / &windows;, и
дополнительный слайс, который может содержать диски с другими буквами
для &ms-dos; / &windows;.Третья секция показывает команды, доступные в
FDisk.Типичные разделы fdisk перед редактированиемВаши действия теперь будут зависеть от того, как вы хотите разбить
диск на слайсы.Если вы хотите использовать для FreeBSD весь диск (это приведет
к удалению всех других данных на этом диске когда вы подтвердите
sysinstall продолжение процесса установки),
нажмите A, что соответствует опции
Использовать весь диск (Use Entire Disk).
Существующие слайсы будут удалены, и заменены на небольшую область,
помеченную как неиспользуемая (unused)
(это опять же артефакт разметки диска PC), и один большой слайс для
FreeBSD. Когда вы сделаете это, нужно выбрать вновь созданный
слайс FreeBSD используя клавиши навигации, а затем нажать
S, чтобы сделать слайс загрузочным. Экран будет
похож на . Обратите внимание, что
A в колонке Flags означает, что
слайс активен и с него будет происходить
загрузка.Если вы будете удалять существующий слайс для освобождения места
под FreeBSD, выберите слайс, используя клавиши навигации, и нажмите
D. Затем можете нажать C,
и получить приглашение на ввод размера слайса, который вы хотите
создать. Введите соответствующее значение и нажмите
Enter. Значение по умолчанию в этом поле
означает наибольший размер слайса, который может быть выбран;
это может быть наибольший непрерывный блок неразмеченного
пространства или размер всего жесткого диска.Если вы уже освободили место для FreeBSD (возможно, используя
утилиту похожую на &partitionmagic;),
можете нажать C для создания нового слайса.
Будет также предложено ввести размер слайса, который вы
хотите создать.Разбиение в Fdisk с использованием всего дискаКогда закончите, нажмите Q. Изменения будут
сохранены в sysinstall, но еще не
записаны на диск.Установка менеджера загрузки (Boot Manager)Теперь вам предлагается установить менеджера загрузки. Как
правило, нужно выбрать установку менеджера загрузки если:У вас больше чем один диск и вы устанавливаете FreeBSD не на
первый диск.Вы устанавливаете FreeBSD вместе с другой операционной
на один и тот же диск, и хотите выбирать при загрузке FreeBSD
или другую операционную систему.Если FreeBSD единственная операционная система, установленная
на этом компьютере, и находится на первом жестком диске,
подойдет менеджер загрузки Standard.
Выберите None если вы используете
менеджер загрузки сторонних разработчиков, способный загрузить
FreeBSD.Сделайте выбор и нажмите Enter.Меню менеджера загрузки SysinstallЭкран подсказки, вызываемый по нажатию F1,
описывает проблемы, которые могут быть встречены при попытке
совместного использования диска операционными системами.Создание слайсов на другом дискеЕсли дисков больше чем один, вернитесь к экрану выбора дисков
(Select Drives) после выбора менеджера загрузки. Если вы собираетесь
устанавливать FreeBSD более чем на один диск, можете выбрать другой
диск и повторить процесс разбиения на слайсы с использованием
FDisk.Если вы устанавливаете FreeBSD не на первый жесткий диск,
потребуется установить менеджер загрузки FreeBSD на оба
диска.Выход из выбора дискаКлавиша Tab переключает между последним выбранным
диском, &gui.ok;, и
&gui.cancel;.Нажмите Tab один раз для выбора
&gui.ok;, затем нажмите Enter
для продолжения установки.Создание разделов с помощью
DisklabelТеперь вы должны создать несколько разделов внутри каждого только
что созданного слайса. Запомните, что у каждого раздела есть буква с
a до h, а
разделы b, c, и
d имеют соглашения, которых вы должны
придерживаться.Некоторые приложения могут выигрывать от определенных схем
разделов, особенно если у вас разделы на более чем одном диске.
Тем не менее, для вашей первой установки FreeBSD не нужно
слишком углубляться в принципы разбиения диска. Более важно
установить FreeBSD и начать ее использовать. Вы всегда можете
переустановить FreeBSD для изменения схемы разделов, когда поближе
познакомитесь с операционной системой.Эта схема показывает четыре раздела — один для подкачки и
три для файловых систем.
Планирование разделов для первого дискаРазделФайловая системаРазмерОписаниеa/100 MBКорневая файловая система. Любая другая файловая
система будет смонтирована на эту. 100 MB это подходящий
размер для этой файловой системы. Вы не будете хранить на
ней слишком много данных, а обычная установка FreeBSD
разместит здесь около 40 MB данных. Оставшееся
пространство используется для временных файлов, а также
оставляет возможность расширения для будущих версий FreeBSD,
которым может понадобится больше места в
/.bN/A2-3 x RAMЗдесь находится раздел подкачки. Выбор правильного
размера раздела подкачки это немного искусство. Хороший
практический способ выбрать размер подкачки это установить
его равным двум или трем размерам доступной физической
памяти (RAM). Должно быть хотя бы 64 MB подкачки;
если в компьютере меньше чем 32 MB памяти —
установите размер подкачки равным 64 MB.
Если у вас больше одного диска, можно расположить подкачку
на каждом диске. FreeBSD будет использовать каждый диск,
что серьезно увеличит скорость подкачки. В этом
случае, определите общий размер подкачки, который вам нужен
(например, 128 MB),
и поделите его на число имеющихся дисков (например, два)
для определения размера разделов подкачки, которые нужно
разместить на каждом вашем диске, в этом примере 64 MB на
диск.e/var50 MBКаталог /var содержит файлы, которые
постоянно меняются; логи и другие административные файлы.
Многие из этих файлов интенсивно читаются и записываются
в процессе ежедневной работы FreeBSD. Размещение их
на отдельной файловой системе позволяет FreeBSD
оптимизировать доступ к этим файлам без затрагивания
других каталогов, не имеющих такой же модели доступа.f/usrОстальная часть дискаВсе другие файлы как правило хранятся в каталоге
/usr и его подкаталогах.
Если вы устанавливаете FreeBSD более чем на один диск, вы
должны также создать разделы в других слайсах, которые
настроили. Простейший путь сделать это — создать два раздела
на каждом диске, один для подкачки, а другой для файловой
системы.
Разметка разделов для остальных дисковРазделФайловая системаРазмерОписаниеbN/AСмотрите описаниеКак уже обсуждалось, вы можете распространить подкачку
на каждый диск. Даже если раздел a
свободен, соглашение говорит о том, что подкачка находится
на разделе b.e/disknОстальная часть дискаОстальная часть диска занята одним большим разделом.
Он легко может быть помещен на раздел a
вместо раздела e. Однако, соглашение
говорит что раздел a зарезервирован на
слайсе для корневой (/) файловой системы.
вы можете не следовать этому соглашению, но программа
sysinstall будет ему следовать,
поэтому приняв его, вы сделаете установку несколько проще.
вы можете монтировать эти файловые системы к любой точке; в
этом примере предлагается смонтировать их как каталоги
/diskn, где
n это номер, который уникален для
каждого диска. Но вы можете использовать другую схему, если
захотите.
Теперь, выбрав разметку разделов, можете приступить к их
созданию в sysinstall. Вы увидите
это сообщение: Message
Now, you need to create BSD partitions inside of the fdisk
partition(s) just created. If you have a reasonable amount of disk
space (200 MB or more) and don't have any special requirements, simply
use the (A)uto command to allocate space automatically. If you have
more specific needs or just don't care for the layout chosen by
(A)uto, press F1 for more information on manual layout.
[ OK ]
[ Press enter or space ]Нажмите Enter для запуска редактора разделов
FreeBSD, называемого Disklabel. показывает экран только что
запущенного Disklabel. Экран поделен
на три раздела.Первые несколько линий показывают имя диска, с которым вы сейчас
работаете и слайс, содержащий раздел который вы создаете (здесь
Disklabel называет это
именем раздела (Partition name) вместо имени
слайса). Этот экран также показывает объем свободного пространства на
слайсе; т.е. пространство, выделенное под слайс, но еще не отданное
под раздел.В центре экрана показаны уже созданные разделы, имена файловых
систем, содержащихся в разделах, их размер и некоторые опции,
применяемые при создания файловых систем.Нижняя треть экрана показывает управляющие клавиши, работающие в
Disklabel.Редактор Sysinstall DisklabelDisklabel может автоматически создать
разделы и присвоить им размеры по умолчанию. Попробуйте это, нажав
A. Вы увидите экран как на
. В зависимости от размера диска,
значения по умолчанию могут подходить или
не подходить вам. Это не имеет значения, если вы не принимаете
их.Начиная с FreeBSD 4.5, по умолчанию под каталог
/tmp выделяется собственный раздел вместо
использования части раздела /. Это
помогает избежать заполнения раздела /
временными файлами.Редактор Sysinstall Disklabel с установками по умолчаниюЕсли вы решили не использовать разделы по умолчанию и
заменить их на свои,
используйте клавиши навигации для выбора первого раздела, затем
нажмите D для его удаления. Повторите это для
удаления всех предложенных разделов.Для создания первого раздела (a, монтируемого
как / — root), убедитесь, что выбран
соответствующий слайс
вверху экрана и нажмите C. Появится диалог,
предлагающий выбрать размер нового раздела (как показано в
). Вы можете ввести количество
блоков диска, или количество мегабайт с
M после номера, или гигабайт с
G, или цилиндров с C.Начиная с FreeBSD 5.X, пользователи могут: выбирать
UFS2, используя опцию Custom Newfs
(Z), использовать опцию
Auto Defaults и изменять параметры с помощью
опции Custom Newfs, или
добавлять опцию в процессе создания раздела.
Не забудьте добавить для включения SoftUpdates
если вы используете опциюCustom Newfs!Свободное место для корневого разделаРазмер по умолчанию задан для создания корневого раздела на
весь слайс. Если вы используете размеры разделов, описанные ранее в примере,
удалите это значение используя Backspace,
а затем введите 64M, как показано на
. Затем нажмите
&gui.ok;.Редактирование размера корневого разделаПосле указания размера раздела вам будет задан вопрос, должен ли
этот раздел содержать файловую систему или раздел подкачки. Диалог
показан на . Первый раздел
будет содержать файловую систему, поэтому проверьте, что выбрана
FS и нажмите
Enter.Выбор типа корневого разделаНаконец, поскольку вы создаете файловую систему, нужно сказать
Disklabel где файловая система будет
смонтирована. Диалог показан на
. Точка монтирования
корневой файловой системы /, поэтому введите
/, и нажмите Enter.Выбор точки монтирования корневой файловой системыНа экране будет показан вновь созданный раздел. Вам нужно
повторить эту процедуру для других разделов. При создании
раздела подкачки вопроса про точку монтирования не будет,
поскольку раздел подкачки никогда не монтируется. Когда будете
создавать последний раздел, /usr, можете оставить
предложенный размер как есть, чтобы использовать весь остаток
слайса.Последний экран FreeBSD редактора DiskLabel будет похож на
, хотя ваш выбор значений может
быть другим. Нажмите Q, чтобы выйти.Редактор Sysinstall DisklabelВыбор устанавливаемых компонентовВыбор дистрибутивного набора (Distribution Set)Выбор дистрибутивного набора зависит в основном от направления
будущего использования системы и от доступного дискового
пространства. Предустановленные опции варьируются от наименьшей
возможной конфигурации до полной установки. Для новичков в
&unix; и/или FreeBSD лучшим выбором будет одна из этих
предустановленных опций. Настройка дистрибутивного набора
как правило нужна более опытным пользователям.Нажмите F1 для получения информации о
дистрибутивных наборах и их содержимом. После просмотра помощи
нажмите Enter для возврата к меню выбора
дистрибутивного набора.Если желательно наличие графического интерфейса пользователя,
должен быть выбран дистрибутивный набор с названием, начинающимся
на X. Настройка &xfree86;
и выбор десктопа по умолчанию — часть послеустановочного
процесса.Устанавливаемая по умолчанию версия
&xfree86; зависит от устанавливаемой версии
FreeBSD. Для версий FreeBSD ниже 4.6 устанавливается
&xfree86; 3.X. Для FreeBSD 4.6 и выше,
версия по умолчанию &xfree86; 4.X.Проверьте на веб-сайте
&xfree86; поддерживается ли ваша видеокарта. Если
видеокарта не поддерживается в версии по умолчанию, которую устанавливает
FreeBSD, выберите дистрибутивный набор без X. После установки
установите и настройте соответствующую версию
&xfree86; используя коллекцию портов.Если планируется пересборка ядра, выберите опцию, включающую
исходные тексты. Информация о том, зачем пересобирать ядро и
как это сделать, находится на .Ясно, что наиболее универсальная система включает все.
Если места на диске достаточно, выберите
All, как показано на
и нажмите
Enter. Если есть сомнения относительно того,
хватит ли диска, используйте наиболее подходящую опцию.
Не беспокойтесь о том, какой выбор будет наилучшим, другие
части дистрибутива могут быть добавлены после установки.Выбор дистрибутивных наборовУстановка коллекции портовПосле выбора подходящего дистрибутива можно будет выбрать
установку коллекции портов FreeBSD. Коллекция портов —
легкий и удобный путь установки программ. Коллекция портов не
содержит исходных кодов программ. Это набор файлов, который
автоматизирует загрузку, компилирование и установку
пакетов программного обеспечения сторонних разработчиков.
показывает как использовать коллекцию
портов.Программа установки не проверяет, есть ли достаточно места.
Выберите эту опцию только если его достаточно. В
FreeBSD &rel.current;, коллекция портов занимает около
&ports.size;. В более современных релизах это значение
всегда больше. User Confirmation Requested
Would you like to install the FreeBSD ports collection?
This will give you ready access to over &os.numports; ported software packages,
at a cost of around &ports.size; of disk space when "clean" and possibly much
more than that if a lot of the distribution tarballs are loaded
(unless you have the extra CDs from a FreeBSD CD/DVD distribution
available and can mount it on /cdrom, in which case this is far less
of a problem).
The ports collection is a very valuable resource and well worth having
on your /usr partition, so it is advisable to say Yes to this option.
For more information on the ports collection & the latest ports,
visit:
http://www.FreeBSD.org/ports
[ Yes ] NoВыберите [ Yes ] для установки
коллекции портов, или [ No ], чтобы
пропустить установку. Нажмите Enter, чтобы продолжить.
Меню выбора дистрибутивных наборов появится опять.Подтверждение выбора дистрибутивного набораЕсли вы согласны с выбранными опциями, переместитесь на
Exit, убедитесь что выбран
&gui.ok; и нажмите
Enter, чтобы продолжить.Выбор источника для установкиПри установке с CDROM или DVD используйте клавиши навигации, для перехода к
Install from a FreeBSD CD/DVD. Убедитесь
что выбран &gui.ok; и нажмите
Enter для запуска установки.При других методах установки выберите соответствующую опцию и
следуйте инструкциям.Нажмите F1 для просмотра справки по
источникам установки. Нажмите Enter для возврата к
меню выбора источника установки.Выбор источника установкиРежимы установки с FTPinstallationnetworkFTPЕсть три режима установки через FTP, которые вы можете выбрать:
активный FTP, пассивный FTP, или через HTTP прокси.Активный FTP: Install from an FTP
serverС этой опцией все закачки по FTP будут выполнены в
активном режиме. Этот режим не позволяет
работать через файрволл, но зачастую позволяет работать
со старыми серверами FTP, не поддерживающими пассивный
режим. Если соединение прерывается в пассивном режиме
(по умолчанию), попробуйте активный!Пассивный FTP: Install from an FTP server through a
firewallFTPПассивный режимЭта опция говорит sysinstall использовать
пассивный режим для работы с FTP.
Он позволяет работать через файрволл, не разрешающий
входящие соединения на случайных TCP портах.FTP через HTTP прокси: Install from an FTP server
through a http proxyFTPчерез HTTP проксиЭта опция говорит sysinstall использовать HTTP
протокол (как веб браузер) для работы с FTP через
прокси. Прокси будет транслировать все
запросы и посылать их на FTP сервер. Это позволяет
проходить через файрволл, на котором FTP запрещен,
но есть HTTP прокси. В этом случае
потребуется указать прокси и FTP сервер.Для работы с FTP через прокси, необходимо поместить имя
сервера как часть имени пользователя после знака
@. Прокси сервер обманет
настоящий сервер. Например, предположим что вы хотите провести
установку с ftp.FreeBSD.org, используя FTP
через прокси foo.example.com,
прослушивающем порт 1024.в этом случае, войдите в меню параметров, установите имя
пользователя FTP ftp@ftp.FreeBSD.org, а вместо
пароля введите свой адрес email. В качестве источника установки
выберите FTP (или пассивный FTP, если прокси его поддерживает), и URL
ftp://foo.example.com:1234/pub/FreeBSD.Так как /pub/FreeBSD с сервера
ftp.FreeBSD.org идет через прокси
foo.example.com, вы сможете провести
установку с этого компьютера (файлы будут загружены с
ftp.FreeBSD.org как требуется для
установки).Подтверждение установкиТеперь можно начинать установку. Это последний шанс
отменить установку и таким образом избежать изменений на жестком
диске. User Confirmation Requested
Last Chance! Are you SURE you want to continue the installation?
If you're running this on a disk with data you wish to save then WE
STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!
We can take no responsibility for lost disk contents!
[ Yes ] NoВыберите [ Yes ] и нажмите
Enter, чтобы начать.Время установки сильно зависит от выбранного дистрибутивного набора,
источника установки и скорости компьютера.
Появится несколько сообщений о статусе процесса установки.Установка будет завершена когда отобразится следующее
сообщение: Message
Congratulations! You now have FreeBSD installed on your system.
We will now move on to the final configuration questions.
For any option you do not wish to configure, simply select No.
If you wish to re-enter this utility after the system is up, you may
do so by typing: /stand/sysinstall .
[ OK ]
[ Press enter to continue ]Нажмите Enter для начала послеустановочной
настройки.Выбор [ No ] и нажатие
Enter прервет процесс установки,
изменения в систему внесены не будут. Появится следующее
сообщение: Message
Installation complete with some errors. You may wish to scroll
through the debugging messages on VTY1 with the scroll-lock feature.
You can also choose "No" at the next prompt and go back into the
installation menus to retry whichever operations have failed.
[ OK ]Это сообщение появилось поскольку ничего не было установлено.
Нажатие Enter вернет вас в главное меню установки,
чтобы выйти из нее.После установкиПосле успешной установки необходимо настроить множество параметров.
Некоторые параметры могут быть заданы из меню параметров после установки
перед загрузкой установленной FreeBSD или после с использованием
/stand/sysinstall, где надо выбрать пункт
Configure.Настройка сетевых устройств (Network Device Configuration)Если вы настраивали PPP для установки через FTP, этот экран
не появится, настройку можно будет произвести позже как описано
выше.Чтобы лучше узнать о локальных сетях и настройке
FreeBSD в качестве шлюза/маршрутизатора, обратитесь к главе
Advanced Networking. User Confirmation Requested
Would you like to configure any Ethernet or SLIP/PPP network devices?
[ Yes ] NoДля настройки сетевого устройства выберите
[ Yes ] и нажмите Enter.
Или нажмите [ No ], чтобы продолжить.Выбор Ethernet устройстваВыберите интерфейс для настройки с помощью клавиш навигации и
нажмите Enter. User Confirmation Requested
Do you want to try IPv6 configuration of the interface?
Yes [ No ]Для частной локальной сети обычный протокол интернет
(IPv4) вполне достаточен, поэтому выбрана кнопка
[ No ] и нажат Enter.Если вы хотите подсоединиться к существующей сети
IPv6 через сервер RA,
выберите [ Yes ] и нажмите
Enter. Поиск RA серверов займет несколько
секунд. User Confirmation Requested
Do you want to try DHCP configuration of the interface?
Yes [ No ]Если DHCP (Dynamic Host Configuration Protocol) не нужен,
выберите [ No ] с помощью клавиш навигации и
нажмите Enter.Выбор [ Yes ] запустит
dhclient, и если все пройдет нормально,
заполнит информацию о конфигурации сети автоматически. Обратитесь
к за более подробными сведениями.Следующий экран конфигурации сети показывает настройку
устройства Ethernet системы, которая будет работать шлюзом
для локальной сети.Настройка сети для ed0Используйте Tab для выбора полей и заполнения
их соответствующими данными:HostПолное имя хоста, в этом примере
k6-2.example.com.DomainИмя домена, в котором находится ваш компьютер,
в этом примере example.com.IPv4 GatewayIP хоста, пересылающего пакеты наружу локальной сети.
Вам потребуется заполнить его, если это компьютер, подключенный к
сети. Оставьте это поле пустым,
если компьютер является шлюзом в интернет для сети.
Шлюз IPv4 известен также как шлюз по умолчанию или маршрут
по умолчанию.Name serverIP адрес местного сервера DNS. В этой локальной сети
нет DNS сервера, поэтому использован IP адрес DNS сервера
провайдера (208.163.10.2).IPv4 addressIP адрес, использованный для этого интерфейса,
192.168.0.1NetmaskАдрес блока, использованного для этой локальной сети,
это блок класса C
(192.168.0.0 -
192.168.255.255).
Маска по умолчанию дана для сети класса C
(255.255.255.0).Дополнительные параметры для ifconfigЛюбые специфичные для интерфейса опции к
ifconfig, которые вы хотите добавить.
В данном случае ничего.Используйте Tab для выбора &gui.ok;
после окончания настройки и нажмите Enter. User Confirmation Requested
Would you like to Bring Up the ed0 interface right now?
[ Yes ] NoВыбор [ Yes ] и нажатие
Enter введет компьютер в сеть.
Тем не менее, компьютеру все еще требуется перезагрузка.Настройка шлюза (Configure Gateway) User Confirmation Requested
Do you want this machine to function as a network gateway?
[ Yes ] NoЕсли компьютер будет шлюзом для локальной сети, пересылая
пакеты между другими компьютерами, выберите
[ Yes ] и нажмите Enter.
Если это обычный компьютер, выберите [ No ]
и нажмите Enter для продолжения.Настройка сервисов интернет (Configure Internet Services) User Confirmation Requested
Do you want to configure inetd and the network services that it provides?
Yes [ No ]Если выбрана [ No ], различные сервисы,
такие как telnetd не будут запущены. Это
означает, что удаленные пользователи не смогут зайти по
telnet на этот компьютер. Локальные
пользователи все же смогут заходит на удаленные компьютеры по
telnet.Эти сервисы могут быть включены после установки путем
редактирования /etc/inetd.conf с помощью вашего
любимого текстового редактора. Обращайтесь к
за более подробной информацией.Выберите [ Yes ] если хотите настроить
эти сервисы во время установки. Появится дополнительный запрос
подтверждения: User Confirmation Requested
The Internet Super Server (inetd) allows a number of simple Internet
services to be enabled, including finger, ftp and telnetd. Enabling
these services may increase risk of security problems by increasing
the exposure of your system.
With this in mind, do you wish to enable inetd?
[ Yes ] NoНажмите [ Yes ], чтобы продолжить. User Confirmation Requested
inetd(8) relies on its configuration file, /etc/inetd.conf, to determine
which of its Internet services will be available. The default FreeBSD
inetd.conf(5) leaves all services disabled by default, so they must be
specifically enabled in the configuration file before they will
function, even once inetd(8) is enabled. Note that services for
IPv6 must be separately enabled from IPv4 services.
Select [Yes] now to invoke an editor on /etc/inetd.conf, or [No] to
use the current settings.
[ Yes ] NoВыбор [ Yes ] позволит добавить сервисы
путем удаления # перед началом строки.Редактирование inetd.confПосле добавления нужных сервисов нажатие Esc
отобразит меню, позволяющее выйти с сохранением изменений.Анонимный (Anonymous) FTP User Confirmation Requested
Do you want to have anonymous FTP access to this machine?
Yes [ No ]Запрещение анонимного FTPВыбор кнопки по умолчанию [ No ] и нажатие
Enter все же позволит пользователям, имеющим учетные
записи с паролями, использовать FTP для доступа к компьютеру.Разрешение анонимного FTPКто угодно сможет получить доступ к компьютеру если
вы разрешите анонимные соединения FTP. Предварительно должны быть
рассмотрены возможные осложнения с безопасностью. Более подробная
информация о безопасности доступна на
.Чтобы разрешить анонимный FTP, используя клавиши навигации
выберите [ Yes ] и нажмите
Enter. Появится следующий (или похожий)
экран:Настройка по анонимного FTP по умолчаниюНажатие F1 отобразит справку:This screen allows you to configure the anonymous FTP user.
The following configuration values are editable:
UID: The user ID you wish to assign to the anonymous FTP user.
All files uploaded will be owned by this ID.
Group: Which group you wish the anonymous FTP user to be in.
Comment: String describing this user in /etc/passwd
FTP Root Directory:
Where files available for anonymous FTP will be kept.
Upload subdirectory:
Where files uploaded by anonymous FTP users will go.Корневой каталог ftp по умолчанию будет размещен в
/var. Если в нем предположительно не хватает
места для для нужд FTP, можно использовать каталог
/usr, выбрав корневой каталог FTP
(FTP Root Directory) /usr/ftp.Когда будут выбраны подходящие значения, нажмите
Enter, чтобы продолжить. User Confirmation Requested
Create a welcome message file for anonymous FTP users?
[ Yes ] NoЕсли вы выберете [ Yes ] и нажмете
Enter, запустится редактор, позволяющий
отредактировать сообщение FTP.Редактирование FTP Welcome MessageЭтот текстовый редактор называется ee.
Используйте инструкции, чтобы изменить сообщение, или измените
сообщение позже, используя выбранный вами редактор. Обратите
внимание, что имя/расположение файла показаны внизу окна
редактора.Нажмите Esc и появится меню с пунктом по
умолчанию a) leave editor
(выйти из редактора). Нажмите Enter, чтобы выйти и
продолжить. Нажмите Enter еще раз, чтобы
сохранить изменения, если они были сделаны.Настройка сетевой файловой системы (Configure Network File System)Сетевая файловая система (Network File System, NFS) позволяет
совместно использовать файлы в сети. Компьютер может быть настроен
как сервер, клиент, или как то и другое. Обратитесь к
за более подробной информацией.Сервер NFS (NFS Server) User Confirmation Requested
Do you want to configure this machine as an NFS server?
Yes [ No ]Если вам не нужен NFS сервер, выберите
[ No ] и нажмите
Enter.Если выбран пункт [ Yes ], появится
сообщение, говорящее о том, что должен быть создан файл
exports. Message
Operating as an NFS server means that you must first configure an
/etc/exports file to indicate which hosts are allowed certain kinds of
access to your local filesystems.
Press [Enter] now to invoke an editor on /etc/exports
[ OK ]Нажмите Enter, чтобы продолжить. Запустится
текстовый редактор, позволяющий создать и отредактировать файл
exports.Редактирование exportsИспользуйте инструкции для добавления экспортируемых файловых
систем сейчас, или позднее с помощью выбранного вами текстового
редактора. Обратите внимание, что имя/расположение файла показаны
внизу окна редактора.Нажмите Esc и появится меню с пунктом по
умолчанию a) leave editor. Нажмите
Enter, чтобы выйти и продолжить.Клиент NFS (NFS Client)NFS клиент позволяет организовать доступ к серверам NFS. User Confirmation Requested
Do you want to configure this machine as an NFS client?
Yes [ No ]С помощью клавиш навигации выберите [ Yes ]
или [ No ], как потребуется, и нажмите
Enter.Профиль безопасности (Security Profile)Профиль безопасности это набор параметров
настройки, с помощью которого делается попытка достичь
требуемого уровня безопасности и удобства путем разрешения или
запрещения запуска определенных программ и другими настройками.
Чем строже профиль безопасности, тем меньше программ будет
запущено по умолчанию. Это один из основных принципов безопасности:
не запускайте ничего кроме того что необходимо.Имейте ввиду, что профиль безопасности это лишь установка по
умолчанию. Любая программа может быть запущена или остановлена
после установки FreeBSD путем редактирования или добавления
соответствующих строк в /etc/rc.conf.
Для получения более подробной информации обратитесь к странице
справочника &man.rc.conf.5;.Следующая таблица описывает действие каждого профиля безопасности.
Колонки показывают выбранный вами профиль безопасности, а ряды
— программы или функции, которые профиль включает или
выключает.
Возможные профили безопасностиExtreme (Максимальный)Moderate (Умеренный)&man.sendmail.8;НЕТДА&man.sshd.8;НЕТДА&man.portmap.8;НЕТМОЖЕТ БЫТЬ
Portmapper включен, если компьютер был настроен в
процессе установки как NFS клиент или сервер.NFS serverНЕТДА&man.securelevel.8;ДА
Если вы выберете профиль безопасности с уровнем
Extreme или
High, будьте готовы к последствиям.
Прочитайте страницу справочника &man.init.8;
и уделите некоторое внимание значениям уровней
безопасности, или позже могут возникнуть
серьезные проблемы!НЕТ
User Confirmation Requested
Do you want to select a default security profile for this host (select
No for "medium" security)?
[ Yes ] NoВыбор [ No ] и нажатие
Enter установит профиль безопасности к среднему
значению.Выбор [ Yes ] и нажатие
Enter позволит выбрать другой профиль
безопасности.Параметры профиля безопасностиНажмите F1, чтобы получить помощь. Нажмите
Enter для возврата к меню выбора.Используйте клавиши навигации для выбора
Medium, если вы не уверены, что
необходим другой уровень. С подсвеченным
&gui.ok; нажмите Enter.Будет отображен запрос на подтверждение, соответствующий выбранным
настройкам безопасности. Message
Moderate security settings have been selected.
Sendmail and SSHd have been enabled, securelevels are
disabled, and NFS server setting have been left intact.
PLEASE NOTE that this still does not save you from having
to properly secure your system in other ways or exercise
due diligence in your administration, this simply picks
a standard set of out-of-box defaults to start with.
To change any of these settings later, edit /etc/rc.conf
[OK] Message
Extreme security settings have been selected.
Sendmail, SSHd, and NFS services have been disabled, and
securelevels have been enabled.
PLEASE NOTE that this still does not save you from having
to properly secure your system in other ways or exercise
due diligence in your administration, this simply picks
a more secure set of out-of-box defaults to start with.
To change any of these settings later, edit /etc/rc.conf
[OK]Нажмите Enter, чтобы продолжить
послеустановочные настройки.Профиль безопасности не панацея! Если даже вы
выберете экстремальные установки, понадобится поддерживать
безопасность, читая соответствующие списки
рассылки, используя хорошие пароли и идентификационные
фразы, и придерживаясь хорошей практики безопасности.
Профиль всего лишь повышает желаемый уровень безопасности
свежеустановленной системы до приемлемого значения.Настройки системной консоли (System Console Settings)Есть несколько параметров для настройки системной консоли. User Confirmation Requested
Would you like to customize your system console settings?
[ Yes ] NoДля просмотра и настройки параметров выберите
[ Yes ] и нажмите
Enter.Параметры настройки системной консолиЧасто используемая опция это хранитель экрана (screen saver).
Используйте клавиши навигации для выбора
Saver и
нажмите Enter.Параметры хранителя экранаВыберите подходящий хранитель экрана с помощью клавиш навигации и
нажмите Enter. Опять появится меню настройки
системной консоли.Время по умолчанию 300 секунд. Для изменения временного интервала
выберите Saver еще раз. В меню
настроек хранителя экрана выберите Timeout
с помощью клавиш навигации и нажмите Enter.
Появится меню:Временной интервал хранителя экранаЗначение может быть изменено, затем выберите &gui.ok;
и нажмите Enter для возврата в меню настройки
системной консоли.Выход из меню конфигурации консолиВыбор Exit и нажатие
Enter вернет вас к послеустановочной
настройке.Установка часового пояса (Setting The Time Zone)Установка часового на компьютере позволит ему
автоматически вносить поправки к местному времени и правильно
выполнять другие, связанные с часовым поясом функции.Пример приведен для компьютера, расположенного в восточном
часовом поясе Соединенных Штатов. Ваш выбор будет зависеть
от вашего географического положения. User Confirmation Requested
Would you like to set this machine's time zone now?
[ Yes ] NoВыберите [ Yes ] и нажмите
Enter для установки часового пояса. User Confirmation Requested
Is this machine's CMOS clock set to UTC? If it is set to local time
or you don't know, please choose NO here!
Yes [ No ]Выберите [ Yes ]
или [ No ] в зависимости от настроек
часов компьютера и нажмите Enter.Выбор регионаСоответствующий регион выбран с помощью клавиш навигации и
нажат Enter.Выбор страныВыберите соответствующую страну с помощью клавиш навигации и
нажмите Enter.Выбор часового поясаВыбран соответствующий часовой пояс с помощью клавиш навигации
и нажат Enter. Confirmation
Does the abbreviation 'EDT' look reasonable?
[ Yes ] NoПравильно будет согласиться с назначением аббревиатуры временного
пояса. Если она подходит, нажмите Enter, чтобы
продолжить послеустановочную настройку.Совместимость с Linux (Linux Compatibility) User Confirmation Requested
Would you like to enable Linux binary compatibility?
[ Yes ] NoВыбор [ Yes ] и нажатие
Enter позволит
запускать программы Linux под FreeBSD. Программа установки добавит
соответствующие пакеты для совместимости с Linux.При установке по FTP, компьютеру потребуется соединиться с
интернет. Иногда на сервере ftp нет всех необходимых компонент,
например для бинарной совместимости с Linux. Эти компоненты могут
быть установлены позже, если потребуется.Настройка мыши (Mouse Settings)Эти настройки позволят вырезать и вставлять текст в консоли и
пользовательских программах с помощью трехкнопочной мыши. Если
используется двухкнопочная мышь, обратитесь к странице справочника
&man.moused.8; после установки, чтобы узнать подробности об
эмуляции трехкнопочной мыши. Этот пример приведен для настройки
не-USB мыши (например мыши для порта PS/2 или COM): User Confirmation Requested
Does this system have a non-USB mouse attached to it?
[ Yes ] No Выберите [ Yes ] для USB мыши или
[ No ] для не-USB мыши и нажмите
Enter.Выбор протокола мышиИспользуйте клавиши навигации для выбора
Type и нажмите
Enter.Установка протокола мышиВ этом примере использована PS/2 мышь, поэтому подойдет протокол по
умолчанию Auto. Чтобы изменить протокол,
используйте клавиши навигации для выбора другого пункта. Убедитесь,
что выбран &gui.ok;, и нажмите Enter для выхода из
меню.Настройка порта мышиИспользуйте клавиши навигации для выбора
Port и нажмите
Enter.Установка порта мышиК этой системе подключена мышь PS/2, поэтому подходит значение
по умолчанию PS/2. Чтобы изменить порт,
используйте клавиши навигации и нажмите Enter.Запуск мышиного даемонаНаконец, используйте клавиши навигации для
выбора Enable, затем нажмите
Enter для запуска и тестирования
даемона мыши.Проверка мышиного даемонаПодвигайте курсор по экрану и убедитесь, что он
движется правильно. Если это так, выберите
[ Yes ] и нажмите Enter.
Если нет, мышь не была правильно настроена — выберите
[ No ] и попробуйте использовать другие
опции настройки.Выберите Exit с
помощью клавиш навигации и нажмите Enter для
возврата к послеустановочной настройке.Настройка дополнительных сетевых сервисовНастройка сетевых сервисов может быть пугающей
задачей для новых пользователей если у них нет опыта
в этой области. Работа в сети, включая интернет,
критична для многих современных операционных систем,
включая &os;; очень важно иметь некоторые знания
о дополнительных сетевых возможностях &os;.
Настраивая их во время установки, пользователь получает
некоторую информацию о различных доступных сервисах.Сетевые сервисы — это программы, принимающие данные из
любой точки сети. Чтобы убедиться, что эти программы не делают
ничего вредного, требуется особое внимание.
К сожалению, программисты не совершенны и время от времени
допускают ошибки в сетевых сервисах; эти ошибки позволяют
атакующим взломать их и использовать в собственных целях.
Важно, чтобы вы включали сетевые сервисы только в том случае,
когда знаете, какие сервисы нужны. В случае сомнений лучше не
включать сервис, пока он не понадобится. Вы всегда можете включить
его позже, запустив sysinstall еще
раз, или используя возможности, предоставляемые файлом
/etc/rc.conf.Выбор опции Networking отобразит меню,
похожее на это:Верхняя часть меню настройки сети (Network Configuration)Первая опция, Interfaces (интерфейсы),
была ранее описана в разделе ,
эту опцию можно проигнорировать.Выбор опции AMD добавит поддержку
BSD утилиты автоматического монтирования.
Она обычно используется вместе с протоколом
NFS (смотрите ниже)
для автоматического монтирования удаленных файловых
систем. Здесь не требуется специальной конфигурации.Следующая линия это опция флаги AMD
(flags). Когда эта опция выбрана, появится меню для ввода
специфичных флагов AMD.
Меню уже содержит набор различных опций:-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.mapОпция -a указывает месторасположение
монтирования систем по умолчанию, в этом примере
/.amd_mnt. Опция -l
указывает log файл по умолчанию;
тем не менее, если для ведения логов используется
syslogd, все логи отправляются даемону
системных логов. Каталог /host
используется для монтирования экспортированных файловых
систем с удаленного хоста, а
/net для монтирования
экспортированных файловых систем с IP адреса.
Файл /etc/amd.map определяет
опции по умолчанию для монтируемых AMD
каталогов.Опция Anon FTP позволяет получить
анонимный доступ к FTP.
Выберите ее, чтобы сделать этот компьютер
анонимным FTP сервером.
Помните о риске безопасности, создаваемом этой опцией.
Будет отображено еще одно меню для разъяснения
риска безопасности и для более тонкой настройки.Опция Gateway сделает компьютер
шлюзом, как было объяснено ранее. Этот пункт может быть
использован для отмены опции Gateway,
если она была ошибочно установлена в процессе установки.Опцию Inetd можно использовать для
настройки или полного отключения даемона &man.inetd.8;, как
было описано выше.Опция Mail используется для настройки
системного MTA по умолчанию (Mail Transfer
Agent, агент передачи почты). Выбор этой опции приведет к
появлению следующего меню:Выбор MTA по умолчаниюЗдесь предоставляется выбор MTA для
установки по умолчанию. MTA это
почтовый сервер, доставляющий почту пользователям системы
или интернет.Выбор Sendmail приведет к
установке популярного сервера sendmail,
MTA по умолчанию для &os;.
Опция Sendmail local настроит
sendmail в качестве
MTA по умолчанию, но отключит возможность
получения входящей почты из интернет. Другие MTA,
представленные здесь, Postfix и
Exim, действуют подобно
Sendmail. Оба они доставляют
почту; тем не менее, некоторые пользователи предпочитают
эти альтернативы sendmail.После выбора MTA или пропуска этого пункта
появится меню настройки сети со следующей опцией, клиент
NFS.Клиент NFS позволяет настроить
систему для соединения с сервером через
NFS. Сервер NFS
дает другим машинам доступ к файловой системе через
протокол NFS. Если это отдельно
стоящий компьютер, опцию можно не выбирать.
Опция может потребовать дополнительной настройки позже;
обращайтесь к за более
подробной информацией о настройке сервера и клиента.Ниже находится опция NFS сервер,
позволяющая вам настроить систему для работы в качестве
NFS сервера. Она добавляет требуемую
информацию для запуска процедуры вызова удаленных
сервисов RPC (remote procedure
call services). RPC используется для
организации соединения между хостами и программами.Следующая строка это Ntpdate,
которая отвечает за синхронизацию времени. Когда эта опция
выбрана, появится приблизительно такое меню:Настройка NtpdateВыберите из этого меню ближайший к вашему местонахождению
сервер. Выбор ближайшего сервера сделает синхронизацию
времени более точной, поскольку у более дальнего
сервера может быть более длинная задержка соединения.Следующая опция это выбор PCNFSD.
Эта опция устанавливает пакет
net/pcnfsd из
коллекции портов. Это полезная утилита, предоставляющая
сервисы авторизации NFS для систем, в
в которых собственная отсутствует, таких как Microsoft
&ms-dos;.Теперь вы можете прокрутить меню немного вниз, чтобы увидеть
другие опции:Нижняя часть меню настройки сетиУтилиты &man.rpcbind.8;, &man.rpc.statd.8;, и
&man.rpc.lockd.8; для удаленного вызова процедур (Remote Procedure
Calls, RPC). Утилита
rpcbind управляет соединением между
NFS серверами и клиентами, она требуется
серверу NFS для корректной работы.
Даемон rpc.statd взаимодействует с
даемонами rpc.statd на других хостах
для обеспечения мониторинга статуса. Полученный статус
обычно хранится в файле /var/db/statd.status.
Последняя опция это rpc.lockd, которая,
будучи выбранной, предоставляет сервисы блокировки файлов.
Она обычно используется с rpc.statd
для отслеживания хостов, запрашивающих блокировки и частоты
этих запросов. Хотя две последние опции прекрасно подходят
для отладки, они не требуются серверам и клиентам
NFS для корректной работы.Ниже в списке опций находится Routed,
даемон маршрутизации. Утилита &man.routed.8; управляет
сетевыми таблицами маршрутизации, обнаруживает широковещательные
маршрутизаторы, и предоставляет копию таблиц маршрутизации
любому физически подключенному к сети хосту по запросу.
Это обычно используется компьютерами, являющимися шлюзом
для локальной сети (смотрите страницы справочника &man.icmp.4;
и &man.udp.4;). Когда эта опция выбрана, появится меню
выбора местоположения утилиты по умолчанию. Значение
по умолчанию уже выбрано, чтобы подтвердить его нажмите
Enter. Появится следующее меню, запрашивающее
флаги для routed. По умолчанию это
флаг -q, он должен уже быть на экране.На следующей линии находится опция Rwhod,
выбор которой приведет к запуску даемона &man.rwhod.8; при
старте системы. Утилита rwhod периодически
рассылает широковещательные системные сообщения по сети
или собирает их в режиме потребителя.
Дополнительную информацию можно найти на страницах справочника
&man.ruptime.1; и &man.rwho.1;.Следующая перед последней опцией в списке это даемон
&man.sshd.8;. Это сервер безопасной оболочки (secure shell) из
OpenSSH и он очень рекомендуется
для использования вместо стандартных серверов
telnet и
FTP. Сервер sshd
используется для создания безопасных соединений от одного
хоста к другому с использованием шифрования.И наконец, опция TCP Extensions.
Она включает расширения TCP, определенные
в RFC 1323 и
RFC 1644. Хотя для многих хостов
они могут повысить скорость соединения, с другими соединение может
быть оборвано. Для серверов эти расширения не рекомендуются,
но клиентским компьютерам могут дать некоторые преимущества.Теперь, после настройки сетевых сервисов, вы можете прокрутить
меню к верхнему пункту, Exit, и
перейти к следующему разделу настройки.Настройка X Сервера (Configure X Server)Чтобы использовать графический интерфейс пользователя
KDE, GNOME,
или другие, нужно настроить X сервер.Чтобы запустить &xfree86; не из под
root, вам потребуется установленный
x11/wrapper. Он устанавливается
по умолчанию начиная с FreeBSD 4.7. В более ранних версиях он
может быть добавлен из меню выбора пакетов (Package Selection
menu).Чтобы узнать, поддерживается ли ваша видеокарта, обратитесь
к сайту &xfree86;. User Confirmation Requested
Would you like to configure your X server at this time?
[ Yes ] NoНеобходимо узнать параметры монитора и информацию о
видеокарте. Установкой неправильных параметров можно повредить
оборудование. Если у вас нет этой информации, выберите
[ No ] и выполните конфигурацию после
установки, когда необходимая информация будет собрана.
Используя /stand/sysinstall, выберите
Configure а затем
XFree86. Неправильная настройка
X сервера может подвесить компьютер.
Зачастую настройку X сервера рекомендуют производить после
завершения установки.
Если у вас есть информация о графической карте и мониторе,
выберите [ Yes ] и нажмите
Enter для начала настройки X сервера.Меню выбора способа конфигурацииЕсть несколько путей настройки X сервера. Используйте
клавиши навигации для выбора одного из методов и нажмите
Enter. Внимательно прочтите все инструкции.Команды xf86cfg и
xf86cfg -textmode могут сделать экран
темным и запуститься через несколько секунд. Будьте терпеливы.Далее описывается использование программы настройки
xf86config. Выбор настроек
будет зависеть от оборудования системы, так что ваши
настройки возможно будут отличаться от тех, что приведены: Message
You have configured and been running the mouse daemon.
Choose "/dev/sysmouse" as the mouse port and "SysMouse" or
"MouseSystems" as the mouse protocol in the X configuration utility.
[ OK ]
[ Press enter to continue ]Это говорит, что предварительно настроенный даемон мыши был
обнаружен. Нажмите Enter, чтобы продолжить.При запуске xf86config отобразит
краткое введение:This program will create a basic XF86Config file, based on menu selections you
make.
The XF86Config file usually resides in /usr/X11R6/etc/X11 or /etc/X11. A sample
XF86Config file is supplied with XFree86; it is configured for a standard
VGA card and monitor with 640x480 resolution. This program will ask for a
pathname when it is ready to write the file.
You can either take the sample XF86Config as a base and edit it for your
configuration, or let this program produce a base XF86Config file for your
configuration and fine-tune it.
Before continuing with this program, make sure you know what video card
you have, and preferably also the chipset it uses and the amount of video
memory on your video card. SuperProbe may be able to help with this.
Press enter to continue, or ctrl-c to abort.Нажатие Enter запустит настройку мыши.
Следуя инструкциям, выберите
Mouse Systems в качестве протокола мыши и
/dev/sysmouse в качестве порта мыши,
даже если вы используете PS/2, как показано в примере.First specify a mouse protocol type. Choose one from the following list:
1. Microsoft compatible (2-button protocol)
2. Mouse Systems (3-button protocol) & FreeBSD moused protocol
3. Bus Mouse
4. PS/2 Mouse
5. Logitech Mouse (serial, old type, Logitech protocol)
6. Logitech MouseMan (Microsoft compatible)
7. MM Series
8. MM HitTablet
9. Microsoft IntelliMouse
If you have a two-button mouse, it is most likely of type 1, and if you have
a three-button mouse, it can probably support both protocol 1 and 2. There are
two main varieties of the latter type: mice with a switch to select the
protocol, and mice that default to 1 and require a button to be held at
boot-time to select protocol 2. Some mice can be convinced to do 2 by sending
a special sequence to the serial port (see the ClearDTR/ClearRTS options).
Enter a protocol number: 2
You have selected a Mouse Systems protocol mouse. If your mouse is normally
in Microsoft-compatible mode, enabling the ClearDTR and ClearRTS options
may cause it to switch to Mouse Systems mode when the server starts.
Please answer the following question with either 'y' or 'n'.
Do you want to enable ClearDTR and ClearRTS? n
You have selected a three-button mouse protocol. It is recommended that you
do not enable Emulate3Buttons, unless the third button doesn't work.
Please answer the following question with either 'y' or 'n'.
Do you want to enable Emulate3Buttons? y
Now give the full device name that the mouse is connected to, for example
/dev/tty00. Just pressing enter will use the default, /dev/mouse.
On FreeBSD, the default is /dev/sysmouse.
Mouse device: /dev/sysmouseСледующий пункт настройки это клавиатура. В примере показана
модель generic 101-key. В качестве варианта можно использовать
любое имя, или просто нажать Enter, чтобы
принять значение по умолчанию.Please select one of the following keyboard types that is the better
description of your keyboard. If nothing really matches,
choose 1 (Generic 101-key PC)
1 Generic 101-key PC
2 Generic 102-key (Intl) PC
3 Generic 104-key PC
4 Generic 105-key (Intl) PC
5 Dell 101-key PC
6 Everex STEPnote
7 Keytronic FlexPro
8 Microsoft Natural
9 Northgate OmniKey 101
10 Winbook Model XP5
11 Japanese 106-key
12 PC-98xx Series
13 Brazilian ABNT2
14 HP Internet
15 Logitech iTouch
16 Logitech Cordless Desktop Pro
17 Logitech Internet Keyboard
18 Logitech Internet Navigator Keyboard
19 Compaq Internet
20 Microsoft Natural Pro
21 Genius Comfy KB-16M
22 IBM Rapid Access
23 IBM Rapid Access II
24 Chicony Internet Keyboard
25 Dell Internet Keyboard
Enter a number to choose the keyboard.
1
Please select the layout corresponding to your keyboard
1 U.S. English
2 U.S. English w/ ISO9995-3
3 U.S. English w/ deadkeys
4 Albanian
5 Arabic
6 Armenian
7 Azerbaidjani
8 Belarusian
9 Belgian
10 Bengali
11 Brazilian
12 Bulgarian
13 Burmese
14 Canadian
15 Croatian
16 Czech
17 Czech (qwerty)
18 Danish
Enter a number to choose the country.
Press enter for the next page
1
Please enter a variant name for 'us' layout. Or just press enter
for default variant
us
Please answer the following question with either 'y' or 'n'.
Do you want to select additional XKB options (group switcher,
group indicator, etc.)? nТеперь переходим к настройке монитора. Не превышайте
значений для вашего монитора. Он может быть поврежден.
Если у вас есть какие-то сомнения, проводите настройку
после того как получите информацию.Now we want to set the specifications of the monitor. The two critical
parameters are the vertical refresh rate, which is the rate at which the
whole screen is refreshed, and most importantly the horizontal sync rate,
which is the rate at which scanlines are displayed.
The valid range for horizontal sync and vertical sync should be documented
in the manual of your monitor. If in doubt, check the monitor database
/usr/X11R6/lib/X11/doc/Monitors to see if your monitor is there.
Press enter to continue, or ctrl-c to abort.
You must indicate the horizontal sync range of your monitor. You can either
select one of the predefined ranges below that correspond to industry-
standard monitor types, or give a specific range.
It is VERY IMPORTANT that you do not specify a monitor type with a horizontal
sync range that is beyond the capabilities of your monitor. If in doubt,
choose a conservative setting.
hsync in kHz; monitor type with characteristic modes
1 31.5; Standard VGA, 640x480 @ 60 Hz
2 31.5 - 35.1; Super VGA, 800x600 @ 56 Hz
3 31.5, 35.5; 8514 Compatible, 1024x768 @ 87 Hz interlaced (no 800x600)
4 31.5, 35.15, 35.5; Super VGA, 1024x768 @ 87 Hz interlaced, 800x600 @ 56 Hz
5 31.5 - 37.9; Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz
6 31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz
7 31.5 - 57.0; High Frequency SVGA, 1024x768 @ 70 Hz
8 31.5 - 64.3; Monitor that can do 1280x1024 @ 60 Hz
9 31.5 - 79.0; Monitor that can do 1280x1024 @ 74 Hz
10 31.5 - 82.0; Monitor that can do 1280x1024 @ 76 Hz
11 Enter your own horizontal sync range
Enter your choice (1-11): 6
You must indicate the vertical sync range of your monitor. You can either
select one of the predefined ranges below that correspond to industry-
standard monitor types, or give a specific range. For interlaced modes,
the number that counts is the high one (e.g. 87 Hz rather than 43 Hz).
1 50-70
2 50-90
3 50-100
4 40-150
5 Enter your own vertical sync range
Enter your choice: 2
You must now enter a few identification/description strings, namely an
identifier, a vendor name, and a model name. Just pressing enter will fill
in default names.
The strings are free-form, spaces are allowed.
Enter an identifier for your monitor definition: HitachiДалее производится выбор видеокарты из списка. Если вы пропустили
карту в списке, продолжайте нажимать Enter,
и список повторится. Показан только отрывок:Now we must configure video card specific settings. At this point you can
choose to make a selection out of a database of video card definitions.
Because there can be variation in Ramdacs and clock generators even
between cards of the same model, it is not sensible to blindly copy
the settings (e.g. a Device section). For this reason, after you make a
selection, you will still be asked about the components of the card, with
the settings from the chosen database entry presented as a strong hint.
The database entries include information about the chipset, what driver to
run, the Ramdac and ClockChip, and comments that will be included in the
Device section. However, a lot of definitions only hint about what driver
to run (based on the chipset the card uses) and are untested.
If you can't find your card in the database, there's nothing to worry about.
You should only choose a database entry that is exactly the same model as
your card; choosing one that looks similar is just a bad idea (e.g. a
GemStone Snail 64 may be as different from a GemStone Snail 64+ in terms of
hardware as can be).
Do you want to look at the card database? y
288 Matrox Millennium G200 8MB mgag200
289 Matrox Millennium G200 SD 16MB mgag200
290 Matrox Millennium G200 SD 4MB mgag200
291 Matrox Millennium G200 SD 8MB mgag200
292 Matrox Millennium G400 mgag400
293 Matrox Millennium II 16MB mga2164w
294 Matrox Millennium II 4MB mga2164w
295 Matrox Millennium II 8MB mga2164w
296 Matrox Mystique mga1064sg
297 Matrox Mystique G200 16MB mgag200
298 Matrox Mystique G200 4MB mgag200
299 Matrox Mystique G200 8MB mgag200
300 Matrox Productiva G100 4MB mgag100
301 Matrox Productiva G100 8MB mgag100
302 MediaGX mediagx
303 MediaVision Proaxcel 128 ET6000
304 Mirage Z-128 ET6000
305 Miro CRYSTAL VRX Verite 1000
Enter a number to choose the corresponding card definition.
Press enter for the next page, q to continue configuration.
288
Your selected card definition:
Identifier: Matrox Millennium G200 8MB
Chipset: mgag200
Driver: mga
Do NOT probe clocks or use any Clocks line.
Press enter to continue, or ctrl-c to abort.
Now you must give information about your video card. This will be used for
the "Device" section of your video card in XF86Config.
You must indicate how much video memory you have. It is probably a good
idea to use the same approximate amount as that detected by the server you
intend to use. If you encounter problems that are due to the used server
not supporting the amount memory you have (e.g. ATI Mach64 is limited to
1024K with the SVGA server), specify the maximum amount supported by the
server.
How much video memory do you have on your video card:
1 256K
2 512K
3 1024K
4 2048K
5 4096K
6 Other
Enter your choice: 6
Amount of video memory in Kbytes: 8192
You must now enter a few identification/description strings, namely an
identifier, a vendor name, and a model name. Just pressing enter will fill
in default names (possibly from a card definition).
Your card definition is Matrox Millennium G200 8MB.
The strings are free-form, spaces are allowed.
Enter an identifier for your video card definition:Далее, производится установка видеорежимов для требуемого разрешения.
Обычно используемые значения 640x480, 800x600, и 1024x768, но
они зависят от возможностей видеокарты, размера монитора и
зрительного комфорта. Выбирая глубину цвета, устанавливайте
самое большое поддерживаемое видеокартой значение.For each depth, a list of modes (resolutions) is defined. The default
resolution that the server will start-up with will be the first listed
mode that can be supported by the monitor and card.
Currently it is set to:
"640x480" "800x600" "1024x768" "1280x1024" for 8-bit
"640x480" "800x600" "1024x768" "1280x1024" for 16-bit
"640x480" "800x600" "1024x768" "1280x1024" for 24-bit
Modes that cannot be supported due to monitor or clock constraints will
be automatically skipped by the server.
1 Change the modes for 8-bit (256 colors)
2 Change the modes for 16-bit (32K/64K colors)
3 Change the modes for 24-bit (24-bit color)
4 The modes are OK, continue.
Enter your choice: 2
Select modes from the following list:
1 "640x400"
2 "640x480"
3 "800x600"
4 "1024x768"
5 "1280x1024"
6 "320x200"
7 "320x240"
8 "400x300"
9 "1152x864"
a "1600x1200"
b "1800x1400"
c "512x384"
Please type the digits corresponding to the modes that you want to select.
For example, 432 selects "1024x768" "800x600" "640x480", with a
default mode of 1024x768.
Which modes? 432
You can have a virtual screen (desktop), which is screen area that is larger
than the physical screen and which is panned by moving the mouse to the edge
of the screen. If you don't want virtual desktop at a certain resolution,
you cannot have modes listed that are larger. Each color depth can have a
differently-sized virtual screen
Please answer the following question with either 'y' or 'n'.
Do you want a virtual screen that is larger than the physical screen? n
For each depth, a list of modes (resolutions) is defined. The default
resolution that the server will start-up with will be the first listed
mode that can be supported by the monitor and card.
Currently it is set to:
"640x480" "800x600" "1024x768" "1280x1024" for 8-bit
"1024x768" "800x600" "640x480" for 16-bit
"640x480" "800x600" "1024x768" "1280x1024" for 24-bit
Modes that cannot be supported due to monitor or clock constraints will
be automatically skipped by the server.
1 Change the modes for 8-bit (256 colors)
2 Change the modes for 16-bit (32K/64K colors)
3 Change the modes for 24-bit (24-bit color)
4 The modes are OK, continue.
Enter your choice: 4
Please specify which color depth you want to use by default:
1 1 bit (monochrome)
2 4 bits (16 colors)
3 8 bits (256 colors)
4 16 bits (65536 colors)
5 24 bits (16 million colors)
Enter a number to choose the default depth.
4Наконец, настройки нужно сохранить. Убедитесь что ввели
/etc/XF86Config в качестве места
хранения настроек.I am going to write the XF86Config file now. Make sure you don't accidently
overwrite a previously configured one.
Shall I write it to /etc/X11/XF86Config? yЕсли настройка прервалась, вы можете запустить настройку опять,
выбрав [ Yes ] когда появится следующее
сообщение: User Confirmation Requested
The XFree86 configuration process seems to have
failed. Would you like to try again?
[ Yes ] NoЕсли у вас проблемы с настройкой &xfree86;, выберите
[ No ], нажмите Enter
и продолжайте процесс установки. После установки вы можете использовать
xf86cfg -textmode или
xf86config для получения доступа к утилитам настройки
в режиме командной строки под root. Это дополнительный
метод настройки &xfree86;, описанный в
. Если вы решите не настраивать
&xfree86; сейчас, следующим появится меню
выбора пакетов.Настройкой по умолчанию, позволяющей перезагрузить сервер,
является комбинация клавиш CtrlAltBackspace. Эта комбинация
может быть применена если что-то не так с установками сервера, она
позволяет предотвратить повреждение оборудования.Настройкой по умолчанию, позволяющей переключать видео режимы
во время работы X, является комбинация клавиш
CtrlAlt+ or
CtrlAlt-.
После установки высота, ширина экрана или центровка экрана
может быть выбрана с использованием
xvidtune, если вы запустите
&xfree86; с
xvidtune.Будут выданы предупреждения, что неверные установки могут повредить
ваше оборудование. Прислушайтесь к ним. Если вы сомневаетесь в чем-то,
не делайте этого. Вместо этого, используйте настройки монитора для
подстройки его под X Window. Вид экрана может несколько отличаться
при переключении обратно в текстовый режим, но это лучше, чем
повреждение оборудования.Прочитайте справочник &man.xvidtune.1; перед тем как производить
какие-либо настройки.После успешной настройки &xfree86;,
будет предложен выбор десктопа по умолчанию.Выбор десктопа по умолчанию (Select Default X Desktop)Доступны самые разные оконные менеджеры. Их функциональность
варьируется от самых минимальных до полноценных десктопов
с большим набором программ. Некоторые требуют минимума места на диске
и небольшого количества памяти, другие, с большим набором функций,
требуют гораздо больше. Лучший путь определить наиболее подходящий вам —
попробовать несколько. Они доступны из коллекции портов и в виде
пакетов, и могут быть добавлены после установки.Вы можете выбрать один из популярных десктопов, он будет
установлен и настроен в качестве десктопа по умолчанию.
Это позволит запустить его сразу после установки.Выбор десктопа по умолчаниюИспользуйте клавиши навигации, чтобы выбрать десктоп, и нажмите
Enter. Будет запущена установка выбранного
десктопа.Установка пакетов (Install Packages)Пакеты — это прекомпилированные бинарные файлы и это
удобный способ установки программ.В качестве примера показана установка одного пакета.
Если потребуется, можно установить дополнительные пакеты. После
установки для добавления пакетов может быть использована команда
/stand/sysinstall. User Confirmation Requested
The FreeBSD package collection is a collection of hundreds of
ready-to-run applications, from text editors to games to WEB servers
and more. Would you like to browse the collection now?
[ Yes ] NoВыбор [ Yes ] и нажатие
Enter приведет к появлению
экрана выбора пакетов:Выбор категории пакетовТолько пакеты с текущего носителя
доступны для установки в любое время.Все доступные пакеты будут показаны если выбрать категорию
All, можно также выбирать отдельные
категории. Перейдите к выбранной категории с помощью клавиш
навигации и нажмите Enter.Появится меню, содержащее доступные в данной категории
пакеты.Выбор пакетовВыбрана оболочка bash.
Выберите все необходимые пакеты, перемещаясь по меню и нажимая
клавишу пробела на выбираемых пакетах. Краткое описание
пакета будет появляться в нижней левой части экрана.Нажатие Tab переключает между последним
выбранным пакетом, &gui.ok;, и &gui.cancel;.После того, как будет закончена отметка пакетов для установки,
нажмите Tab один раз для переключения на &gui.ok;
и нажмите Enter для переключения на меню выбора
пакетов.Нажимая клавиши навигации влево или вправо, можно переключаться
между &gui.ok; и &gui.cancel;. Этот метод может быть применен также
для выбора &gui.ok;, и возврата к
меню выбора пакетов нажатием Enter.Установка пакетовИспользуйте Tab и клавиши навигации для выбора
[ Install ] и нажмите Enter.
вам потребуется подтвердить установку пакетов:Подтверждение установки пакетовВыбор &gui.ok; и нажатие Enter запустит
установку пакетов. Во время установки будут выдаваться
сообщения. Обратите внимание на возможные сообщения об
ошибках.После установки пакетов настройка продолжится.
Если вы не выбрали ни один из пакетов и хотите вернуться
к завершению настройки, выберите Install
в любом случае.Добавление пользователей/групп (Add Users/Groups)В процессе установки нужно добавить хотя бы одного пользователя,
чтобы использовать систему без входа под
root. Корневой каталог обычно мал и запуск
приложений под root быстро заполнит его.
Ниже показано предупреждение: User Confirmation Requested
Would you like to add any initial user accounts to the system? Adding
at least one account for yourself at this stage is suggested since
working as the "root" user is dangerous (it is easy to do things which
adversely affect the entire system).
[ Yes ] NoВыберите [ Yes ] и нажмите
Enter чтобы продолжить добавление пользователя.Выбор User (пользователь)Выберите User с помощью клавиш навигации
и нажмите Enter.Вод информации о пользователеПри выборе полей с помощью Tab в нижней
части экрана будет появляться описание, помогающее
ввести необходимую информацию:Логин (Login ID)Имя нового пользователя (обязательно).UIDЧисловой ID (идентификатор) для этого пользователя (оставьте
пустым для автоматического выбора).Группа (Group)Имя группы этого пользователя (оставьте пустым для
автоматического выбора).Пароль (Password)Пароль этого пользователя (заполняйте это поле с
осторожностью!).Полное имяПолное имя пользователя (комментарий).Член групп (Member groups)Группы, к которым принадлежит пользователь (т.е. имеет
права доступа).Домашний каталог (Home directory)Домашний каталог пользователя (оставьте пустым для
выбора по умолчанию).Оболочка (Login shell)Оболочка пользователя, запускаемая при входе в систему
(оставьте пустым для оболочки по умолчанию,
например /bin/sh).Оболочка была изменена с /bin/sh на
/usr/local/bin/bash для использования
bash, которая была перед этим установлена
из пакета. Не пытайтесь использовать несуществующую оболочку, вы
не сможете войти в систему. Наиболее часто используемая в мире
BSD оболочка это C shell, которую можно обозначить как
/bin/tcsh.Пользователь был добавлен в группу wheel,
чтобы иметь возможность стать суперпользователем с привилегиями
root.Когда все будет введено, нажмите &gui.ok; и меню
управления пользователями и группами (User and Group Management)
появится снова:Выход из меню управления пользователями и группамиСейчас также можно добавить группы, если известно, для чего
они потребуются. Иначе в это меню можно войти,
запустив /stand/sysinstall после окончания
установки.После завершения добавления пользователей, выберите
Exit с помощью клавиш навигации и нажмите
Enter для продолжения установки.Установка пароля root Message
Now you must set the system manager's password.
This is the password you'll use to log in as "root".
[ OK ]
[ Press enter to continue ]Нажмите Enter для установки пароля
root.Необходимо два раза правильно ввести пароль. Излишне
упоминать, что должна быть возможность восстановления пароля,
если вы его забудете.Changing local password for root.
New password :
Retype new password :Установка продолжится после успешного ввода пароля.Выход из установки (Exiting Install)Если нужно настроить дополнительные сетевые устройства, или
произвести другие настройки, вы можете сделать это сейчас или
после установки с помощью/stand/sysinstall. User Confirmation Requested
Visit the general configuration menu for a chance to set any last
options?
Yes [ No ]Выберите [ No ] с помощью клавиш навигации
и нажмите Enter для возврата к главному меню
установки.Выход из установкиВыберите [X Exit Install] с помощью клавиш
навигации и нажмите Enter. Будет задан вопрос о
подтверждении выхода из установки: User Confirmation Requested
Are you sure you wish to exit? The system will reboot (be sure to
remove any floppies from the drives).
[ Yes ] NoВыберите [ Yes ] и удалите дискету если
загрузка была с нее. CDROM заблокирован, пока компьютер не начнет
перегружаться. CDROM будет разблокирован и диск нужно будет извлечь
из привода (быстро).Система начнет перезагрузку, смотрите за сообщениями об ошибках,
которые могут появиться.Загрузочный процесс FreeBSD (FreeBSD Bootup)Загрузка FreeBSD на &i386;Если все пройдет нормально, вы увидите прокручивающиеся за экран
сообщения, затем приглашение ко входу в систему. Вы может просмотреть
сообщения, нажав Scroll-Lock и используя
PgUp и PgDn. Нажатие
Scroll-Lock еще раз вернет вас к приглашению.Все сообщение может не отобразиться (ограничение буфера),
но может быть просмотрено путем ввода команды
dmesg в командной строке.Войдите, используя имя пользователя/пароль, добавленные во
время установки (rpratt в этом примере).
Избегайте входа под root, если это не
требуется.Типичные сообщения при загрузке (информация о версии удалена):Copyright (c) 1992-2002 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
Timecounter "i8254" frequency 1193182 Hz
CPU: AMD-K6(tm) 3D processor (300.68-MHz 586-class CPU)
Origin = "AuthenticAMD" Id = 0x580 Stepping = 0
Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
AMD Features=0x80000800<SYSCALL,3DNow!>
real memory = 268435456 (262144K bytes)
config> di sn0
config> di lnc0
config> di le0
config> di ie0
config> di fe0
config> di cs0
config> di bt0
config> di aic0
config> di aha0
config> di adv0
config> q
avail memory = 256311296 (250304K bytes)
Preloaded elf kernel "kernel" at 0xc0491000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xc049109c.
md0: Malloc disk
Using $PIR table, 4 entries at 0xc00fde60
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11
isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0: <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci0
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
chip1: <VIA 82C586B ACPI interface> at device 7.3 on pci0
ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xe800-0xe81f irq 9 at
device 10.0 on pci0
ed0: address 52:54:05:de:73:1b, type NE2000 (16 bit)
isa0: too many dependant configs (8)
isa0: unexpected small tag 14
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <keyboard controller (i8042)> at port 0x60-0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x1 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/15 bytes threshold
ppbus0: IEEE1284 device found /NIBBLE
Probing for PnP devices on ppbus0:
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master using UDMA33
ad2: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata1-master using UDMA33
acd0: CDROM <DELTA OTC-H101/ST3 F/W by OIPD> at ata0-slave using PIO4
Mounting root from ufs:/dev/ad0s1a
swapon: adding /dev/ad0s1b as swap device
Automatic boot in progress...
/dev/ad0s1a: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1a: clean, 48752 free (552 frags, 6025 blocks, 0.9% fragmentation)
/dev/ad0s1f: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1f: clean, 128997 free (21 frags, 16122 blocks, 0.0% fragmentation)
/dev/ad0s1g: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1g: clean, 3036299 free (43175 frags, 374073 blocks, 1.3% fragmentation)
/dev/ad0s1e: filesystem CLEAN; SKIPPING CHECKS
/dev/ad0s1e: clean, 128193 free (17 frags, 16022 blocks, 0.0% fragmentation)
Doing initial network setup: hostname.
ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
inet6 fe80::5054::5ff::fede:731b%ed0 prefixlen 64 tentative scopeid 0x1
ether 52:54:05:de:73:1b
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
Additional routing options: IP gateway=YES TCP keepalive=YES
routing daemons:.
additional daemons: syslogd.
Doing additional network setup:.
Starting final network daemons: creating ssh RSA host key
Generating public/private rsa1 key pair.
Your identification has been saved in /etc/ssh/ssh_host_key.
Your public key has been saved in /etc/ssh/ssh_host_key.pub.
The key fingerprint is:
cd:76:89:16:69:0e:d0:6e:f8:66:d0:07:26:3c:7e:2d root@k6-2.example.com
creating ssh DSA host key
Generating public/private dsa key pair.
Your identification has been saved in /etc/ssh/ssh_host_dsa_key.
Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.
The key fingerprint is:
f9:a1:a9:47:c4:ad:f9:8d:52:b8:b8:ff:8c:ad:2d:e6 root@k6-2.example.com.
setting ELF ldconfig path: /usr/lib /usr/lib/compat /usr/X11R6/lib
/usr/local/lib
a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout
starting standard daemons: inetd cron sshd usbd sendmail.
Initial rc.i386 initialization:.
rc.i386 configuring syscons: blank_time screensaver moused.
Additional ABI support: linux.
Local package initialization:.
Additional TCP options:.
FreeBSD/i386 (k6-2.example.com) (ttyv0)
login: rpratt
Password:Генерирование ключей RSA и DSA может занять некоторое время
на медленных компьютерах. Это может случиться только при
первой загрузке свежеустановленной системы. Последующие
загрузки будут быстрее.Если X сервер был настроен и был выбран десктоп по умолчанию,
он может быть запущен из командной строки командой
startx.Загрузка FreeBSD на AlphaAlphaКогда процедура установки будет завершена, вы сможете
запустить FreeBSD в приглашении SRM примерно такой командой:>>>BOOT DKC0Это команда дает указание на загрузку с заданного диска. Чтобы
FreeBSD в будущем загружалась автоматически, используйте
эти команды:>>>SET BOOT_OSFLAGS A>>>SET BOOT_FILE ''>>>SET BOOTDEF_DEV DKC0>>>SET AUTO_ACTION BOOTЗагрузочные сообщения будут похожи (но не идентичны)
сообщениям, выводимым FreeBSD при загрузке на &i386;.Завершение работы FreeBSD (FreeBSD Shutdown)Важно правильно завершать работу операционной системы.
Нельзя просто выключать питание. Сначала нужно стать
суперпользователем, введя в командной строке su
и пароль root. Это сработает только если
пользователь является членом группы wheel.
Или зайдите под root и используйте команду
shutdown -h now.The operating system has halted.
Please press any key to reboot.Можно безопасно выключать питание после того, как будет выполнена
команда shutdown и появится сообщение
Please press any key to reboot. Если вместо выключения
питания будет нажата любая клавиша, система перезагрузится.Вы также можете использовать комбинацию клавиш
CtrlAltDel
для перезагрузки системы, хотя это не рекомендуется в обычной
ситуации.Поддерживаемое оборудованиеоборудованиеВ настоящее время FreeBSD работает на разнообразных PC, с шинами
ISA, VLB, EISA, и PCI с процессорами x86 от
Intel, AMD, Cyrix, или NexGen, так же как и с
множеством компьютеров на процессорах Compaq Alpha. Поддерживаются также
IDE или ESDI диски, различные SCSI контроллеры, карты PCMCIA,
устройства USB, сетевые карты и карты последовательных портов.
FreeBSD также поддерживает шину MCA от IBM.Список поддерживаемого оборудования поставляется с каждым релизом
FreeBSD в информации о поддерживаемом FreeBSD оборудовании. Этот
документ обычно
может быть найден в файле HARDWARE.TXT в корневом
каталоге CDROM, дистрибутива на FTP или в меню документации
sysinstall. В нем находится список
аппаратных устройств, которые поддерживаются этим релизом
FreeBSD для данной архитектуры. Копии списка поддерживаемого
оборудования для различных релизов и архитектур также можно найти
на странице Информации о
релизах сайта FreeBSD.Решение проблемустановкарешение проблемСледующий раздел описывает основные проблемы при установке, о
о которых обычно сообщают пользователи. Здесь также несколько вопросов
и ответов от тех, кто хочет настроить двойную загрузку FreeBSD и
&ms-dos;.Что делать если что-то идет не такПо причине различных ограничений архитектуры PC, невозможно
протестировать устройства достоверно на 100%, тем не менее,
есть несколько вещей, которые вы можете сделать, если тестирование
завершится неудачно.Сверьтесь со списком поддерживаемого оборудованию для вашей
версии FreeBSD, чтобы убедиться, что ваше оборудование
поддерживается.Если оборудование поддерживается, но все же происходят
зависания или вы встретились с другими проблемами, перегрузите
компьютер, и когда появится опция визуальной настройки ядра, выберите ее.
Это позволит вам просмотреть список оборудования и дать системе
информацию о настройке. Ядро на загрузочном диске настроено в
предположении, что у большинства аппаратных устройств IRQ, адреса
ввода-вывода и каналы DMA установлены производителем к значениям
по умолчанию. Если оборудование было перенастроено, вам
потребуется использовать редактор настроек, чтобы сообщить
FreeBSD где что искать.Возможно также, что тестирование устройства, которого нет,
приведет позже к ошибке тестирования существующего устройства.
В этом случае тестирование конфликтующего драйвера (драйверов)
должно быть запрещено.Некоторые проблемы установки можно обойти или уменьшить,
обновив встроенное программное обеспечение различных
компонент оборудования, особенно материнской платы.
Встроенное программное обеспечение также называют
BIOS и у большинства производителей
компьютеров или материнских плат есть вебсайты, где можно найти
обновления и информацию об обновлениях.Большинство производителей настоятельно советуют не обновлять
BIOS пока не возникнет серьезной необходимости,
например появление критически важных обновлений.
Процесс обновления может пойти неверно,
что приведет к неустранимому повреждению микросхемы
BIOS.Не выключайте драйвера, которые понадобятся вам во время
установки, такие как экран (sc0).
Если после выхода из редактора конфигурации установка
загадочно зависает или прерывается, возможно вы удалили
или изменили что-то, что не надо было трогать. Перегрузитесь
и попробуйте еще раз.В режиме настройки вы можете:Просматривать список устройств, включенных в ядро.Отключать драйвера устройств для оборудования, которого нет
в системе.Менять IRQ, DRQ, адреса портов, используемые драйвером
устройства.После настройки ядра под оборудование нажмите
Q для загрузки с новыми настройками.
После завершения установки все изменения, внесенные в режиме
настройки, будут действовать постоянно, так что вам не придется
делать настройку при каждой загрузке. Все же очень неплохо, если вы
со временем соберете новое ядро.Работа с существующими разделами &ms-dos;DOSМногие пользователи устанавливают &os; на PC
с установленной операционной системой µsoft;. Для этих целей
в &os; есть утилита, называемая FIPS. Ее
можно найти в каталоге tools установочного
CD-ROM или загрузить с одного из множества зеркал &os;.Утилита FIPS позволит вам разделить
существующий раздел &ms-dos; на две части, сохранив имеющиеся
данные, и сделать установку на второй свободный раздел.
Вам потребуется сначала дефрагментировать раздел &ms-dos; с помощью
&windows; утилиты Disk Defragmenter
(запустите Explorer, кликните правой клавишей мыши на жестком диске и
выберите дефрагментацию диска), или используйте Norton Disk Tools.
Затем запустите утилиту FIPS. Она запросит
необходимую информацию, следуйте инструкциям на экране. Затем
можете перегрузиться и установить &os; на новый свободный слайс.
Смотрите меню Distributions для определения
размера необходимого для выбранного типа установки свободного
пространства.Есть также очень полезная программа
&partitionmagic; от PowerQuest
(http://www.powerquest.com).
Эта программа гораздо более функциональна, чем
FIPS, и очень рекомендуется, если
вы планируете часто добавлять/убирать операционные системы.
Она стоит денег, и если вы планируете установить &os;
и оставить ее, вам возможно отлично подойдет
FIPS.Использование файловых систем &ms-dos; и &windows;В настоящее время, &os; не поддерживает файловые системы, сжатые
с помощью программы Double Space™.
Поэтому файловая система должна быть разжата, чтобы
&os; смогла получить доступ к данным. Это может быть сделано с
помощью приложения Compression Agent,
находящегося в меню Пуск>
Программы > Системные.&os; поддерживает файловые системы &ms-dos;. Для этого потребуется
использовать команду &man.mount.msdos.8; (в &os; 5.X, это
&man.mount.msdosfs.8;) с необходимыми параметрами. Наиболее
распространенный способ использования:&prompt.root; mount_msdos /dev/ad0s1 /mntВ этом примере файловая система &ms-dos; расположена на первом
разделе первого жесткого диска. Ваша конфигурация может быть другой,
проверьте вывод команд dmesg и
mount. Они должны предоставить достаточно
информации для определения названий разделов.Расширенные разделы &ms-dos; обычно располагаются после разделов
&os;. Другими словами, номер слайса может быть больше, чем
используемый &os; is using. Например, первый раздел &ms-dos; может быть
/dev/ad0s1, раздел &os;
/dev/ad0s2, а расширенный раздел &ms-dos;
/dev/ad0s3. Некоторых это иногда запутывает на
первых порах.Разделы NTFS также можно смонтировать похожим способом, используя
команду &man.mount.ntfs.8;.Вопросы и ответы пользователей AlphaAlphaЭтот раздел отвечает на некоторые обычно задаваемые вопросы об
установке FreeBSD на Alpha.Могу я загрузиться с ARC или с консоли Alpha BIOS?ARCAlpha BIOSSRMНет. &os;, как и Compaq Tru64 и VMS, может загружаться
только с консоли SRM.Помогите, у меня нет места! Должен ли я сначала
все удалить?К сожалению, да.Могу ли я смонтировать файловые системы
Compaq Tru64 или VMS?В настоящее время нет.ValentinoVaschettoПредоставлено Расширенное руководство по установкеЭта секция описывает особые случаи установки FreeBSD.Установка FreeBSD на систему без монитора или клавиатурыустановкабез монитора (последовательная консоль)последовательная консольЭтот тип установки называется установка без
монитора, потому что на компьютере, на который вы пробуете
установить FreeBSD или не подсоединен монитор, или даже нет
VGA выхода. Вы спросите, как это возможно? Используя последовательную
консоль. Последовательная консоль в своей основе имеет другой
компьютер, который служит дисплеем и клавиатурой для системы.
Чтобы сделать это, создайте инсталляционные дискеты, как
описано в разделе .Чтобы модифицировать дискеты для загрузки с последовательной
консоли, следуйте этой инструкции:Включение загрузки с последовательной консолиmountЕсли вы произведете загрузку с только что полученных дискет,
FreeBSD загрузится в нормальный режим установки. Мы хотим,
чтобы FreeBSD загрузилась на последовательную консоль для
нашей установки. Чтобы сделать это, смонтируйте
kern.flp на вашу систему FreeBSD
используя команду &man.mount.8;.&prompt.root; mount /dev/fd0 /floppyТеперь, когда дискета смонтирована, нужно перейти в
каталог дискеты:&prompt.root; cd /floppyСейчас вам нужно настроить дискету для загрузки в
последовательную консоль. Нужно создать файл
boot.config, содержащий
/boot/loader -h. Это нужно для того, чтобы
передать загрузчику флаг загрузки с последовательной
консоли.&prompt.root; echo "/boot/loader -h" > boot.configТеперь, когда ваша дискета правильно настроена,
размонтируйте ее с помощью команды &man.umount.8;:&prompt.root; cd /
&prompt.root; umount /mntТеперь удалите дискету из дисковода.Подсоединение нуль-модемного кабелянуль-модемный кабельТеперь нужно соединить два компьютера нуль-модемным кабелем.
Просто подсоедините этот кабель к последовательным
портам двух компьютеров. Обычный последовательный
кабель не будет работать, вам потребуется
нуль-модемный кабель, поскольку в нем некоторые соединения
перевернуты.Загрузка для установкиНастало время начать установку. Вставьте диск
kern.flp в дисковод компьютера, на который
вы будете производить установку без монитора и включите его.Подключение к компьютеру без монитораcuТеперь вы можете подключиться к этому компьютеру с помощью
&man.cu.1;:&prompt.root; cu -l /dev/cuaa0Это все! Теперь вы можете управлять компьютером без монитора через
сессию cu. Будет запрошен диск
mfsroot.flp, затем появится выбор типа
терминала. Выберите цветную консоль FreeBSD и проводите
установку!Подготовка собственного источника установкиЧтобы не повторяться, диск FreeBSD в данном случае
означает FreeBSD CDROM или DVD который вы купили или подготовили
самостоятельно.Может быть несколько ситуаций, в которых вам потребуется подготовить
собственный диск и/или источник для установки FreeBSD. Это может быть
физический носитель, такой как лента, или источник, с которого
sysinstall сможет взять файлы, такой как
локальный сервер FTP, или раздел &ms-dos;.Например:У вас есть много компьютеров, подсоединенных к локальной сети, и
один диск с FreeBSD. Вы хотите создать локальный сервер FTP,
используя содержимое диска FreeBSD, а затем использовать с ваших
компьютеров этот локальный сервер FTP вместо подсоединения к
интернет.У вас есть диск с FreeBSD, и FreeBSD не распознает ваш CD/DVD
привод, а &ms-dos;/&windows; распознает. Вы хотите скопировать
файлы установки FreeBSD на раздел DOS этого же компьютера и
установить FreeBSD используя эти файлы.На компьютере, на который вы хотите провести установку, нет ни
привода CD/DVD ни сетевой карты, но вы можете подсоединиться в
Laplink-стиле последовательным или параллельным
кабелем к другому компьютеру, на котором они есть.Вы хотите создать ленту, которую можно использовать для
установки FreeBSD.Создание установочного CDROMВ составе каждого релиза проект FreeBSD предоставляет доступ к
двум образам CDROM (ISO images). Эти образы могут
быть записаны (прожжены) на CD если у вас есть CD-рекордер,
а затем использованы для установки FreeBSD. Если у вас есть
CD-рекордер и дешевый канал интернет, это простейший путь
установить FreeBSD.Скачайте соответствующие ISO образыISO образы для каждого релиза могут быть загружены с ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-архитектура/версия или с ближайшего зеркала.
Замените архитектура и
версия в соответствии архитектурой
(Alpha или &i386;) и номером релиза соответственно.Этот каталог обычно содержит следующие образы:
Названия FreeBSD ISO образов и их значенияИмя файлаСодержимоеверсия-mini.isoВсе что вам нужно для установки FreeBSD.версия-disc1.isoВсе что вам нужно для установки FreeBSD, и столько
дополнительных пакетов сторонних производителей, сколько
уместилось на диске.версия-disc2.isolive filesystem, используемая в
сочетании со средством Repair программы
sysinstall. Копия дерева CVS
FreeBSD. Столько дополнительных пакетов сторонних
производителей, сколько уместилось на диске.
Вам необходимо загрузить или образ mini
ISO, или образ первого диска. Не загружайте их оба, так как
образ первого диска содержит все, что есть на образе mini
ISO.Используйте mini ISO если доступ в интернет затруднен. Он
позволит вам установить FreeBSD, и вы сможете установить в
последствии программы сторонних производителей используя
систему портов/пакетов (смотрите
) если необходимо.Используйте образ первого диска, если хотите выбрать
программы сторонних производителей с этого диска.Дополнительные образы дисков полезны, но не необходимы,
особенно если у вас есть высокоскоростной доступ к интернет.Запись CDЗатем вам нужно записать образы CD на диски. Если вы делаете
это из другой системы FreeBSD, обратитесь к
за более подробной информацией (в
частности, и
).Если вы делаете это в другой системе, потребуется
использовать те утилиты для управления CD-рекордером, которые
есть в этой системе. Образы дисков предоставляются в стандартном
формате ISO, который поддерживается многими программами.Создание локального сервера FTP с FreeBSDустановкасетьFTPДиск FreeBSD сформирован так же, как и сервер FTP. Это сильно
упрощает создание локального сервера FTP, который может быть
использован другими компьютерами вашей сети для установки
FreeBSD.Убедитесь, что на компьютере FreeBSD, на котором будет
установлен сервер FTP, CDROM находится в приводе и смонтируйте
/cdrom.&prompt.root; mount /cdromСоздайте учетную запись для anonymous FTP в
/etc/passwd. Сделайте это, отредактировав
/etc/passwd с помощью &man.vipw.8; и добавив
эту строку:ftp:*:99:99::0:0:FTP:/cdrom:/nonexistentУбедитесь что сервис FTP включен в
/etc/inetd.conf.Всякий, кто может подсоединиться по сети к вашему компьютеру,
может выбрать тип носителя FTP и набрать
ftp://ваш компьютер
после выбора Other в меню серверов FTP во время
установки.Этот подход хорош для компьютера в вашей локальной сети,
защищенного с помощью файрволла. Предоставление сервиса FTP
другим компьютерам через интернет (а не через локальную сеть)
привлекает к вашему компьютеру внимание кракеров и других
лиц, чье внимание нежелательно. Мы настоятельно рекомендуем
придерживаться правильной политики безопасности, если вы
делаете это.Создание дискет для установкиустановкадискетыЕсли вам требуется выполнить установку с дискет (чего мы
не рекомендуем делать) или по причине
не поддерживаемого оборудования, или просто потому, что
вы не любите простых путей, потребуется сначала
подготовить несколько дискет для установки.Как минимум, вам потребуется столько 1.44 MB или 1.2 MB
дискет, сколько нужно, чтобы вместить все файлы из каталога
bin (binary distribution). Если
вы подготавливаете эти дискеты из DOS, они
ДОЛЖНЫ быть отформатированы с помощью команды
&ms-dos; FORMAT. Если вы используете &windows;,
используйте Explorer для форматирования дисков (кликните правой
кнопкой мыши на диске A: и выберите
Format.Не доверяйте заводскому форматированию
дискет. Отформатируйте их еще раз самостоятельно, просто для
уверенности. Множество проблем, о которых сообщали наши пользователи,
были результатом использования неправильно отформатированных дисков,
поэтому мы сейчас обращаем на это внимание.Если вы создаете образы на другом компьютере FreeBSD,
форматирование все еще не лишне, хотя вам не потребуется
создавать файловую систему DOS на каждой дискете. Вы можете
использовать disklabel и newfs
для создания на них файловых систем UFS, в следующей
последовательности (для 3.5" 1.44 MB дискет):&prompt.root; fdformat -f 1440 fd0.1440
&prompt.root; disklabel -w -r fd0.1440 floppy3
&prompt.root; newfs -t 2 -u 18 -l 1 -i 65536 /dev/fd0Используйте fd0.1200 и
floppy5 для 5.25" 1.2 MB дискет.Затем вы можете смонтировать их и писать на них как на любую
другую файловую систему.После форматирования дискет вам потребуется скопировать на них
файлы. Файлы дистрибутива разделены на части, размер которых
позволяет легко разместить пять частей на обычной 1.44 MB дискете.
Заполните все дискеты файлами, помещая столько файлов на одну
дискету, сколько уместится, пока у вас не будет всех необходимых
компонент дистрибутива. Каждый компонент должен располагаться
в подкаталоге на дискете, например
a:\bin\bin.aa,
a:\bin\bin.ab, и так далее.Как только в процессе установки появится экран Media,
выберите Floppy и установка продолжится.Установка с раздела &ms-dos;установкас MS-DOSЧтобы подготовиться к установке с раздела &ms-dos;,
скопируйте файлы с дистрибутива в каталог
freebsd корневого каталога раздела.
Например, c:\freebsd. Структура каталога
CDROM или сервера FTP должна быть в точности воспроизведена в
этом каталоге, мы предлагаем использовать команду DOS
xcopy если вы копируете дистрибутив с CD.
Например, чтобы подготовить минимальную установку FreeBSD:C:\>md c:\freebsdC:\>xcopy e:\bin c:\freebsd\bin\ /sC:\>xcopy e:\manpages c:\freebsd\manpages\ /sПредполагается, что на C: есть свободное
место, а на E: смонтирован CDROM.Если у вас нет CDROM, можно загрузить дистрибутив с ftp.FreeBSD.org.
Каждый компонент находится в своем собственном каталоге, например
компонент base можно найти в каталоге &rel.current;/base/.В 4.X и более поздних релизах &os; компонент
base называется bin. Поправьте
команды и ссылки соответственно, если вы используете эти
версии.Все компоненты, которые вы будете устанавливать с раздела
&ms-dos; (и для которых у вас есть место), нужно расположить в
c:\freebsd — для минимальной установки
нужна только компонента BIN.Создание ленты для установкиустановкас ленты QIC/SCSIУстановка с ленты это возможно самый простой метод, уступающий
только установке с FTP или CDROM. Программа установки может
найти на ленте файлы, которые записаны на нее с помощью tar.
После получения всех файлов дистрибутива, которые вам нужны,
запишите их на ленту с помощью tar:&prompt.root; cd /freebsd/distdir
&prompt.root; tar cvf /dev/rwt0 dist1 ... dist2Когда вы приступите к установке, нужно убедиться в наличии
достаточного места во временном каталоге (который будет
предложено выбрать), чтобы поместилось все
содержимое записанной ленты. Поскольку лента — устройство
не-произвольного доступа, этот метод установки требует некоторого
места во временном хранилище.При начале установки лента должна быть в приводе
до загрузки с дискеты.
В ином случае она может быть не найдена при тестировании
устройств.Перед установкой по сетиустановкасетьпоследовательная (SLIP или PPP)установкасетьпараллельная (PLIP)установкасетьEthernetЕсть три возможных типа установки по сети. Через последовательный
порт (SLIP или PPP), параллельный порт (PLIP (laplink кабель)),
или Ethernet (стандартный Ethernet контроллер (включая некоторые
PCMCIA)).Поддержка SLIP немного примитивна, и ограничена в основном
постоянными соединениями, такими как последовательный
кабель между ноутбуком и другим компьютером. Соединение должно быть
постоянным, так как устанавливаемый SLIP в настоящее время не имеет
возможности дозвона; эта возможность предоставляется программой PPP,
которая должна быть использована вместо SLIP когда это
возможно.Если вы используете модем, PPP это конечно почти единственный
выбор. Убедитесь что у вас есть информация о провайдере, так как она
понадобится на довольно ранней стадии процесса установки.Если вы используете PAP или CHAP для соединения с провайдером
(другими словами, вы можете соединяться с провайдером из
&windows; без использования скрипта), все что вам понадобится это
ввести dial в приглашении
ppp. Иначе вам нужно знать, как
дозвониться до провайдера с помощью AT команд,
специфичных для вашего модема, так как программа дозвона PPP
предоставляет только очень простой эмулятор терминала. Обратитесь
к руководству user-ppp и FAQ для получения более подробных
сведений. Если у вас проблемы, логи могут быть выведены на экран
с помощью команды set log local ....Если доступно постоянное соединение с другой машиной
FreeBSD (2.0-R или выше), вы можете также подумать об
установке через параллельный порт laplink кабелем.
Скорость соединения через параллельный порт значительно выше, чем
обычно возможно через последовательную линию (до 50 кбайт/с),
это приведет к ускорению установки.Наконец, для самой быстрой установки по сети хорошим выбором
будет Ethernet адаптер! FreeBSD поддерживает большинство
PC Ethernet карт; список поддерживаемых карт (и требуемых
для них установок) предоставляется в информации об оборудовании
для каждого релиза FreeBSD. Если вы используете одну из
поддерживаемых PCMCIA Ethernet карт, убедитесь также что она
подключена перед тем, как ноутбук будет
включен! К сожалению, FreeBSD в настоящее время не поддерживает
горячее подключение PCMCIA карт во время установки.Вам также потребуется знать IP адрес в сети, сетевую
маску для класса подсети, и имя компьютера. Если вы делаете
установку через соединение PPP и у вас нет статического
IP, не бойтесь, IP адрес будет динамически выделен вам провайдером.
Системный администратор может подсказать вам какие значения
использовать для данной установки по сети. Если вы будете обращаться
к другим хостам по имени, а не по IP адресу, понадобится также
ДНС сервер и, возможно, адрес шлюза (если вы используете PPP, это
IP адрес вашего провайдера), чтобы связаться с ним. Если вы хотите
производить установку с FTP через HTTP прокси,
потребуется также адрес прокси. Если вы не знаете ответов
на все или большинство этих вопросов, свяжитесь с системным
администратором или ISP перед тем, как начать
этот тип установки.Перед установкой через NFSустановкасетьNFSУстановка через NFS очень проста. Просто скопируйте
компоненты FreeBSD, которые вам нужны на NFS сервер,
а затем укажите на него при выборе источника установки NFS.Если этот сервер поддерживает только привилегированные
порты (это как правило так для рабочих станций Sun),
потребуется установить этот параметр в меню Options
перед тем, как начать установку.Если у вас Ethernet карта плохого качества с низкой скоростью
передачи данных, вы возможно захотите переключить соответствующий
флаг в Options.Чтобы установка по NFS работала, сервер должен поддерживать
монтирование подкаталогов, например, если установочный каталог
дистрибутива FreeBSD &rel.current; находится на:
ziggy:/usr/archive/stuff/FreeBSD,
ziggy должен позволять непосредственное
монтирование /usr/archive/stuff/FreeBSD,
а не только /usr или
/usr/archive/stuff.В файле FreeBSD /etc/exports, это
управляется параметром . Другие NFS
сервера могут иметь другие соглашения. Если вы получаете
сообщения сервера permission denied,
это может означать, что соответствующая опция не включена.
diff --git a/ru_RU.KOI8-R/books/handbook/mail/chapter.sgml b/ru_RU.KOI8-R/books/handbook/mail/chapter.sgml
index 4c6abf64a4..4fdd65177f 100644
--- a/ru_RU.KOI8-R/books/handbook/mail/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/mail/chapter.sgml
@@ -1,2280 +1,2329 @@
BillLloydОригинальную версию предоставил JimMockПереписал Электронная почтаКраткий обзорemailэлектронная почтаЭлектронная почта называемая также email, является
на сегодняшний день одним из самых популярных средств связи. Эта глава
описывает основы работы с почтовым сервером в &os;, а также введение
в процесс отправки и получения почты в &os;; однако, это не полноценный
- справочник и фактически в главу не вошло множество важной информации.
+ справочник и фактически в главу не вошло много важной информации.
Более подробно эта тема рассмотрена во множестве прекрасных книг, список
которых приведен в .После прочтения этой главы вы узнаете:Какие программные компоненты задействованы в отправке и
получении электронной почты.Какие основные файлы настройки
sendmail имеются в FreeBSD.Разницу между удаленными и локальными почтовыми
ящиками.Как запретить спамерам использовать ваш почтовый
сервер для пересылки почты.Как установить и настроить альтернативный агент передачи почты
(mail transfer agent, MTA), заменив им
sendmail.Как разрешить наиболее часто встречающиеся проблемы с почтовым
сервером.Как использовать SMTP с UUCP.Как настроить систему только для отправки почты.Как использовать почту с коммутируемым подключением к
сети.Как настроить SMTP аутентификацию для дополнительной
защиты.Как установить и настроить почтовый агент пользователя
- (Mail User Agent, MUA), такой как
- mutt для отправки и получения
+ (Mail User Agent, MUA), например
+ mutt, для отправки и получения
почты.Как загрузить почту с удаленного POP или
IMAP сервера.Как автоматически применять фильтры и правила к входящей
почте.Перед прочтением этой главы вам потребуется:Правильно настроить сетевое подключение
().Правильно настроить DNS для почтового сервера
().Знать как устанавливать дополнительное программное обеспечение
сторонних разработчиков ().Использование электронной почтыPOPIMAPDNSВ работе почтовой системы задействованы пять основных частей:
- пользовательский почтовый клиент,
- почтовый сервер (даемон), пользовательский почтовый клиент
+ (Mail User Agent, MUA),
+ почтовый сервис (даемон)
+ (Mail Transfer Agent, MTA), сервер DNS, удаленный или локальный почтовый ящик,
- и конечно сам почтовый сервер.
+ и конечно сам почтовый сервер.
Пользовательский почтовый клиентОбычно, это программа типа mutt,
pine, elm,
mail, а также программы с графическим
интерфейсом, такие, как balsa или
xfmail, или интегрированные приложения
(например, какой-либо WWW браузер типа Netscape). Все эти программы
общаются с локальным почтовым
сервером, вызывая какой-либо даемон, или напрямую по протоколу
TCP.Почтовый даемонпочтовые даемоныsendmailпочтовые даемоныpostfixпочтовые даемоныqmailпочтовые даемоныexim
- Обычно это sendmail (поставляется
- вместе с FreeBSD), однако, им может быть любая из нижеперечисленных
- программ: qmail,
- postfix или
- exim. Остальные менее
- распространены.
+ &os; по умолчанию поставляется с
+ sendmail, но помимо того поддерживает
+ множество других даемонов почтового сервера, вот лишь некоторые
+ из них:
- Почтовый даемон выполняет только две функции: принимает входящую
- почту и отправляет исходящую. Он не отвечает за выдачу пользователю
+
+
+ exim;
+
+
+
+ postfix;
+
+
+
+ qmail.
+
+
+
+ Почтовый даемон выполняет только две функции: он отвечает за прием
+ входящей почты и отправку исходящей. Он не
+ отвечает за выдачу
почты по протоколам POP или
IMAP, и не обеспечивает подключения к локальным
почтовым ящикам mbox или Maildir. Для этих целей
вам может потребоваться дополнительный
даемон.
- Имейте ввиду, что старые версии
- sendmail имели серьезные проблемы с
- безопасностью, поэтому старайтесь всегда использовать последнюю
- версию. Это правило, кстати, справедливо в отношении практически
- любых программных продуктов.
+
+ Старые версии sendmail содержат
+ некоторые серьезные ошибки безопасности, которые могут
+ привести к получению атакующим локального и/или удаленного
+ доступа к вашему компьютеру. Убедитесь, что вы работаете
+ с современной версией, свободной от таких ошибок.
+ Или установите альтернативный MTA
+ из коллекции портов &os;.
+ Email и DNSСлужба имен доменов (Domain Name System, DNS) и соответствующий
ей даемон named играют важную роль в доставке
почты. Для доставки почты с вашего сайта другому, даемон почтового
- сервера обратится к DNS для определения хоста, отвечающего за
- доставку почты по назначению.
-
- Точно те же действия производятся при доставке почты в ваш
- адрес. DNS содержит базу данных соответствия между именем домена и
- IP адресом, и между именем домена и почтовым сервером. IP адрес
- задается в записи A. Запись MX (Mail eXchanger) указывает
- компьютер, который обрабатывает корреспонденцию для данного домена.
- Если для вашего хоста запись MX отсутствует, почта будет
- доставляться на него непосредственно.
+ сервера обратится к DNS для определения удаленного хоста, отвечающего
+ за доставку почты по назначению. Тот же процесс происходит при
+ доставке почты с удаленного хоста на ваш почтовый сервер.
+
+
+ MX record
+
+
+ DNS отвечает за сопоставления имен хостов
+ IP адресам, как и за хранение информации, предназначенной для
+ доставки почты, известной как MX записи. Запись MX (Mail
+ eXchanger) определяет хост или хосты, которые будут получать почту
+ для определенного домена. Если для вашего имени хоста или домена
+ нет записи MX, почта будет доставлена непосредственно на ваш хост,
+ IP адрес которого определен в записи A.
+
+ Вы можете просмотреть MX записи для любого домена с помощью
+ команды &man.host.1;, как показано в примере ниже:
+
+ &prompt.user; host -t mx FreeBSD.org
+FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.orgПолучение почтыemailполучениеПолучение почты для вашего домена выполняет почтовый сервер.
- Он сохраняет отправленную вам почту в формате либо
- mbox, либо Maildir (в зависимости от настроек)
- для последующего прочтения или сбора. Удаленный доступ к почте
- может быть осуществлен по протоколам POP,
- IMAP, а также путем использования
- установленного на почтовом сервере почтового агента пользователя,
- который будет обращаться к почтовому ящику непосредственно. Это
+ Он сохраняет отправленную в ваш домен почту в формате либо
+ mbox (это метод по умолчанию),
+ либо Maildir, в зависимости от настроек.
+ После сохранения почты ее можно либо прочитать локально, используя
+ такие приложения как &man.mail.1;, mutt,
+ или удаленно, по таким протоколам как POP или
+ IMAP. Это
означает, что для локального чтения почты вам не потребуется
устанавливать сервер POP или
IMAP.Доступ к удаленным почтовым ящикам по протоколам
POP и IMAPPOPIMAPДля удаленного доступа к почтовым ящикам вам потребуется
доступ к POP или IMAP
серверу.
Хотя удаленный доступ обеспечивают оба протокола
POP и IMAP, последний
предоставляет множество дополнительных возможностей, вот некоторые
из них:IMAP может как хранить сообщения на
удаленном сервере, так и забирать их.IMAP поддерживает одновременные
обновления.IMAP может быть очень полезен для
низкоскоростных соединений, поскольку позволяет пользователям
получить структуру сообщений без их загрузки; он также может
- использоваться для выполнения таких задач как поиск на сервере
+ использоваться для выполнения таких задач как поиск на сервере,
для минимизации объема передаваемых между клиентом и сервером
данных.Для установки POP или
IMAP сервера необходимо выполнить следующие
действия:Выберите IMAP или
POP сервер, который подходит вам наилучшим
образом. Следующие POP и
IMAP серверы хорошо известны и могут быть
приведены в качестве примера:qpopper;teapop;imap-uw;courier-imap;Установите POP или
IMAP даемон, выбранный из коллекции
портов.Если потребуется, настройте
/etc/inetd.conf
для запуска POP или
IMAP сервера.Необходимо отметить, что и POP и
IMAP серверы передают информацию, включая
имя пользователя и пароль, в незашифрованном виде. Это означает,
что если вы хотите защитить передачу информации по этим
протоколам, потребуется использовать тунеллирование сессий через
- &man.ssh.1;. Обратитесь к Руководству &os;
- за дополнительной информацией.
+ &man.ssh.1;. Тунеллирование соединений описано в
+ .
Доступ к локальным почтовым ящикамДоступ к почтовым ящикам может быть осуществлен непосредственно
путем использования MUA на сервере, где
эти ящики расположены. Это можно сделать используя приложения
вроде mutt или
- mail.
+ &man.mail.1;.
Почтовый хостпочтовый хостПочтовый хост это сервер, который отвечает за отправку и получение
- почты для вашего компьютера, и возможно для всей вашей сети.
+ почты для вашего компьютера, и возможно, для всей вашей сети.
ChristopherShumwayПредоставил Настройка sendmailsendmailВ FreeBSD по умолчанию программой передачи почты (Mail Transfer
Agent, MTA) является &man.sendmail.8;. Работа
sendmail заключается в приеме почты от
почтовых программ пользователей (Mail User Agents,
MUA) и отправке ее на соответствующий адрес,
в соответствии с имеющимися настройками.
sendmail может также принимать входящие
соединения по сети и доставлять почту в локальные почтовые ящики
или перенаправлять их другой программе.sendmail использует следующие файлы
настройки:/etc/mail/access/etc/mail/aliases/etc/mail/local-host-names/etc/mail/mailer.conf/etc/mail/mailertable/etc/mail/sendmail.cf/etc/mail/virtusertableИмя файлаНазначение/etc/mail/accessФайл базы данных доступа
sendmail/etc/mail/aliasesСинонимы почтовых ящиков/etc/mail/local-host-namesСписок хостов, для которых
sendmail принимает почту/etc/mail/mailer.confНастройки почтовой программы/etc/mail/mailertableТаблица доставки почтовой программы/etc/mail/sendmail.cfОсновной файл настройки
sendmail/etc/mail/virtusertableТаблицы виртуальных пользователей и доменов/etc/mail/accessБаза данных доступа определяет список хостов или IP адресов,
имеющих доступ к локальному почтовому серверу, а также тип
предоставляемого доступа. Хосты могут быть перечислены как
, ,
или просто переданы процедуре обработки ошибок
sendmail с заданным сообщением об ошибке.
Хостам, перечисленным с параметром по умолчанию ,
разрешено отправлять почты на этот хост, если адрес назначения почты
принадлежит локальной машине. Все почтовые соединения от хостов,
перечисленных с параметром , отбрасываются.
Для хостов, перечисленных с параметром ,
разрешена передача через этот сервер почты с любым адресом
назначения.Настройка базы данных доступа
sendmailcyberspammer.com 550 We don't accept mail from spammers
FREE.STEALTH.MAILER@ 550 We don't accept mail from spammers
another.source.of.spam REJECT
okay.cyberspammer.com OK
128.32 RELAYВ этом примере приведены пять записей. К отправителям, чей адрес
соответствует записи в левой части таблицы, применяется правило
записанное в правой части таблицы. В первых двух примерах
код ошибки будет передан процедуре обработке ошибок
sendmail. В этом случае на удаленном хосте
будет получено соответствующее сообщение. В следующем примере почта
отбрасывается почта от определенного хоста,
another.source.of.spam. В четвертом примере
разрешается прием почты от хоста okay.cyberspammer.com, имя которого более точно
совпадает с этой записью, чем с cyberspammer.com в примере выше. При более
точном совпадении правила перезаписываются. В последнем примере
разрешается пересылка почты от хостов с IP адресами, начинающимися
с 128.32. Эти хосты смогут отправлять почту через
этот почтовый сервер для других почтовых серверов.
- После обновления этого файла для обновления базы данных
+ После изменения этого файла для обновления базы данных
вам потребуется запустить make в каталоге
/etc/mail/./etc/mail/aliasesБаза данных синонимов содержит список виртуальных почтовых
- ящиков, принадлежащих другим пользователям, файлам, программам или
+ ящиков, принадлежащих другим пользователям, файлам, программам, или
другим синонимам. Вот несколько примеров, которые могут быть
использованы для /etc/mail/aliases:Mail Aliasesroot: localuser
ftp-bugs: joe,eric,paul
bit.bucket: /dev/null
procmail: "|/usr/local/bin/procmail"Формат файла прост; имя почтового ящика слева от двоеточия
сопоставляется назначению(ям) справа. В первом примере
производится простое сопоставление почтового ящика
root почтовому ящику
localuser, для которого затем опять будет
произведен поиск в базе данных синонимов. Если совпадений не
обнаружится, сообщение будет доставлено локальному пользователю
localuser. В следующем примере приведен
список рассылки. Почта на адрес ftp-bugs
рассылается на три локальных почтовых ящика: joe,
eric и paul. Обратите
внимание, что удаленный почтовый ящик может быть задан в виде
user@example.com. В следующем примере
показана запись почты в файл, в данном случае
/dev/null. И в последнем примере показано
отправление почты программе, в данном случае почтовое сообщение
переправляется через канал &unix; на стандартный вход
/usr/local/bin/procmail.После обновления этого файла вам потребуется запустить
make в каталоге /etc/mail/
для обновления базы данных./etc/mail/local-host-namesВ этом файле находится список имен хостов, принимаемых
программой &man.sendmail.8; в качестве локальных. Поместите в
этот файл любые домены или хосты, для которых
sendmail должен принимать почту.
Например, если этот почтовый сервер должен принимать почту для
домена example.com и хоста
mail.example.com, его файл
local-host-names может выглядеть примерно
так:example.com
mail.example.comПосле обновления этого файла необходимо перезапустить
&man.sendmail.8;, чтобы он смог перечитать изменения./etc/mail/sendmail.cfОсновной файл настройки sendmail,
sendmail.cf управляет общим поведением
sendmail, включая все, от перезаписи
почтовых адресов до отправки удаленным серверам сообщений об
отказе от пересылки почты. Конечно, файл настройки с таким
многообразием возможностей очень сложен и подробное его описание
выходит за рамки данного раздела. К счастью, для стандартных
почтовых серверов изменять этот файл придется не часто.Основной файл настройки sendmail
может быть собран из макроса &man.m4.1;, определяющего возможности
и поведение sendmail. Подробнее
этот процесс описан в файле
/usr/src/contrib/sendmail/cf/README.Для применения изменений после правки файла необходимо
перезапустить sendmail./etc/mail/virtusertableФайл virtusertable сопоставляет виртуальные
почтовые домены и почтовые ящики реальным почтовым ящикам. Эти
почтовые ящики могут быть локальными, удаленными, синонимами,
определенными в /etc/mail/aliases, или
файлами.Пример таблицы виртуального доменаroot@example.com root
postmaster@example.com postmaster@noc.example.net
@example.com joeВ примере выше мы видим сопоставление адресов для домена
example.com. Почта
обрабатывается по первому совпадению с записью в этом файле.
Первая запись сопоставляет адрес root@example.com
локальному почтовому ящику root.
Вторая запись сопоставляет postmaster@example.com
локальному почтовому ящику postmaster
на хосте noc.example.net. Наконец,
до этого момента адрес в домене example.com не совпал ни с одним из
предыдущих, будет применено последнее сопоставление, в которому
соответствует всякое другое почтовое сообщение, отправленное на любой
адрес в example.com. Это сообщение
будет доставлено в локальный почтовый ящик
joe.AndrewBoothmanНаписал GregoryNeil ShapiroИнформация получена из писем, написанных Установка другой почтовой программыemailзамена mtaКак уже упоминалось, FreeBSD поставляется с MTA (Mail Transfer Agent)
sendmail. Следовательно, по умолчанию
именно эта программа отвечает за вашу исходящую и входящую
почту.Однако, по различным причинам некоторые системные администраторы
заменяют системный MTA. Эти причины варьируются от простого желания
попробовать другой MTA до потребности в определенных возможностях
пакета, основанного на другой почтовой программе. К счастью, вне
зависимости от причины, в FreeBSD такая замена выполняется
просто.Установка нового MTAВам предоставлен широкий выбор MTA. Начните с поиска в
коллекции портов FreeBSD,
где их немало. Конечно, вы можете использовать любой MTA
по желанию, взятый откуда угодно, если только сможете
запустить его под FreeBSD.Начните с установки нового MTA. После установки у вас будет
возможность решить, действительно ли он подходит вашем нуждам,
а также настроить новое программное обеспечение перед тем, как
заменить им sendmail. При установке
новой программы убедитесь, что она не пытается перезаписать
системные файлы, такие как /usr/bin/sendmail.
Иначе ваша новая почтовая программа фактически начнет работать
до того, как вы ее настроите.Обратитесь к документации на выбранный MTA
за информацией по его настройке.Отключение sendmailПроцедура, используемая для запуска
sendmail, значительно изменилась между
релизами 4.5-RELEASE и 4.6-RELEASE. Поэтому процедура, используемая
- для его отключения немного отличается.
+ для его отключения, немного отличается.
FreeBSD 4.5-STABLE до 2002/4/4 и раньше
(включая 4.5-RELEASE и более ранние)Добавьте:sendmail_enable="NO"в /etc/rc.conf. Это отключит
сервис входящей почты sendmail,
но если /etc/mail/mailer.conf (см. ниже)
не изменен, sendmail все еще
будет использоваться для отправки почты.FreeBSD 4.5-STABLE после 2002/4/4
(включая 4.6-RELEASE и более поздние)Для полного отключения
sendmail используйтеsendmail_enable="NONE"в /etc/rc.conf.Если вы отключите сервис исходящей почты
sendmail таким способом, необходимо
заменить его полностью работоспособной альтернативной системой
доставки почты. Если вы не сделаете этого, системные программы,
такие как &man.periodic.8;, не смогут отправлять сообщения
по электронной почте как обычно. Многие программы в вашей
системе могут требовать наличия функционирующей
sendmail-совместимой системы.
Если приложения будут продолжать использовать программу
sendmail, пытаясь отправить почту
после отключения почтовой системы, почта может попасть в
неактивную очередь sendmail и никогда
не будет доставлена.Если вы хотите отключить только сервис входящей почты
sendmail, установитеsendmail_enable="NO"в /etc/rc.conf. Дополнительная информация
о параметрах запуска sendmail
доступна на странице справочника &man.rc.sendmail.8;.Запуск нового MTA при загрузкеВы можете выбрать один из двух методов для запуска нового MTA
при загрузке, опять же в зависимости от используемой версии
FreeBSD.FreeBSD 4.5-STABLE до 2002/4/11
(включая 4.5-RELEASE и более ранние)Добавьте в каталог
/usr/local/etc/rc.d/, скрипт с расширением
.sh и с правами выполнения пользователем
root. Скрипт должен принимать параметры
start и stop.
Во время запуска системы он будет запущен командой/usr/local/etc/rc.d/supermailer.sh startкоторая также может использоваться для запуска сервера вручную
Во время завершения работы системы, системные скрипты используют
параметр stop, выполнив команду/usr/local/etc/rc.d/supermailer.sh stopкоторая также может использоваться для остановки почтового сервера
при работающей системе.FreeBSD 4.5-STABLE после 2002/4/11
(включая 4.6-RELEASE и более поздние)С более поздними версиями FreeBSD, вы можете использовать
метод, описанный выше, или добавить строкуmta_start_script="filename"в /etc/rc.conf, где
filename это имя скрипта, который вы
хотите выполнить при загрузке для запуска MTA.Замещение sendmail как
почтовой программы по умолчаниюПрограмма sendmail настолько
распространена в качестве стандартной программы для систем &unix;,
что многие программы считают, что она уже установлена и настроена.
По этой причине многие альтернативные MTA предоставляют собственные
совместимые реализации интерфейса командной строки
sendmail; это облегчает их использование
в качестве прозрачной замены
sendmail.Поэтому если вы используете альтернативную почтовую программу,
потребуется убедиться, что когда программное обеспечение
пытается выполнить стандартные исполняемые файлы
sendmail, такие как
/usr/bin/sendmail, на самом деле выполняются
программы вновь установленной почтовой системы. К счастью,
FreeBSD предоставляет систему, называемую &man.mailwrapper.8;,
которая выполняет эту работу за вас.Когда установлен sendmail,
файл /etc/mail/mailer.conf выглядит
примерно так:sendmail /usr/libexec/sendmail/sendmail
send-mail /usr/libexec/sendmail/sendmail
mailq /usr/libexec/sendmail/sendmail
newaliases /usr/libexec/sendmail/sendmail
hoststat /usr/libexec/sendmail/sendmail
purgestat /usr/libexec/sendmail/sendmailЭто означает, что когда выполняется какая-то из этих стандартных
программ (например сам sendmail), система на
самом деле вызывает копию mailwrapper, называемую
sendmail, которая обращается к
mailer.conf и выполняет вместо этого
/usr/libexec/sendmail/sendmail.
- Такая система делает простой замену программ, которые на самом деле
+ Такая схема делает простой замену программ, которые на самом деле
выполняются, когда вызываются стандартные функции
sendmail.Поэтому если вы хотите выполнять
/usr/local/supermailer/bin/sendmail-compat
вместо sendmail, отредактируйте
/etc/mail/mailer.conf так:sendmail /usr/local/supermailer/bin/sendmail-compat
send-mail /usr/local/supermailer/bin/sendmail-compat
mailq /usr/local/supermailer/bin/mailq-compat
newaliases /usr/local/supermailer/bin/newaliases-compat
hoststat /usr/local/supermailer/bin/hoststat-compat
purgestat /usr/local/supermailer/bin/purgestat-compatЗапуск новой почтовой программыКак только вы все настроили, потребуется или уничтожить
процесс sendmail, который уже не
нужен и запустить новую почтовую программу, или просто перегрузить
- систему. Перезагрузка также даст вам возможность проверить
+ систему. Перезагрузка также даст вам возможность проверить,
правильно ли настроена система для автоматического запуска
MTA при загрузке.Поиск и устранение неисправностейemailустранение неисправностейПочему я должен использовать FQDN для хостов вне моей подсети?Вы, видимо, обнаружили, что хост, к которому вы обратились,
оказался на самом деле в другом домене; например, если вы
находитесь в домене foo.bar.edu и
хотите обратиться к хосту mumble в домене bar.edu, то должны указать его полное
доменное имя, mumble.bar.edu, а не
просто mumble.BINDТрадиционно, программа разрешения имен BSD BIND позволяла это
делать. Однако, текущая версия BIND,
поставляемая с FreeBSD, больше не добавляет имена доменов,
отличающихся от того, в котором вы находитесь, для не полностью
указанных имен хостов. То есть, имя mumble будет
опознан как mumble.foo.bar.edu или
будет искаться в корневом домене.Это отличается от предыдущего поведения, при котором поиск
продолжался в доменах mumble.bar.edu и mumble.edu. Если вам интересны причины
объявления такого поведения плохой практикой и даже ошибкой в
безопасности, обратитесь к RFC 1535.Хорошим решением будет поместить строку
search foo.bar.edu bar.edu
вместо ранее используемой:
domain foo.bar.edu
в файл /etc/resolv.conf. Однако
удостоверьтесь, что порядок поиска не нарушает границ
полномочий между локальным и внешним администрированием, в
терминологии RFC 1535.
+
+ MX record
+
+
sendmail выдает ошибку
mail loops back to myselfВ FAQ по sendmail дан следующий ответ:
- Выдаются сообщения Local configuration error, например:
+ Я получаю такие сообщения об ошибке:
-553 relay.domain.net config error: mail loops back to myself
+553 MX list for domain.net points back to relay.domain.net
554 <user@domain.net>... Local configuration error
Как можно решить эту проблему?
Согласно записям MX, почта для домена domain.net перенаправляется на хост
relay.domain.net, однако последний не распознается как
domain.net. Добавьте domain.net в файл
-/etc/mail/local-host-names (если вы используете
+/etc/mail/local-host-names
+[известный как /etc/sendmail.cw до версии 8.10]
+(если вы используете
FETURE(use_cw_file)) или добавьте Cw domain.net в файл
/etc/mail/sendmail.cf.FAQ по sendmail можно найти на
- и рекомендуется
+ и рекомендуется
прочесть его при желании произвести некоторые
усовершенствования настроек почтовой системы.PPPКак организовать работу почтового сервера при коммутируемом соединении
с Интернет?Вы хотите подключить к интернет компьютер с FreeBSD, работающий
в локальной сети. Компьютер с FreeBSD будет почтовым шлюзом
для локальной сети. PPP соединение не выделенное.UUCP
+
+ MX record
+ Существует как минимум два пути, чтобы сделать это. Один способ
это использование UUCP.Другой способ это использование постоянно работающего интернет
сервера для обеспечения вторичного MX сервиса вашего домена.
Например, домен вашей компании example.com, и провайдер интернет
настроил example.net
для обеспечения вторичного MX сервиса:
example.com. MX 10 example.com.
MX 20 example.net.Только один хост должен быть указан в качестве последнего
получателя (добавьте запись Cw example.com в файл
/etc/mail/sendmail.cf на машине
example.com).Когда программа sendmail (со стороны
отправителя) захочет доставить почту, она
попытается соединиться с вашим хостом (example.com) через модемное подключение.
Скорее всего, ей это не удастся (вы,
вероятнее всего, не будете подключены к интернет).
Программа sendmail
автоматически перейдет ко вторичному MX серверу, т.е. вашему провайдеру
(example.net).
Вторичный MX сервер будет периодически пытаться соединиться с
вашим хостом и доставить почту на основной сервер MX
(example.com).Вы можете воспользоваться следующим сценарием, чтобы забирать
почту каждый раз, когда вы входите в систему:#!/bin/sh
# Put me in /usr/local/bin/pppmyisp
( sleep 60 ; /usr/sbin/sendmail -q ) &
/usr/sbin/ppp -direct pppmyispЕсли же вы хотите написать отдельный пользовательский скрипт,
лучше воспользоваться командой sendmail
-qRexample.com вместо вышеприведенного сценария, так как в
этом случае вся почта в очереди для хоста
example.com будет обработана
немедленно.Рассмотрим эту ситуацию подробнее:
- Вот пример сообщения от &a.isp;.
+ Вот пример сообщения из &a.isp.name;.> Мы предоставляем вторичный MX для наших клиентов. Вы соединяетесь
> с нашим сервером несколько раз в день, чтобы забрать почту для вашего
> первичного (главного) MX (мы не соединяемся с ним каждый раз, когда
> приходит новая почта для его доменов). Далее, sendmail отправляет
> почту, находящуюся в очереди каждые 30 минут, и клиент должен быть
> подключен к Интернет в течении 30 минут, чтобы удостовериться, что
> вся почта ушла на основной MX-сервер.
>
> Может быть, есть какая-либо команда, которая заставит sendmail
> немедленно отправить все почту, находящуюся в очереди? Естественно,
> пользователи не обладают какими-либо повышенными привилегиями на
> нашем сервере.
В секции privacy flags файла
sendmail.cf, определяется опция
Уберите restrictqrun, чтобы разрешить рядовым
пользователям инициировать работу с очередью. Вам также может понадобиться
изменить порядок MX-серверов. Так, если вы предоставляете первый (основной)
MX-сервер для ваши пользователей, мы указываем:
# If we are the best MX for a host, try directly instead of generating
# local config error.
OwTrue
Таким образом, удаленный хост будет доставлять почту непосредственно к вам,
не пытаясь установить соединение с клиентом. Затем уже вы, в свою очередь,
отсылаете ее клиенту. Удостоверьтесь, что в DNS есть записи про
customer.com и hostname.customer.com. Просто
добавьте запись A в DNS для customer.com.Почему я продолжаю получать ошибки Relaying
Denied при отправки почты через другие
хосты?В установке FreeBSD по умолчанию,
sendmail настроен для отправки
почты только от хоста, на котором он работает. Например,
если доступен POP сервер, пользователи
смогут проверять почту из школы, с работы или других
удаленных точек, но не смогут отправлять письма. Обычно,
через некоторое время после попытки будет отправлено письмо
от MAILER-DAEMON с сообщением
об ошибке 5.7 Relaying Denied.Есть несколько путей разрешения этой ситуации. Самый прямой
путь это использование адреса вашего провайдера в файле
relay-domains, расположенном в
/etc/mail/relay-domains. Быстрый способ
сделать это:&prompt.root; echo "your.isp.example.com" > /etc/mail/relay-domainsПосле создания или редактирования этого файла вы должны
перезапустить sendmail. Это отлично
работает, если вы администратор сервера и не хотите отправлять
почту локально, или хотите воспользоваться почтовым
клиентом/системой на другом компьютере или даже через другого
провайдера. Это также очень полезно, если у вас настроены одна
или две почтовые записи. Если необходимо добавить несколько
адресов, вы можете просто открыть этот файл в текстовом редакторе и
добавить домены, по одному на строку:your.isp.example.com
other.isp.example.net
users-isp.example.org
www.example.orgТеперь будет отправляться любая почта, посылаемая через вашу
систему любым хостом из этого списка (предоставляемого
пользователем, имеющим учетную запись в вашей системе).
Это отличный способ разрешить пользователям отправлять почту
через вашу систему удаленно, одновременно он блокирует отправку
спама.Расширенное руководствоВ следующем разделе рассматриваются более сложные темы, такие как
настройка почты и включение почтовой системы для всего домена.Базовая конфигурацияemailнастройкаИзначально, вы можете отправлять почту во внешний
мир если правильно составлен файл
/etc/resolv.conf или запущен свой сервер
имен. Если вы хотите, чтобы почта, предназначенная для хоста в
вашем домене, доставлялась MTA (например,
sendmail) на вашем хосте FreeBSD, есть два
пути:Запустите свой собственный сервер DNS, тем самым организовав
собственный домен, например, FreeBSD.orgПолучайте почту для вашего хоста непосредственно. Это
работает при доставке почты непосредственно на DNS имя вашей
машины. Например, example.FreeBSD.org.SMTPНезависимо от выбранного из предложенных выше вариантов, для
доставки почты непосредственно на ваш хост у него должен быть
постоянный IP адрес (а не динамический,
как у большинства PPP соединений). Если вы находитесь за
брандмауэром, то последний должен пропускать SMTP-пакеты. Если
вы хотите, чтобы почта приходила непосредственно на ваш
хост, необходимо убедиться в одном из двух:MX recordУбедитесь, что запись (с наименьшим номером) MX в
DNS соответствует IP адресу
вашего хоста.Убедитесь, что в DNS для вашего хоста вообще отсутствует
MX-запись.Выполнение любого из перечисленных условий обеспечит доставку
почты для вашего хоста.Попробуйте это:&prompt.root; hostname
example.FreeBSD.org
&prompt.root; host example.FreeBSD.org
example.FreeBSD.org has address 204.216.27.XXЕсли вы это видите, то можно без проблем посылать почту на
yourlogin@example.FreeBSD.org (предполагается,
что sendmail на example.FreeBSD.org работает правильно).Однако, если вы видите это:&prompt.root; host example.FreeBSD.org
example.FreeBSD.org has address 204.216.27.XX
example.FreeBSD.org mail is handled (pri=10) by hub.FreeBSD.orgто вся почта, посланная на example.FreeBSD.org будет собираться на
hub (для того же пользователя), вместо того, чтобы
быть отосланной непосредственно на ваш хост.Эта информация обрабатывается вашим DNS сервером. Соответствующая
запись DNS, указывающая, через какой хост будет проходить ваша
- почта, называется MX (от англ. Mail
+ почта, называется MX (Mail
eXchanger). Если для хоста отсутствует такая
запись, почта будет приходить прямо на этот хост.Допустим, что запись MX для хоста freefall.FreeBSD.org в какой-то момент
выглядела так:freefall MX 30 mail.crl.net
freefall MX 40 agora.rdrop.com
freefall MX 10 freefall.FreeBSD.org
freefall MX 20 who.cdrom.comВы видите, что для хоста freefall существуют
несколько MX-записей. Запись с наименьшим номером соответствует
хосту, получающему почту непосредственно, если он доступен; если
он недоступен по каким-то причинам, другие сервера (иногда называемые
(резервными MX) временно получают почту, и хранят ее
пока не станут доступны хосты с меньшими номерами, в конечном итоге
отправляя почту на эти хосты.Чтобы альтернативные MX-хосты использовались наиболее
эффективно, они должны быть независимо подключены к Интернет. Ваш
провайдер (или дружественный сайт) скорее всего без проблем сможет
оказать подобные услуги.Почта для вашего домена
- Для настройки почтового хоста (a.k.a. почтовый
+ Для настройки почтового хоста (почтовый
сервер) вам потребуется, чтобы почта, направляемая различным рабочим
станциям, пересылалась этому хосту. Обычно вам необходима
доставка всей почты для любого хоста вашего домена (в данном случае
*.FreeBSD.org) на почтовый сервер, чтобы
пользователи могли получать свою почту на с этого сервера.DNSЧтобы облегчить себе (и другим) жизнь, создайте на обеих машинах
учетные записи с одинаковыми именами пользователей, например, с помощью
команды &man.adduser.8;.Сервер, который вы будете использовать в качестве почтового,
должен быть объявлен таковым для каждой машины в домене. Вот
фрагмент примерной конфигурации:example.FreeBSD.org A 204.216.27.XX ; Рабочая станция
MX 10 hub.FreeBSD.org ; Почтовый шлюзТаким образом, вся корреспонденция, адресованная рабочей
станции, будет обрабатываться вашим почтовым сервером, независимо от
того, что указано в A-записи.Все это можно реализовать только в том случае, если вы
используете сервер DNS. Если вы по каким-либо причинам не имеете
возможности установить свой собственный сервер имен, необходимо
договориться с провайдером или теми, кто поддерживает ваш
DNS.Если вы хотите поддерживать несколько виртуальных почтовых
серверов, может пригодиться следующая информация. Допустим, что
ваш клиент зарезервировал домен, например, customer1.org, и вам требуется, чтобы
почта, предназначенная для customer1.org приходила на ваш хост,
например, mail.myhost.com. В таком
случае, DNS должен выглядеть так:customer1.org MX 10 mail.myhost.comЗаметьте, что если вам требуется только получать почту для
домена, соответствующая A-запись не
нужна.Помните, что если вы попытаетесь каким-либо образом обратиться
к хосту customer1.org, у вас
вряд ли что-либо получится, если нет A-записи для этого
хоста.Последнее, что вы должны сделать – это сказать программе
sendmail, для каких доменов и/или хостов
она должна принимать почту. Это можно сделать несколькими
способами:Добавьте названия этих хостов в файл
/etc/mail/local-host-names, если вы используете
FEATURE(use_cw_file). Если у вас
sendmail
версии ниже 8.10, необходимо отредактировать файл
/etc/sendmail.cw.Добавьте строку Cwyour.host.com в файл
/etc/sendmail.cf или
/etc/mail/sendmail.cf (если у вас
sendmail
версии 8.10 или более поздней).SMTP через UUCPНастройка поставляемого с FreeBSD sendmail
предназначена для сайтов, подключенных к интернет непосредственно.
Сайты, осуществляющие обмен почтой через UUCP, должны использовать
другой файл настройки sendmail.Редактирование /etc/mail/sendmail.cf вручную
это сложная задача. sendmail версии 8
генерирует файлы настройки через препроцессор &man.m4.1;, реально
настройка выполняется на более высоком уровне абстракции.
Файлы настройки &man.m4.1; можно найти в
/usr/src/usr.sbin/sendmail/cf.Если вы не установили в систему все исходные тексты, пакет настройки
sendmail можно найти в отдельном архиве
исходных текстов. Если CDROM с исходными текстами
FreeBSD смонтирован, выполните:&prompt.root; cd /cdrom/src
&prompt.root; cat scontrib.?? | tar xzf - -C /usr/src/contrib/sendmailЭта установка займет всего несколько сотен килобайт. Файл
README в каталоге cf
содержит введение в основы настройки &man.m4.1;.Лучшим способом настройки поддержки передачи по UUCP является
использование возможности mailertable.
При этом создается база данных, которая помогает
sendmail решать вопросы маршрутизации.Во-первых, создайте файл .mc. В каталоге
/usr/src/usr.sbin/sendmail/cf/cf находятся
несколько примеров. Возьмем для примера имя файла
foo.mc. Все, что потребуется для преобразования
его в sendmail.cf, это:&prompt.root; cd /usr/src/usr.sbin/sendmail/cf/cf
&prompt.root; make foo.cf
&prompt.root; cp foo.cf /etc/mail/sendmail.cfТипичный .mc файл может выглядеть примерно
так:VERSIONID(`Your version number') OSTYPE(bsd4.4)
FEATURE(accept_unresolvable_domains)
FEATURE(nocanonify)
FEATURE(mailertable, `hash -o /etc/mail/mailertable')
define(`UUCP_RELAY', your.uucp.relay)
define(`UUCP_MAX_SIZE', 200000)
define(`confDONT_PROBE_INTERFACES')
MAILER(local)
MAILER(smtp)
MAILER(uucp)
Cw your.alias.host.name
Cw youruucpnodename.UUCPСтроки, содержащие
accept_unresolvable_domains,
nocanonify, и
confDONT_PROBE_INTERFACES, предотвратят использование
DNS для доставки почты. Пункт UUCP_RELAY
необходим для поддержки доставки по UUCP. Просто поместите сюда
имя хоста в интернет, способного работать с .UUCP адресами
псевдо-доменов; скорее всего, вы введете сюда основной сервер
пересылки почты провайдера.Как только вы сделаете это, потребуется файл
/etc/mail/mailertable. Если вы используете
для всей почты только одно внешнее соединение, подойдет следующий
файл:#
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
. uucp-dom:your.uucp.relayБолее сложный пример может выглядеть так:#
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
#
horus.interface-business.de uucp-dom:horus
.interface-business.de uucp-dom:if-bus
interface-business.de uucp-dom:if-bus
.heep.sax.de smtp8:%1
horus.UUCP uucp-dom:horus
if-bus.UUCP uucp-dom:if-bus
. uucp-dom:В первых трех строках обрабатываются специальные случаи, когда
почта для домена должна отправляться не на маршрут по умолчанию,
а на ближайшее соединение UUCP для сокращения пути доставки.
Следующая строка обрабатывает почту, которая может быть доставлена
по SMTP для локального Ethernet домена. Наконец, определены
маршруты UUCP в нотации псевдо-доменов .UUCP, для включения
перезаписи правил по умолчанию правилом
uucp-neighbor
!recipient.
Последняя строка всегда содержит одиночную точку, означающую
все остальное, с отправкой через UUCP, являющимся
универсальным почтовым шлюзом. Все имена узлов после ключевого слова
uucp-dom: должны представлять существующие маршруты
UUCP, проверить их можно с помощью команды
uuname.Напоминаем, что этот файл должен быть преобразован в базу данных
DBM перед использованием. Командную строку для этой задачи лучше всего
поместить в качестве комментария в верхней части файла
mailertable. Всегда выполняйте эту команду после
правки файла mailertable.И наконец: если вы не уверены, что некоторые отдельные почтовые
маршруты будут работать, запомните параметр
sendmail . С этим
параметром sendmail запускается в
режиме тестирования адреса; просто введите
3,0 и адрес, который вы хотите протестировать.
В последней строке появится сообщение об используемом внутреннем
почтовом агенте, хосте назначения, с которым вызывается этот агент,
и (возможно транслированный) адрес. Выход из этого режима
происходит при нажатии CtrlD.&prompt.user; sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
>3,0 foo@example.com
canonify input: foo @ example . com
...
parse returns: $# uucp-dom $@ your.uucp.relay $: foo < @ example . com . >
>^DBillMoranПредоставил Настройка почты только для отправкиСуществует множество случаев, когда может потребоваться только
отправка почты через почтовый сервер. Вот отдельные примеры:У вас настольный компьютер, но вы хотите использовать такие
программы как &man.send-pr.1;. Для пересылки почты вам потребуется
использовать почтовый сервер провайдера.Ваш компьютер является сервером, где почта не хранится локально,
необходима только переправка всей почты через внешний почтовый
сервер.Практически любой MTA способен работать и в
этих условиях. К сожалению, может быть очень сложно правильно настроить
полноценный MTA для работы только с исходящей
почтой. Такие программы, как sendmail
и postfix слишком избыточны для этих
целей.К тому же, если вы используете обычные средства доступа в
интернет, условий для запуска почтового сервера может
быть недостаточно.Простейшим способом удовлетворить имеющиеся потребности может быть
установка порта mail/ssmtp.
Выполните под root следующие команды:
- &prompt.root; cd /usr/ports/mail/ssmtp
- &prompt.root; make install replace clean
+ &prompt.root; cd /usr/ports/mail/ssmtp
+&prompt.root; make install replace cleanПосле установки потребуется настроить
mail/ssmtp с помощью файла из
четырех строк, расположенного в
/usr/local/etc/ssmtp/ssmtp.conf:root=yourrealemail@example.com
mailhub=mail.example.com
rewriteDomain=example.com
hostname=_HOSTNAME_Убедитесь, что используете существующий почтовый адрес для
root. Введите сервер вашего провайдера для
пересылки исходящей почты вместо mail.example.com (некоторые провайдеры
называют его сервером исходящей почты или
SMTP сервером).Убедитесь, sendmail выключен путем
добавления строки sendmail_enable="NONE"
в /etc/rc.conf.У пакета mail/ssmtp имеются
и другие параметры. Обратитесь к файлу с примером настройки
в /usr/local/etc/ssmtp или к странице справочника
ssmtp за примерами и дополнительной
информацией.Установка ssmtp таким способом
позволит правильно работать любым программам на вашем компьютере,
которым требуется отправка почты, но не нарушит политику вашего
провайдера и не позволит вашему компьютеру быть использованным
спамерами.Использование почты с коммутируемым соединениемЕсли у вас есть статический IP, настройки по умолчанию менять
не потребуется. Установите имя хоста в соответствии с присвоенным
именем интернет и sendmail будет делать
свою работу.Если у вас динамический IP адрес и используется коммутируемое
PPP соединение с интернет, у вас возможно уже есть почтовый ящик
на сервере провайдера. Предположим, что домен провайдера называется
example.net, и что ваше
имя пользователя user, ваш компьютер называется
bsd.home, и провайдер сообщил вам, что
возможно использование relay.example.net в качестве сервера для пересылки
почты.Для получения почты из почтового ящика необходима установка
соответствующей программы. Хорошим выбором является
утилита fetchmail, она поддерживает
множество различных протоколов. Эта программа доступна в виде
пакета или из коллекции портов (mail/fetchmail). Обычно провайдер
предоставляет доступ по протоколу POP. Если
вы работаете с пользовательским PPP, то можете
автоматически забирать почту после установления соединения с
интернет с помощью следующей записи в
/etc/ppp/ppp.linkup:MYADDR:
!bg su user -c fetchmailЕсли вы используете sendmail (как
показано ниже) для доставки почты к не-локальным учетным записям,
вам возможно потребуется обработка почтовой очереди
sendmail сразу после установки
соединения с интернет. Для выполнения этой работы поместите
в /etc/ppp/ppp.linkup следующую команду
сразу после fetchmail: !bg su user -c "sendmail -q"Предполагается, что учетная запись для
user существует на bsd.home. В домашнем каталоге
user на bsd.home, создайте файл
.fetchmailrc:poll example.net protocol pop3 fetchall pass MySecretЭтот файл не должен быть доступен на чтение никому, кроме
user, поскольку в нем находится пароль
MySecret.Для отправки почты с правильным заголовком
from:, вам потребуется сообщить
sendmail использовать
user@example.net вместо
user@bsd.home. Вы можете также указать
sendmail отправлять почту через relay.example.net, для более быстрой пересылки
почты.Должен подойти следующий файл .mc:VERSIONID(`bsd.home.mc version 1.0')
OSTYPE(bsd4.4)dnl
FEATURE(nouucp)dnl
MAILER(local)dnl
MAILER(smtp)dnl
Cwlocalhost
Cwbsd.home
MASQUERADE_AS(`example.net')dnl
FEATURE(allmasquerade)dnl
FEATURE(masquerade_envelope)dnl
FEATURE(nocanonify)dnl
FEATURE(nodns)dnl
define(`SMART_HOST', `relay.example.net')
Dmbsd.home
define(`confDOMAIN_NAME',`bsd.home')dnl
define(`confDELIVERY_MODE',`deferred')dnlОбратитесь к предыдущему разделу за информацией о том, как
преобразовать этот файл .mc в файл
sendmail.cf. Не забудьте также перезапустить
sendmail после обновления
sendmail.cf.
+
+
+
+ James
+ Gorham
+ Написал
+
+
+
+
SMTP аутентификацияНаличие SMTP аутентификации на почтовом сервере
дает множество преимуществ. SMTP аутентификация
может добавить дополнительный уровень безопасности к
sendmail, и позволяет мобильным пользователям,
подключающимся к разным хостам, возможность использовать тот же
почтовый сервер без необходимости перенастройки почтового клиента
при каждом подключении.Установите security/cyrus-sasl
из портов. Вы можете найти этот порт в
security/cyrus-sasl.
В пакете security/cyrus-sasl
есть множество параметров компиляции, и для используемого здесь
метода убедитесь, что выбран параметр
.После установки
security/cyrus-sasl,
отредактируйте /usr/local/lib/sasl/Sendmail.conf
(или создайте его если он не существует) и добавьте следующую
строку:pwcheck_method: passwdЭтот метод включит аутентификацию
sendmail через базу данных
passwd FreeBSD. Это позволяет избежать
проблем, связанных с созданием нового набора имен пользователей
и паролей для каждого пользователя, которому необходима
SMTP аутентификация, пароль для входа в систему
и для отправки почты будет одним и тем же.Теперь отредактируйте /etc/make.conf и
добавьте следующие строки:SENDMAIL_CFLAGS=-I/usr/local/include/sasl1 -DSASL
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsaslЭти параметры необходимы sendmail
для подключения cyrus-sasl
во время компиляции. Убедитесь, что cyrus-sasl был установлен до
перекомпиляции sendmail.Перекомпилируйте sendmail, выполнив
следующие команды:&prompt.root; cd /usr/src/usr.sbin/sendmail
&prompt.root; make cleandir
&prompt.root; make obj
&prompt.root; make
&prompt.root; make installКомпиляция sendmail должна пройти
без проблем, если /usr/src не был сильно
изменен и доступны необходимые разделяемые библиотеки.После компилирования и переустановки
sendmail, отредактируйте файл
/etc/mail/freebsd.mc (или тот файл, который
используется в качестве .mc; многие
администраторы используют в качестве имени этого файла
вывод &man.hostname.1; для обеспечения уникальности).
Добавьте к нему следующие строки:dnl set SASL options
TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
define(`confDEF_AUTH_INFO', `/etc/mail/auth-info')dnlЭти параметры настраивают различные методы, доступные
sendmail для аутентификации пользователей.
Если вы хотите использовать вместо
pwcheck другой метод, обратитесь к
прилагаемой документации.Наконец, запустите &man.make.1; в каталоге
/etc/mail. Из файла
.mc будет создан файл
.cf, называющийся
freebsd.cf (или с тем именем, которое было
использовано для файла .mc). Затем
используйте команду make install restart,
которая скопирует файл в sendmail.cf,
и правильно перезапустит sendmail.
Дополнительная информация об этом процессе находится в
/etc/mail/Makefile.Если все шаги пройдены успешно, введите информацию для
аутентификации в настройки почтового клиента и отправьте тестовое
сообщение. Для определения причин возможных ошибок установите
параметр sendmail
в 13 и просмотрите
/var/log/maillog.Для включения сервиса после каждой загрузки системы вам может
потребоваться добавление в /etc/rc.conf
следующих строк:sasl_pwcheck_enable="YES"
sasl_pwcheck_program="/usr/local/sbin/pwcheck"Эти строки инициализируют SMTP_AUTH при загрузке
системы.За дальнейшей информацией обратитесь к странице
sendmail, посвященной
SMTP аутентификации.MarcSilverПредоставил Почтовые программы пользователейпочтовые программы пользователейПочтовая программа пользователя (Mail User Agent,
MUA) это приложение, используемое для отправки
и получения почты. Кроме того, поскольку почта
эволюционирует и становится более сложной,
MUA совершенствуют свои функции по обработке
почты, становятся более удобны в использовании. &os; поддерживает
множество различных пользовательских почтовых программ, каждая
из которых может быть легко установлена из коллекции портов FreeBSD. Пользователи могут
выбирать между графическими почтовыми клиентами, такими как
evolution или
balsa, консольными клиентами, такими
как mutt, pine
или mail, или веб интерфейсами, используемыми в
некоторых больших организациях.mailВ &os; в качестве MUA по умолчанию используется
&man.mail.1;. Это консольный MUA, предоставляющий
все основные функции, необходимые для отправки и получения текстовых
сообщений, хотя его возможности по работе с вложениями ограничены и
он может работать только с локальными почтовыми ящиками.Хотя mail не поддерживает работу с серверами
POP или IMAP, эти почтовые
ящики могут быть загружены в локальный файл mbox
с помощью fetchmail, который будет
обсуждаться далее в этой главе.Для отправки и получения почты просто выполните команду
mail, как в этом примере:&prompt.user; mailСодержимое почтового ящика в каталоге
/var/mail/ будет автоматически
прочитано утилитой mail. Если почтовый ящик
пуст, утилита завершит работу с сообщением о том, что почта не
была обнаружена. После чтения почтового ящика запустится
интерфейс программы и будет отображен список сообщений. Сообщения
нумеруются автоматически и будут выглядеть как в этом примере:Mail version 8.1 6/6/93. Type ? for help.
"/var/mail/marcs": 3 messages 3 new
>N 1 root@localhost Mon Mar 8 14:05 14/510 "test"
N 2 root@localhost Mon Mar 8 14:05 14/509 "user account"
N 3 root@localhost Mon Mar 8 14:05 14/509 "sample"Теперь сообщения могут быть прочитаны с помощью команды
t, завершаемой номером сообщения, которое должно
быть отображено. В этом примере мы прочтем первое сообщение:
- & t 1
+ & t 1
Message 1:
From root@localhost Mon Mar 8 14:05:52 2004
X-Original-To: marcs@localhost
Delivered-To: marcs@localhost
To: marcs@localhost
Subject: test
Date: Mon, 8 Mar 2004 14:05:52 +0200 (SAST)
From: root@localhost (Charlie Root)
This is a test message, please reply if you receive it.Как видно в примере выше, клавиша t выводит
сообщение со всеми заголовками. Для повторного вывода
списка сообщений необходимо использовать клавишу
h.Если требуется ответить на сообщение, используйте для
ответа mail, нажав клавишу R или
r. Клавиша R используется в
mail для ответа только отправителю,
а r для ответа и отправителю, и другим получателям
сообщения. Вы можете также завершить эти команды номером письма,
на которое хотите составить ответ. После этого необходимо ввести
ответ, конец сообщения должен быть завершен символом
. на новой строке. Пример можно увидеть ниже:
- & R 1 To: root@localhost Subject: Re: test
+ & R 1
+To: root@localhost
+Subject: Re: test
-Thank you, I did get your email.
-.
+Thank you, I did get your email.
+.
EOTДля отправки нового сообщения используйте клавишу
m и введите адрес получателя. Несколько получателей
могут быть указаны через запятую. Введите тему сообщения и
его содержимое. Конец сообщения отмечается помещением
символа . на новой строке.
- & mail root@localhost
-Subject: I mastered mail
+ & mail root@localhost
+Subject: I mastered mail
Now I can send and receive email using mail ... :)
-.
+.
EOTВ утилите mail для вызова справки в любой
момент может быть использована команда ?.
Для получения помощи по mail необходимо также
обратиться к странице справочника &man.mail.1;.Как упоминалось выше, команда &man.mail.1; не была первоначально
предназначена для работы с вложениями, и поэтому их поддержка
довольно слабая. Современные MUA,
такие как mutt, работают с вложениями
гораздо более уверенно. Но если вы все же предпочитаете
- использовать mail, для работы с вложениями
- может подойти порт mail,
+ установите порт converters/mpack.muttmutt это небольшая но очень
мощная почтовая программа с отличными возможностями, в числе
которых:Возможность сортировки сообщений по дискуссиям;Поддержка PGP для подписи и шифрования сообщений;Поддержка MIME;Поддержка Maildir;Широкие возможности настройки.Все эти возможности делают
mutt одним из самых лучших почтовых
клиентов. Обратитесь к http://www.mutt.org за
+ url="http://www.mutt.org"> за
дополнительной информацией по mutt.Стабильная версия mutt может быть
установлена из порта mail/mutt.
После установки порта, mutt может
быть запущен следующей командой:&prompt.user; muttmutt автоматически прочтет содержимое
пользовательского почтового ящика в каталоге /var/mail и отобразит почту,
если она имеется в наличии. Если почты в ящике пользователя нет,
mutt будет ожидать команд от пользователя.
В примере ниже показан mutt со
списком сообщений.Для чтения почты просто выберите сообщение с помощью клавиш
навигации и нажмите Enter. Пример
mutt, отображающего сообщение, показан
ниже:Как и команда &man.mail.1;, mutt
позволяет пользователям отвечать как только отправителю, так и всем
получателям. Для ответа только отправителю почты, используйте
клавишу r. Для группового ответа и отправителю
сообщения и всем получателям используйте клавишу
g.mutt использует &man.vi.1; в качестве
редактора для создания писем и ответа на них. Редактор можно
заменить путем создания или редактирования собственного
.muttrc и установки переменной
.Для создания нового почтового сообщения нажмите
m. После введения темы
mutt запустит &man.vi.1; для создания
письма. Как только письмо будет завершено, сохраните его и закройте
vi, mutt продолжит
работу, отобразив окно с сообщением, которое должно быть отправлено.
Для отправки сообщения нажмите y. Пример окна с
сообщением показан ниже:mutt также содержит исчерпывающий
справочник, к которому можно обратиться из большинства меню,
нажав клавишу ?. Верхняя строка также показывает
клавиатурные сокращения, которые могут быть использованы.pinepine предназначен для начинающих
пользователей, но включает некоторые дополнительные
возможности.В программе pine ранее были обнаружены некоторые уязвимости,
позволяющие удаленному взломщику выполнять произвольный код
с правами пользователя локальной системы путем отправки
специально подготовленного письма. Все эти
известные проблемы были исправлены,
но код pine написан в очень небезопасном стиле и офицеры
безопасности &os; считают, что возможно наличие других
не обнаруженных уязвимостей. Имейте это ввиду при установке
pine.Текущая версия pine может быть
установлена из порта mail/pine4.
Как только порт установлен, pine можно
запустить командой:&prompt.user; pineПри первом запуске pine отображает
страницу приветствия с кратким введением, а также просьбу
команды разработчиков pine
отправить анонимное почтовое сообщение, позволяющее им
определить количество пользователей, работающих с их почтовым
клиентом. Для отправки анонимного сообщения нажмите
Enter, или E для выхода
из из приветствия без отправки анонимного сообщения. Пример
приветствия показан ниже:Затем отображается главное меню, перемещение по которому
осуществляется с помощью клавиш навигации. В главном меню
находятся ссылки для составления новых писем, просмотра почтовых
каталогов, и даже управления адресной книгой. Ниже главного меню
показаны клавиатурные сокращения, выполняющие
соответствующие задачи.По умолчанию pine открывает каталог
inbox. Для просмотра списка
сообщений нажмите I, или выберите MESSAGE
INDEX, как показано ниже:В списке показаны сообщения в текущем каталоге, они могут быть
просмотрены с помощью клавиш навигации. Подсвеченные сообщения
можно прочесть нажав Enter.На снимке экрана ниже показан пример письма, отображаемого
pine. Внизу экрана даны клавиатурные
сокращения. Например, r используется для
указания MUA ответить на отображаемое в
данный момент сообщение.Ответ на письмо в pine осуществляется
с помощью редактора pico, который
устанавливается по умолчанию вместе с pine.
pico упрощает навигацию в сообщении
гораздо проще для новых пользователей, чем &man.vi.1; или
&man.mail.1;. Как только ответ будет готов, сообщение можно отправить
нажав CtrlX.
pine запросит подтверждение.Программа pine может быть настроена
через пункт главного меню. Обратитесь к
странице http://www.washington.edu/pine/
+ url="http://www.washington.edu/pine/">
за дальнейшей информацией.MarcSilverПредоставил Использование fetchmailиспользование fetchmailfetchmail это полноценный
IMAP и POP клиент,
позволяющий пользователям автоматически загружать почту с
удаленных серверов IMAP и POP
в локальные почтовые ящики; так доступ к почтовым ящикам упрощается.
fetchmail может быть установлен из
порта mail/fetchmail и
предоставляет различные возможности, в том числе:Поддержка протоколов POP3,
APOP, KPOP,
IMAP, ETRN и
ODMR.Возможность пересылки почты через SMTP,
что позволяет использовать функции фильтрации, перенаправления и
синонимов.Может быт запущен в режиме даемона для периодической проверки
поступающих сообщений.Может забирать почту с нескольких почтовых ящиков и рассылать
ее различным локальным пользователям в зависимости от
настроек.Описание всех возможностей
fetchmail выходит за пределы этой главы,
за дополнительной информацией обратитесь к документации по
fetchmail. Утилита
fetchmail требует наличия
файла настройки .fetchmailrc. Этот файл
включает информацию о сервере, а также информацию для аутентификации.
Поскольку этот файл содержит важную информацию, правильно будет
сделать его доступным для чтения только владельцем с помощью
следующей команды:&prompt.user; chmod 600 .fetchmailrcВ следующем примере файл .fetchmailrc
предназначен для загрузки одного почтового ящика по протоколу
POP. Этот файл указывает
fetchmail соединиться с
example.com с именем пользователя
- joesoap и паролем XXX.
+ joesoap и паролем XXX.
В примере подразумевается, что пользователь joesoap
существует также и в локальной системе.poll example.com protocol pop3 username "joesoap" password "XXX"В следующем примере производится подключение к нескольким
POP и IMAP серверам,
при необходимости почта перенаправляется другим локальным
- пользователям.
+ пользователям:
poll example.com proto pop3:
user "joesoap", with password "XXX", is "jsoap" here;
user "andrea", with password "XXXX";
poll example2.net proto imap:
user "john", with password "XXXXX", is "myth" here;Утилита fetchmail может работать
в режиме даемона с флагом , заданным с
интервалом (в секундах), через который
fetchmail должен опрашивать
серверы, перечисленные в .fetchmailrc.
В следующем примере fetchmail будет
забирать почту каждые 60 секунд:&prompt.user; fetchmail -d 60Дополнительную информацию о fetchmail
можно найти на сайте
- http://www.catb.org/~esr/fetchmail/.
+ url="http://www.catb.org/~esr/fetchmail/">.
MarcSilverПредоставил Использование procmailиспользование procmailУтилита procmail это невероятно
мощное приложение, используемое для фильтрации входящей почты.
Она позволяет пользователям определять правила,
которые могут быть сопоставлены входящим письмам для выполнения
определенных действий или для перенаправления почты в
альтернативные почтовые ящики и/или на почтовые адреса.
procmail может быть установлен
с помощью порта mail/procmail.
После установки он может быть непосредственно интегрирован в
большинство MTA; сверьтесь с документацией
на ваш MTA. Другой способ интеграции
procmail – добавление в
файл .forward, находящийся в домашнем
каталоге пользователя, следующей строки:"|exec /usr/local/bin/procmail || exit 75"В этом разделе будут показаны основы настройки правил
procmail, а также краткое описание их
действия. Эти и другие правила должны быть помещены в файл
.procmailrc, который должен находиться в домашнем
каталоге пользователя.Большую часть этих правил также можно найти на странице справочника
- procmailex.
+ &man.procmailex.5;.
- Перенаправление всей почты от user@example.com на
- внешний адрес goodmail@example2.com:
+ Перенаправление всей почты от user@example.com на
+ внешний адрес goodmail@example2.com::0
* ^From.*user@example.com
! goodmail@example2.comПеренаправление всей почты объемом меньше 1000 байт на внешний адрес
- goodmail@example2.com:
+ goodmail@example2.com::0
* < 1000
! goodmail@example2.comПеренаправление всей почты, отправляемой на
- alternate@example.com, в почтовый ящик
- alternate.
+ alternate@example.com, в почтовый ящик
+ alternate:
:0
* ^TOalternate@example.com
alternateПеренаправление всей почты с Spam в
- /dev/null.
+ /dev/null:
:0
^Subject:.*Spam
/dev/nullПолезный пример, обрабатывающий входящую почту со списков
- рассылки &os;.org и помещающий каждый список в отдельный почтовый
- ящик.
+ рассылки &os;.org и
+ помещающий каждый список в отдельный почтовый ящик.
:0
* ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG
{
LISTNAME=${MATCH}
:0
* LISTNAME??^\/[^@]+
FreeBSD-${MATCH}
}
diff --git a/ru_RU.KOI8-R/books/handbook/mirrors/chapter.sgml b/ru_RU.KOI8-R/books/handbook/mirrors/chapter.sgml
index b06cbad59c..00bc1a63ca 100644
--- a/ru_RU.KOI8-R/books/handbook/mirrors/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/mirrors/chapter.sgml
@@ -1,2748 +1,2748 @@
Получение FreeBSDИздатели CDROM и DVDКоробочная версияFreeBSD доступна в коробочной версии (FreeBSD CD диски,
дополнительное программное обеспечение, печатная документация) от
нескольких поставщиков:CompUSA
WWW: Frys Electronics
WWW: Наборы CD и DVDНаборы FreeBSD CD и DVD доступны у множества онлайн
поставщиков:Daemon News Mall560 South State Street, Suite A2Orem, UT84058США
Телефон: +1 800 407-5170
Факс: +1 1 801 765-0877
Email: sales@bsdmall.com
WWW: FreeBSD Mall, Inc.3623 Sanford StreetConcord, CA94520-1405США
Телефон: +1 925 674-0783
Факс: +1 925 674-0821
Email: info@freebsdmall.com
WWW: FreeBSD Services Ltd11 Lapwing CloseBicesterOX26 6XRВеликобритания
WWW: Hinner EDVSt. Augustinus-Str. 10D-81825MünchenГермания
Телефон: (089) 428 419
WWW: Ikarios22-24 rue Voltaire92000NanterreФранция
WWW: Ingram Micro1600 E. St. Andrew PlaceSanta Ana, CA92705-4926США
Телефон: 1 (800) 456-8000
WWW: JMC SoftwareИрландия
Телефон: 353 1 6291282
WWW: The Linux EmporiumHilliard House, Lester WayWallingfordOX10 9TAВеликобритания
Телефон: +44 1491 837010
Факс: +44 1491 837016
WWW: Linux System Labs Australia21 Ray DriveBalwyn NorthVIC - 3104Австралия
Телефон: +61 3 9857 5918
Факс: +61 3 9857 8974
WWW: UNIXDVD.COM LTD57 Primrose AvenueSheffieldS5 6FSВеликобритания
WWW: РаспространителиЕсли вы продавец и хотите заниматься FreeBSD CDROM,
пожалуйста свяжитесь с распространителем:Cylogistics2672 Bayshore Parkway, Suite 610Mountain View, CA94043США
Телефон: +1 650 694-4949
Факс: +1 650 694-4953
Email: sales@cylogistics.com
WWW: FreeBSD Services Ltd11 Lapwing CloseBicesterOX26 6XRВеликобритания
WWW: Kudzu, LLC7375 Washington Ave. S.Edina, MN55439США
Телефон: +1 952 947-0822
Факс: +1 952 947-0876
Email: sales@kudzuenterprises.comNavarre Corp7400 49th Ave SouthNew Hope, MN55428США
Телефон: +1 763 535-8333
Факс: +1 763 535-0341
WWW: FTP сайтыОфициальным источником FreeBSD являются анонимные FTP
зеркала по всему миру. Сайт
имеет
хорошее подключение и поддерживает большое количество одновременных
соединений, но для вас возможно потребуется найти
ближайшее зеркало (особенно если вы решили настроить
у себя какой-то из видов зеркал).База данных зеркал
FreeBSD предпочтительнее по сравнению со списком зеркал в
Руководстве, поскольку информация в базе собирается из DNS, а не
из статического списка узлов.Кроме того, FreeBSD доступна через анонимный FTP со следующих
зеркал. Если вы выбрали получение FreeBSD через анонимный FTP,
пожалуйста выберите ближайший к вам сайт. Зеркала из списка
Основных зеркал обычно содержат полный архив
FreeBSD (все доступные на данный момент версии для каждой архитектуры),
скорость загрузки возможно будет больше с зеркала, расположенного в
вашей стране. Сайты каждой страны содержат последнюю версию для наиболее
популярных архитектур, но на них может не быть полного архива FreeBSD.
Все сайты предоставляют доступ через анонимный FTP, а некоторые
предоставляют доступ и другими методами. Для сайтов каждой страны
приведен список методов доступа.
&chap.mirrors.ftp.inc;
Анонимный CVSВведениеАнонимный CVS (известный также как,
anoncvs) это возможность, предоставляемая
утилитами CVS, поставляемыми с FreeBSD для синхронизации с удаленным
CVS репозиторием. Помимо прочего, он позволяет пользователям
FreeBSD без специальных привилегий (с правами только на чтение)
выполнять CVS операции на одном из официальных anoncvs серверов
проекта FreeBSD. Для использования этой возможности, просто
установите переменную CVSROOT на соответствующий
сервер anoncvs, введите общеизвестный пароль anoncvs
в ответ на приглашение команды cvs login, а
затем используйте &man.cvs.1; для доступа к репозиторию как к
обычному локальному CVS.Команда cvs login сохраняет пароли,
использованные для авторизации на сервере CVS в файле с
именем .cvspass в каталоге
HOME. Если этот файл не существует, вы можете
получить сообщение об ошибке при первом запуске cvs
login. Просто создайте пустой файл
.cvspass и попробуйте еще раз.Хотя можно сказать, что сервисы CVSup и anoncvs
выполняют в сущности похожие функции, есть несколько отличий,
которые могут повлиять на выбор метода синхронизации.
По своей сути, CVSup гораздо
более эффективно использует сетевые ресурсы, и из двух этих
программ он более интеллектуален, но за его эффективность
приходится платить. Во-первых, для того, чтобы появилась
возможность хоть что-то получить этим методом,
CVSup потребуется установить и
настроить специальную программу, а во-вторых, этот
CVSup позволяет синхронизацию только
довольно больших частей исходных текстов, называемых
коллекциями.Anoncvs напротив может использоваться
для получения как одного файла, так и всей программы
(например ls или grep),
с помощью ссылки на имя модуля CVS. Конечно,
anoncvs хорошо подходит только при
операциях на чтение CVS репозитория, поэтому если вы намереваетесь
производить локальную разработку в одном из репозиториев
проекта FreeBSD, вам подойдет только
CVSup.Использование анонимного CVSНастройка &man.cvs.1; для использования анонимного CVS
репозитория означает установку переменной окружения
CVSROOT на один из anoncvs
серверов проекта FreeBSD. На момент написания этого документа
доступны следующие сервера:США:
:pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs
(Используйте cvs login и введите пароль
anoncvs в ответ на приглашение.)Германия:
:pserver:anoncvs@anoncvs.de.FreeBSD.org:/home/ncvs
(Используйте cvs login и введите пароль
anoncvs в ответ на приглашение.)Германия:
:pserver:anoncvs@anoncvs2.de.FreeBSD.org:/home/ncvs
(rsh, pserver, ssh, ssh/2022)
Япония:
:pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs
(Используйте cvs login и введите пароль
anoncvs в ответ на приглашение.)Австрия:
:pserver:anoncvs@anoncvs.at.FreeBSD.org:/home/ncvs
(Используйте cvs login и введите любой
пароль в ответ на приглашение.)Франция:
:pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs
(pserver (пароль anoncvs), ssh (нет пароля))
Поскольку CVS позволяет выполнить check out
практически любой версии исходных текстов FreeBSD, которые
когда-либо существовали (или, в некоторых случаях, будут
существовать), вам необходимо познакомиться с флагом
&man.cvs.1; для ревизий () и с параметрами,
которые могут быть использованы с этим флагом в репозитории
проекта FreeBSD.Есть два вида тегов, теги ревизий и теги ветвей.
Теги ревизий отвечают за определенную ревизию. Их значение
остается прежним изо дня в день. Теги ветвей сопоставляются
последней ревизии определенной ветви разработки, в любой
момент времени. Поскольку теги ветвей не сопоставлены какой-то
определенной ревизии, завтра они могут означать совсем не то,
что сегодня. содержит теги ревизий, которые
могут заинтересовать пользователей. Опять же, ни один из них
не подходит для коллекции портов, поскольку в коллекции портов
нет разнообразия ревизий.Если вы указываете тег ветви, то обычно получаете последнюю
версию файлов этой ветви разработки. Если вы хотите получить
предыдущую версию, это можно сделать путем указания даты флагом
. Обратитесь к странице справочника
&man.cvs.1; за более подробной информацией.ПримерыХотя перед тем, как что-то делать, рекомендуется полностью
прочесть страницу справочника &man.cvs.1;, вот несколько кратких
примеров использования Anonymous CVS:Извлечение кода из -CURRENT (&man.ls.1;) с
последующим удалением:&prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs
&prompt.user; cvs loginAt the prompt, enter the passwordanoncvs.
&prompt.user; cvs co ls
&prompt.user; cvs release -d ls
&prompt.user; cvs logoutИзвлечение &man.ls.1; из ветви для 3.X-STABLE:&prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs
&prompt.user; cvs loginAt the prompt, enter the passwordanoncvs.
&prompt.user; cvs co -rRELENG_3 ls
&prompt.user; cvs release -d ls
&prompt.user; cvs logoutСоздание списка изменений &man.ls.1; (в виде unified diff)&prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs
&prompt.user; cvs loginAt the prompt, enter the passwordanoncvs.
&prompt.user; cvs rdiff -u -rRELENG_3_0_0_RELEASE -rRELENG_3_4_0_RELEASE ls
&prompt.user; cvs logoutПоиск доступных имен модулей:&prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.FreeBSD.org:/home/ncvs
&prompt.user; cvs loginAt the prompt, enter the passwordanoncvs.
&prompt.user; cvs co modules
&prompt.user; more modules/modules
&prompt.user; cvs release -d modules
&prompt.user; cvs logoutДругие ресурсыВ изучении CVS могут помочь следующие дополнительные
ресурсы:Учебник
по CVS от Cal Poly.CVS Home,
сообщество разработки и поддержки CVS.CVSweb
это веб интерфейс к CVS проекта FreeBSD.Использование CTMCTM это метод синхронизации удаленного
дерева исходных текстов с центральным. Он был разработан для
использования с деревом исходных текстов FreeBSD, хотя может
быть полезен и для других целей. На данный момент существует очень
немного (если она вообще существует) документации по процессу создания
дельта-файлов (deltas, разница между имеющимися и актуальными
исходными текстами), поэтому обратитесь в список рассылки
&a.ctm-users.name; за
дополнительной информацией, если захотите использовать
CTM для других целей.Зачем мне может понадобиться
CTM?CTM создаст для вас локальную копию
исходных текстов FreeBSD. Существует множество разновидностей
дерева исходных текстов. Захотите ли вы поддерживать все дерево
CVS или только одну из ветвей, CTM
может предоставить вам все необходимое. Если вы разработчик
FreeBSD, но ваше соединение по TCP/IP некачественное или
отсутствует, или же вы просто хотите, чтобы изменения автоматически
отправлялись вам, CTM предназначен
для вас. Вам потребуется получать до трех изменений в день для
наиболее активных ветвей. Они будут отправляться вам по электронной
почте. Размеры обновлений всегда поддерживаются настолько малыми,
насколько это возможно. Они обычно меньше 5K, хотя случается
(раз из десяти) достигают 10-50K и время от времени даже
100K или больше.Вам также потребуется узнать о различных особенностях работы
непосредственно с исходными текстами в разработке, вместо
готовых релизов. Это в частности относится к выбору исходных
текстов ветви -CURRENT. Рекомендуется прочесть материал
На переднем крае разработок.Что потребуется для использования
CTM?Вам потребуются две вещи: программа
CTM и исходные тексты, которые требуется
обновить (до актуального состояния).Программа CTM была частью
FreeBSD все время с момента выпуска релиза 2.0, она находится
в каталоге /usr/src/usr.sbin/ctm, если
у вас есть копия исходных текстов.Если вы работаете с версией FreeBSD до 2.0, можете получить
актуальные исходные тексты CTM
непосредственно с:
-
+ Дельта-файлыCTM могут приходить двумя путями,
через FTP или email. Если у вас есть доступ к интернет по FTP,
доступ к CTM может быть получен через
следующие FTP сайты:или с сайтов из списка зеркал.Зайдите по FTP в соответствующий каталог и прочтите файл
README.Если вы предпочитаете получать дельта-файлы по почте:Подпишитесь на один из списков распространения
CTM.
&a.ctm-cvs-cur.name; поддерживает все дерево CVS.
&a.ctm-src-cur.name; поддерживает главную ветвь разработки.
&a.ctm-src-4.name; поддерживает ветвь 4.X, и т.д. Если вы
не знаете, как подписаться на список, нажмите на ссылку выше или
на ссылку &a.mailman.lists.link;, а затем на ссылку соответствующего
списка. Страница списка должна содержать все необходимые инструкции
по подписке.Когда вы начнете получать обновления
CTM по почте, используйте программу
ctm_rmail для распаковки и применения обновлений.
Вы можете использовать программу ctm_rmail
непосредственно из /etc/aliases, если
хотите полностью автоматизировать процесс. Прочтите страницу
справочника ctm_rmail с более подробной
информацией.Вне зависимости от способа получения дельта-файлов
CTM, вам потребуется подписка на
список рассылки &a.ctm-announce.name;. В будущем этот список
станет единственным местом, где будут анонсироваться операции,
относящиеся к системе CTM.
Нажмите на ссылку выше и следуйте инструкциям для подписки
на эту рассылку.Использование CTM в первый
разПеред тем, как вы сможете начать использование дельта-файлов
CTM, потребуется определить
исходную точку для последующего их применения.Сначала потребуется определить, что уже имеется.
Каждый может начать с пустого (empty) каталога.
Вы должны использовать дельта-файл Empty
для создания поддерживаемого CTM дерева.
Планируется распространение стартовых дельта-файлов
на CD, но на данный момент это не делается.Поскольку дерево исходных текстов может быть объемом в десятки
мегабайт, предпочтительно начать с каких-то уже имеющихся текстов.
Если у вас есть -RELEASE CD, распакуйте исходные тексты с него.
Это снизит объем передаваемых данных.Вы можете распознать стартовый дельта-файл
по символу X, добавляемому к номеру
(например, src-cur.3210XEmpty.gz).
Обозначение перед X соответствует имеющимся
исходным текстам. Empty это пустой каталог.
Как правило файл с Empty создается через каждые
100 дельта-файлов. Между прочем, эти файлы большие! От 70 до
;) мегабайт упакованных gzip данных это
обычный размер для XEmpty.Как только вы получили основной дельта-файл, потребуются также
все дельта-файлы с последующими номерами.Повседневное использование
CTMДля применения дельта-файлов, просто выполните:&prompt.root; cd /where/ever/you/want/the/stuff
&prompt.root; ctm -v -v /where/you/store/your/deltas/src-xxx.*CTM работает с дельта-файлами,
упакованными с помощью gzip, поэтому вам не
требуется их распаковывать.Хотя весь процесс довольно безопасен,
CTM не будет изменять дерево исходных
текстов. Для проверки дельта-файла вы также можете использовать
флаг , CTM
только проверит целостность дельта-файла а также его применимость
к существующим исходным текстам.Это все. Каждый раз после получения дельта-файла, запускайте
CTM для поддержания исходных текстов
в актуальном состоянии.Не удаляйте дельта-файлы, если их сложно загрузить еще раз.
Вы возможно захотите сохранить их на всякий случай. Если вы можете
сохранить их только на дискете, используйте для создания копии
fdwrite.Сохранение локальных измененийКак разработчик вы возможно захотите поэкспериментировать и
изменить файлы в дереве исходных текстов.
CTM имеет ограниченную поддержку
локальных изменений: перед проверкой наличия файла
foo, сначала проверяется
foo.ctm. Если он присутствует,
CTM будет работать с ним вместо
foo.Такое поведение обеспечивает простой путь поддержки локальных
изменений: просто скопируйте файлы, которые вы хотите изменить,
в файлы с соответствующими именами и суффиксом
.ctm. Вы можете свободно изменять код,
а CTM будет поддерживать файлы
.ctm в актуальном состоянии.Другие интересные возможности
CTMОпределение файлов, которые будут затронуты
обновлениемВы можете определить список изменений, которые
CTM внесет в исходные тексты,
используя параметр CTM
.Это полезно, если вы хотите поддерживать лог изменений,
выполнить предварительную или последующую обработку изменяемых
файлов, или если вы просто немного параноидальны.Создание резервных копий перед обновлениемИногда вам может понадобиться сделать резервные копии всех
файлов, которые будут изменены
CTM.С параметром
CTM выполнит резервное копирование
всех изменяемых дельта-файлом CTM
файлов в backup-file.Ограничение обновлений для определенных файловИногда необходимо ограничить набор файлов, обновляемых
CTM, или даже задать обновление
нескольких определенных файлов.Вы можете управлять списком файлов, с которыми будет работать
CTM, путем указания фильтрующих
регулярных выражений с параметрами и
.Например, для извлечения свежей копии
lib/libc/Makefile из коллекции сохраненных
дельта-файлов CTM, выполните
команду:&prompt.root; cd /where/ever/you/want/to/extract/it/
&prompt.root; ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.*Для каждого указанного CTM
дельта-файла, параметры и
применяются в порядке их задания в командной строке. Файл
обрабатывается CTM только если он
помечается как подходящий после обработки всех параметров
и .Дальнейшие планы для CTMМасса планов:Использовать какой-то из видов аутентификации в системе
CTM, позволяющий обнаружение
поддельных дат CTM.Доработать параметры CTM,
поскольку они могут ввести в заблуждение.РазноеСуществует набор дельта-файлов и для коллекции
ports, но интерес к нему пока не так
высок.Зеркала CTMCTM/FreeBSD доступен через анонимный
FTP с нижеприведенных зеркал. Если вы выбрали получение
CTM через анонимный FTP, используйте
ближайший к вам сервер.В случае возникновения проблем обратитесь в список рассылки
&a.ctm-users.name;.California, Bay Area, официальный источникSouth Africa, резервный сервер для старых дельта-файловTaiwan/R.O.C.Если вы не нашли ближайшего к вам зеркала, или зеркало неполно,
попробуйте воспользоваться поиском, например
alltheweb.Использование CVSupВведениеCVSup это пакет программного
обеспечения для распространения и обновления исходных текстов с
основного репозитория CVS на удаленном сервере. Исходные тексты
FreeBSD поддерживаются в репозитории CVS на центральной машине
разработки в Калифорнии. С помощью CVSup
пользователи FreeBSD легко могут поддерживать собственные исходные
тексты в актуальном состоянии.CVSup использует так называемую
опрашивающую (pull) модель обновления.
Работая по этой модели, каждый клиент запрашивает обновления с
сервера, если и когда они нужны. Сервер пассивно ожидает запросы
на обновление от своих клиентов. Таким образом, все обновления
инициируются клиентами. Сервер никогда не высылает не запрошенные
обновления. Пользователь для получения обновлений должен либо запустить
CVSup клиента вручную, либо добавить
задание в cron для настройки периодических
обновлений в автоматическом режиме.Термин CVSup, написанный с заглавными
буквами, означает весь пакет программного обеспечения. Его основные
компоненты это клиент cvsup, запускаемый на
каждом пользовательском компьютере, и сервер
cvsupd, работающий на каждом зеркале
FreeBSD.При чтении документации FreeBSD и списков рассылки вы могли
встретить указания на sup.
Sup был предшественником
CVSup, и выполнял похожие функции.
CVSup в основном используется тем же
способом, что и sup, и, фактически, использует файлы настройки,
обратно совместимые с файлами sup.
Sup более не используется проектом
FreeBSD, поскольку CVSup и быстрее и
более гибок.УстановкаПростейший способ установки CVSup
это использование прекомпилированного пакета net/cvsup из коллекции
пакетов FreeBSD. Если вы предпочтете собрать
CVSup из исходных текстов, можете
использовать вместо этого порт net/cvsup. Но имейте ввиду:
порт net/cvsup зависит от системы
Modula-3, которой потребуется существенный объем времени и
пространства на диске для загрузки и установки.Если вы собираетесь использовать
CVSup на компьютере, где нет
установленного &xfree86;,
например на сервере, используйте порт, не включающий
CVSup GUI,
net/cvsup-without-gui.Настройка CVSupРабота CVSup контролируется
файлом настройки, называемым supfile.
В каталоге /usr/share/examples/cvsup/
находится несколько примеров supfile.Информация в supfile отвечает на
следующие вопросы CVSup:Какие файлы вы
хотите получить?Какие их версии
вам нужны?Откуда вы хотите
их получить?Где вы хотите
разместить их на своем компьютере?Где вы хотите
разместить файлы статуса?В следующих разделах мы составим типичный
supfile последовательным ответом на каждый из этих
вопросов. Сначала опишем общую структуру
supfile.supfile это текстовый файл. Комментарии,
начинающиеся с #, продолжаются до конца строки.
Пустые строки и строки, содержащие только комментарии,
игнорируются.Каждая из оставшихся строк описывает набор файлов, получаемых
пользователем. Строка начинается с имени коллекции,
логического объединения файлов, определяемых сервером. Имя коллекции
говорит серверу о том, какие файлы вам нужны. После имени коллекции
следуют одно или больше полей, разделенных пробелом. Эти поля
отвечают на вопросы, заданные выше. Есть два типа полей: флаги и
значения. Поле флага состоит из одного ключевого слова, например
delete или compress.
Поле значения также начинается с ключевого слова, но за ним без
пробела следует = и второе слово. Например,
release=cvs это поле значения.supfile обычно задает получение
более одной коллекции. Одним из способов построения
supfile является указание всех соответствующих
полей для каждой коллекции явно. Однако, это приводит к появлению
слишком длинных строк в supfile и это неудобно,
поскольку большинство полей одинаковы для всех коллекций
supfile. CVSup
предоставляет механизм задания значений по умолчанию для устранения
этих проблем. Строки, начинающиеся со специального имени
псевдо-коллекции *default, могут быть использованы
для установки флагов и значений, которые послужат значениями по
умолчанию для всех последующих коллекций supfile.
Значение по умолчанию может быть перезаписано для каждой
отдельной коллекции путем указания другого значения в ее собственных
параметрах. Значения по умолчанию также могут быть изменены
или расширены в любом месте supfile
дополнительными строками *default.Получив эту информацию, мы начнем строить
supfile для получения и обновления главного
дерева исходных текстов FreeBSD-CURRENT.Какие файлы вы хотите
получить?Файлы, доступные через CVSup,
организованы в именованные группы, называемые
коллекциями. Доступные коллекции описаны
в следующем разделе.
В этом примере мы получим все дерево исходных текстов системы
FreeBSD. Существует одиночная большая коллекция
src-all, которая позволит нам сделать это.
В качестве первого шага по созданию supfile,
добавим список коллекций, по одной на строку (в нашем случае,
только одну строку):src-allКакие их версии
вам нужны?С CVSup вы в принципе можете
получить любую версию исходных текстов, которая когда-либо
существовала. Это возможно, поскольку
cvsupd сервер работает непосредственно
с репозиторием CVS, который содержит все версии. Вы указываете
ту, которая вам нужна, с помощью полей tag=
и .Будьте очень осторожны при задании любых полей
tag=. Некоторые теги существуют только
в определенных коллекциях файлов. Если вы укажете
некорректный тег или ошибетесь в его написании,
CVSup удалит файлы, которые вы
возможно не хотели удалять. В частности, используйте
толькоtag=.
для коллекций ports-*.Поля tag= означают символьные имена
в репозитории. Существует два вида тегов, теги ревизий и теги
ветвей. Теги ревизий означают определенную ревизию. Они
не меняются со временем. Теги ветвей, с другой стороны,
означают последнюю ревизию заданной линии разработки в любой
момент времени. Поскольку тег ветви не относится к определенной
ревизии, он может означать завтра что-то иное чем сегодня. содержит теги ветвей, которые
могут быть интересны пользователям. Тег, указанный в
файле настройки CVSup, должен
предваряться строкой tag=
(RELENG_4 превратится в
tag=RELENG_4). Помните, что для коллекции
портов подходит только tag=..Будьте очень осторожны при наборе имен тегов.
CVSup не может отличить правильные
и неправильные теги. Если вы неправильно наберете тег,
CVSup поведет себя так, как если бы
вы указали тег, не содержащий файлов. В этом случае он удалит
существующие исходные тексты.При указании тега ветви вы получите последние версии файлов
этой ветви разработки. Если вы хотите получить какую-то из
предыдущих версий, сделайте это указав дату в поле значения
. Страница справочника &man.cvsup.1;
описывает как сделать это.В нашем примере мы хотим получить FreeBSD-CURRENT. Мы
добавим эту строку в начало
supfile:*default tag=.Существует важный специальный случай, когда не задаются
ни поле tag=, ни поле date=.
В этом случае вы получите последние версии RCS файлов
непосредственно из CVS репозитория сервера вместо получения
определенной версии. Разработчики обычно предпочитают этот
способ. Поддерживая копию репозитория в своей системе, они
получают возможность просмотра истории ревизий и проверки
последних версий файлов. Однако это достигается ценой
большего занимаемого дискового пространства.Откуда вы хотите
их получить?Мы используем поле host= для сообщения
cvsup откуда забирать обновления. Подойдет
любое из CVSup зеркал,
хотя вы должны попробовать выбрать ближайшее к вам зеркало.
В этом примере мы используем не существующий сервер,
cvsup666.FreeBSD.org:*default host=cvsup666.FreeBSD.orgВам потребуется подставить адрес одного из существующих хостов
перед запуском CVSup. При каждом
запуске cvsup, вы можете перезаписать
настройку хоста из командной строки, используя параметр .Где вы хотите
разместить их на своем компьютере?Поле prefix= указывает
cvsup где размещать получаемые файлы.
В этом примере, мы поместим файлы непосредственно в главное
дерево исходных текстов, /usr/src.
Каталог src уже подразумевается в
коллекциях, которые мы собираемся получить, поэтому
корректное указание таково:*default prefix=/usrГде вы хотите
разместить файлы статуса cvsup?Клиент CVSup поддерживает
определенные файлы статуса в так называемом
base каталоге. Эти файлы помогают
CVSup работать более эффективно
путем поддержки истории уже полученных обновлений. Мы будем
использовать стандартный каталог base,
/usr/local/etc/cvsup:*default base=/usr/local/etc/cvsupЭтот каталог используется по умолчанию, если иное не указано
в supfile, поэтому на самом деле строка
выше не нужна.Если base каталог не существует, теперь подходящий момент
для его создания. Клиент cvsup не
запустится, если base каталог не существует.Различные настройки supfile:Существует еще одна строка, которая обычно должна
присутствовать в supfile:*default release=cvs delete use-rel-suffix compressrelease=cvs означает, что сервер должен
получать информацию из главного репозитория FreeBSD CVS.
Это обычно всегда так, но существуют несколько иных вариантов,
изложение которых выходит за пределы этой главы.delete дает
CVSup возможность удалять файлы.
Вы должны всегда указывать этот параметр, чтобы
CVSup мог поддерживать дерево
исходных текстов полностью актуальным.
CVSup удалит только те файлы, за
которые отвечает. Все другие файлы останутся
нетронутыми.use-rel-suffix это ... мистика. Если
вы действительно хотите узнать о нем, обратитесь к странице
справочника &man.cvsup.1;. Иначе просто укажите это поле и не
беспокойтесь о нем больше.compress включает использование
gzip сжатия при передаче данных. Если ваше сетевое подключение
работает со скоростью T1 или быстрее, вам возможно не
потребуется использование сжатия. Иначе оно обычно
помогает.Все это вместе:Вот полный supfile для нашего
примера:*default tag=.
*default host=cvsup666.FreeBSD.org
*default prefix=/usr
*default base=/usr/local/etc/cvsup
*default release=cvs delete use-rel-suffix compress
src-allФайл refuseКак упомянуто выше, CVSup использует
метод опроса. В основном это означает, что
вы подключаетесь к CVSup серверу, и он
говорит Вот то, что вы можете загрузить с меня...,
и клиент отвечает OK, я возьму это, это и это.
С настройкой по умолчанию CVSup клиент
заберет каждый файл, связанный с коллекцией и тегом, выбранным
в файле настройки. Однако, это не всегда то, что вам нужно,
особенно если вы синхронизируете деревья doc,
ports, или www —
большинство людей не могут читать на пяти или четырех языках,
и следовательно им не требуются локализованные файлы. Если вы
обновляете коллекцию портов, это можно обойти путем индивидуального
указания каждой коллекции (например,
ports-astrology,
ports-biology и т.д. вместо
коллекции ports-all). Однако, поскольку для
деревьев doc и www нет
специфичных для языка коллекций, используйте одну из
замечательных возможностей CVSup:
файл refuse.Файл refuse говорит
CVSup, что он не должен забирать каждый
файл из коллекции; другими словами, он говорит клиенту
отказаться (refuse) от получения с сервера
определенных файлов. Файл refuse можно найти
(или, если у вас его еще нет, должен быть помещен) в
base/sup/.
base определен в файле
supfile; по умолчанию,
base это
/usr/local/etc/cvsup, что означает, что по
умолчанию файл refuse это
/usr/local/etc/cvsup/sup/refuse.Формат файла refuse очень прост; он содержит
имена файлов или каталогов, которые вы не хотите загружать.
Например, если вы не можете разговаривать ни на каком языке кроме
английского и русского, и вы не хотите использовать русскоязычные
приложения (или приложения на любом другом языке кроме английского),
поместите следующие строки в файл
refuse:ports/chinese
ports/french
ports/german
ports/hebrew
ports/hungarian
ports/japanese
ports/korean
ports/polish
ports/portuguese
ports/russian
ports/ukrainian
ports/vietnamese
doc/da_*
doc/de_*
doc/el_*
doc/es_*
doc/fr_*
doc/it_*
doc/ja_*
doc/nl_*
doc/no_*
doc/pl_*
doc/pt_*
doc/sr_*
doc/zh_*и так далее для других языков (полный список находится на
странице FreeBSD
+ url="http://www.FreeBSD.org/cgi/cvsweb.cgi/">FreeBSD
CVS репозитория).С этой очень полезной возможностью пользователи с
низкоскоростным подключением или с поминутной платой за подключение
смогут сохранить время, поскольку им более не потребуется загружать
файлы, которые они никогда не будут использовать. За более
подробной информацией о файлах refuse и
замечательных возможностях CVSup,
обратитесь к его справочной странице.Запуск CVSupТеперь вы готовы к тестированию обновления. Командная строка для
этого очень проста:&prompt.root; cvsup supfileгде supfile
это конечно имя supfile, который только что
был создан. При запуске под X11, cvsup
отобразит GUI интерфейс с несколькими полезными кнопками. Нажмите
кнопку go и смотрите за его работой.Поскольку в этом примере обновляется существующее дерево
/usr/src вам потребуется, запуск программы
из под root, чтобы у cvsup
были права, необходимые для обновления файлов. Если файл настройки
только что создан, и эта программа раньше никогда не использовалась,
это может действовать вам на нервы. Есть простой способ для
пробного запуска без затрагивания ваших драгоценных файлов.
Просто создайте где-нибудь пустой каталог и поместите его в качестве
дополнительного аргумента командной строки:&prompt.root; mkdir /var/tmp/dest
&prompt.root; cvsup supfile /var/tmp/destУказанный каталог будет использоваться в качестве места назначения
всех обновлений. CVSup
будет работать с файлами из /usr/src,
но не станет изменять или удалять их. Вместо этого все обновления
файлов будут помещены в /var/tmp/dest/usr/src.
При запуске таким способом CVSup оставит
также неприкосновенным каталог base. Новые версии этих файлов будут
записаны в указанный каталог. Если у вас есть права на чтение
каталога /usr/src, вам даже не потребуется
работать под root для выполнения пробного
обновления.Если вы не работаете с X11 или просто не любите GUI, добавьте
набор параметров командной строки при запуске
cvsup:&prompt.root; cvsup -g -L 2 supfileПараметр указывает
CVSup не использовать GUI. Он действует
автоматически, если вы не работаете под X11, но иначе вам потребуется
его указать.Параметр указывает
CVSup выводить информацию о каждом
производимом обновлении. Есть три уровня протоколирования,
от до . Уровень
по умолчанию 0, что означает полное отсутствие сообщений,
за исключением сообщений об ошибках.Доступно множество других параметров. Для получения их краткого
списка, наберите cvsup -H. За более подробным
описанием обратитесь к странице справочника.После проверки работоспособности обновлений вы можете организовать
регулярные запуски CVSup с помощью
&man.cron.8;. Очевидно, вы не должны позволять
CVSup использовать GUI при запуске из
&man.cron.8;.Коллекции файлов CVSupКоллекции файлов, доступные через
CVSup, организованы иерархически.
Существует несколько больших коллекций, и они разделены на несколько
меньших под-коллекций. Получение большой коллекции эквивалентно
получению каждой из ее подколлекции. Иерархические отношения
между коллекциями отражаются путем использования отступов в списке
ниже.Наиболее используемые коллекции это
src-all, и
ports-all. Другие коллекции используются
небольшими группами людей для специальных целей и
некоторые сайты зеркал могут не содержать их все.cvs-all release=cvsГлавный FreeBSD CVS репозиторий, включающий
криптографический код.distrib release=cvsФайлы, относящиеся к распространению и зеркалированию
FreeBSD.doc-all release=cvsИсходные тексты Руководства FreeBSD и другой
документации. Они не включают файлы веб-сайта
FreeBSD.ports-all release=cvsКоллекция портов FreeBSD.Если вы не хотите обновлять всю коллекцию
ports-all (все дерево портов),
а только одну из подколлекций, перечисленных ниже,
убедитесь, что вы каждый раз
обновляете подколлекцию ports-base!
При любых изменениях в инфраструктуре сборки портов
подколлекции ports-base, они могут
быть использованы настоящими портами
довольно скоро. Таким образом, если вы обновляете
только настоящие порты и они используют
некоторые новые возможности, есть большой шанс того,
что их сборка прервется с непонятным сообщением об
ошибке. Самое первое, что вы
должны сделать, это убедиться, что подколлекция
ports-base обновлена.ports-archivers
release=cvsАрхиваторы.ports-astro
release=cvsПорты для астрономии.ports-audio
release=cvsПоддержка звука.ports-base
release=cvsИнфраструктура сборки портов -
различные файлы, расположенные в подкаталогах
Mk/ и
Tools/ каталога
/usr/ports.Пожалуйста, прочтите важное
предупреждение выше: вы должны
всегда обновлять эту
подколлекцию, при каждом обновлении любой
части коллекции портов FreeBSD!ports-benchmarks
release=cvsИзмерение производительности.ports-biology
release=cvsПрограммы для биологии.ports-cad
release=cvsИнструменты САПР.ports-chinese
release=cvsПоддержка китайского языка.ports-comms
release=cvsКоммуникационные программы.ports-converters
release=cvsПреобразование кодировок.ports-databases
release=cvsБазы данных.ports-deskutils
release=cvsВещи, использовавшиеся на рабочем столе
до изобретения компьютеров.ports-devel
release=cvsУтилиты разработки.ports-dns
release=cvsПрограммы, имеющие отношение к DNS.ports-editors
release=cvsРедакторы.ports-emulators
release=cvsЭмуляторы других операционных систем.ports-finance
release=cvsФинансовые, расчетные и связанные с ними
приложения.ports-ftp
release=cvsКлиентские и серверные утилиты FTP.ports-games
release=cvsИгры.ports-german
release=cvsПоддержка немецкого языка.ports-graphics
release=cvsГрафические утилиты.ports-hungarian
release=cvsПоддержка венгерского языка.ports-irc
release=cvsIRC утилиты.ports-japanese
release=cvsПоддержка японского языка.ports-java
release=cvs&java; утилиты.ports-korean
release=cvsПоддержка корейского языка.ports-lang
release=cvsЯзыки программирования.ports-mail
release=cvsПочтовое программное обеспечение.ports-math
release=cvsМатематические программы.ports-mbone
release=cvsПриложения MBone.ports-misc
release=cvsРазличные утилиты.ports-multimedia
release=cvsМультимедийное программное обеспечение.ports-net
release=cvsСетевое программное обеспечение.ports-news
release=cvsПрограммное обеспечение новостей USENET.ports-palm
release=cvsПрограммная поддержка для
Palm.ports-polish
release=cvsПоддержка польского языка.ports-portuguese
release=cvsПоддержка португальского языка.ports-print
release=cvsПрограммы печати.ports-russian
release=cvsПоддержка русского языка.ports-security
release=cvsУтилиты безопасности.ports-shells
release=cvsОболочки командной строки.ports-sysutils
release=cvsСистемные утилиты.ports-textproc
release=cvsУтилиты обработки текста (не включают
настольные утилиты публикации).ports-vietnamese
release=cvsПоддержка вьетнамского языка.ports-www
release=cvsПрограммы, относящиеся к World Wide
Web.ports-x11
release=cvsПорты с поддержкой X window
system.ports-x11-clocks
release=cvsЧасы X11.ports-x11-fm
release=cvsФайловые менеджеры X11.ports-x11-fonts
release=cvsШрифты и шрифтовые утилиты X11.ports-x11-toolkits
release=cvsПакеты разработки приложений для X11.ports-x11-serversСерверы X11.ports-x11-wmОконные менеджеры X11.src-all release=cvsОсновные исходные тексты FreeBSD, включая
криптографический код.src-base
release=cvsРазличные файлы непосредственно из
/usr/src.src-bin
release=cvsУтилиты, которые могут
потребоваться в однопользовательском режиме
(/usr/src/bin).src-contrib
release=cvsУтилиты и библиотеки, заимствованные проектом
FreeBSD, используются почти без модификаций
(/usr/src/contrib).src-crypto release=cvsКриптографические утилиты и библиотеки,
заимствованные проектом FreeBSD, используются
почти без модификаций
(/usr/src/crypto).src-eBones release=cvsKerberos и DES
(/usr/src/eBones). Не
используются в текущих релизах FreeBSD.src-etc
release=cvsФайлы настройки системы
(/usr/src/etc).src-games
release=cvsИгры
(/usr/src/games).src-gnu
release=cvsУтилиты, попадающие под GNU Public
License (/usr/src/gnu).src-include
release=cvsФайлы заголовков
(/usr/src/include).src-kerberos5
release=cvsПакет безопасности Kerberos5
(/usr/src/kerberos5).src-kerberosIV
release=cvsПакет безопасности KerberosIV
(/usr/src/kerberosIV).src-lib
release=cvsБиблиотеки
(/usr/src/lib).src-libexec
release=cvsСистемные программы, обычно выполняемые
другими программами
(/usr/src/libexec).src-release
release=cvsФайлы, необходимые для производства релизов
FreeBSD
(/usr/src/release).src-sbin release=cvsСистемные утилиты для однопользовательского
режима
(/usr/src/sbin).src-secure
release=cvsКриптографические библиотеки и команды
(/usr/src/secure).src-share
release=cvsФайлы, которые могут быть использованы
несколькими системами
(/usr/src/share).src-sys
release=cvsЯдро
(/usr/src/sys).src-sys-crypto
release=cvsКриптографический код ядра
(/usr/src/sys/crypto).src-tools
release=cvsРазличные инструменты для поддержки FreeBSD
(/usr/src/tools).src-usrbin
release=cvsПользовательские утилиты
(/usr/src/usr.bin).src-usrsbin
release=cvsСистемные утилиты
(/usr/src/usr.sbin).www release=cvsИсходные тексты www сайта FreeBSD.distrib release=selfСобственные файлы настройки сервера
CVSup. Используются зеркалами
CVSup.gnats release=currentБаза данных отслеживания ошибок GNATS.mail-archive release=currentАрхив списков рассылки FreeBSD.www release=currentФайлы предобработки WWW сайта FreeBSD (не исходные
файлы). Используются зеркалами WWW.Дальнейшая информацияCVSup FAQ и другая информация о
CVSup находится на
Домашней
странице CVSup.Большая часть связанных с FreeBSD обсуждений
CVSup проводилась в &a.hackers;. Новые
версии программного обеспечения анонсируются здесь и в
&a.announce;.Вопросы и сообщения об ошибках адресуйте автору программы
cvsup-bugs@polstra.com.Зеркала CVSupCVSup серверы для FreeBSD работают на
следующих сайтах:
&chap.mirrors.cvsup.inc;
Теги CVSПри получении или обновлении исходных текстов через
cvs или
CVSup должен быть указан тег
(определяющий точку во времени).Тег относится либо к определенной линии разработки
FreeBSD, либо к определенному моменту времени. Первый тип называется
тегом ветви, второй тип называется тегом
релиза.Теги ветвейВсе они, за исключением HEAD (который всегда
работает), относятся только к дереву src/.
Деревья ports/, doc/ и
www/ не имеют тегов ветвей.HEADСимволическое имя для основной ветви разработки,
FreeBSD-CURRENT. Используется по умолчанию, если тег не
указан.В CVSup, этот тег представлен
символом . (не знак пунктуации, а
символ .).В CVS тег по умолчанию используется, если тег не указан
вообще. Обычно не очень хорошей идеей является обновление
до CURRENT на машине со STABLE, только если вы не стремитесь
именно к этому.RELENG_5_2Ветвь релиза для FreeBSD-5.2 и FreeBSD-5.2.1, используемая только
для исправлений безопасности и других критических
исправлений.RELENG_5_1Ветвь релиза для FreeBSD-5.1, используемая только
для исправлений безопасности и других критических
исправлений.RELENG_5_0Ветвь релиза для FreeBSD-5.0, используемая только
для исправлений безопасности и других критических
исправлений.RELENG_4Ветвь разработки FreeBSD-4.X, известная также как
FreeBSD-STABLE.RELENG_4_9Ветвь релиза для FreeBSD-4.9, используемая только
для исправлений безопасности и других критических
исправлений.RELENG_4_8Ветвь релиза для FreeBSD-4.8, используемая только
для исправлений безопасности и других критических
исправлений.RELENG_4_7Ветвь релиза для FreeBSD-4.7, используемая только
для исправлений безопасности и других критических
исправлений.RELENG_4_6Ветвь релиза для FreeBSD-4.6 и FreeBSD-4.6.2, используемая
только для исправлений безопасности и других критических
исправлений.RELENG_4_5Ветвь релиза для FreeBSD-4.5, используемая только
для исправлений безопасности и других критических
исправлений.RELENG_4_4Ветвь релиза для FreeBSD-4.4, используемая только
для исправлений безопасности и других критических
исправлений.RELENG_4_3Ветвь релиза для FreeBSD-4.3, используемая только
для исправлений безопасности и других критических
исправлений.RELENG_3Ветвь разработки для FreeBSD-3.X, известная также как
3.X-STABLE.RELENG_2_2Ветвь разработки для FreeBSD-2.2.X, известная также как
2.2-STABLE. Эта ветвь по большей части устарела.Теги релизовЭти ветви соответствуют дереву FreeBSD src/
tree (а также деревьям ports/,
doc/, и www/) в определенные
моменты времени, когда были выпущены определенные релизы
FreeBSD.RELENG_5_2_1_RELEASEFreeBSD 5.2.1RELENG_5_2_0_RELEASEFreeBSD 5.2RELENG_4_9_0_RELEASEFreeBSD 4.9RELENG_5_1_0_RELEASEFreeBSD 5.1RELENG_4_8_0_RELEASEFreeBSD 4.8RELENG_5_0_0_RELEASEFreeBSD 5.0RELENG_4_7_0_RELEASEFreeBSD 4.7RELENG_4_6_2_RELEASEFreeBSD 4.6.2RELENG_4_6_1_RELEASEFreeBSD 4.6.1RELENG_4_6_0_RELEASEFreeBSD 4.6RELENG_4_5_0_RELEASEFreeBSD 4.5RELENG_4_4_0_RELEASEFreeBSD 4.4RELENG_4_3_0_RELEASEFreeBSD 4.3RELENG_4_2_0_RELEASEFreeBSD 4.2RELENG_4_1_1_RELEASEFreeBSD 4.1.1RELENG_4_1_0_RELEASEFreeBSD 4.1RELENG_4_0_0_RELEASEFreeBSD 4.0RELENG_3_5_0_RELEASEFreeBSD-3.5RELENG_3_4_0_RELEASEFreeBSD-3.4RELENG_3_3_0_RELEASEFreeBSD-3.3RELENG_3_2_0_RELEASEFreeBSD-3.2RELENG_3_1_0_RELEASEFreeBSD-3.1RELENG_3_0_0_RELEASEFreeBSD-3.0RELENG_2_2_8_RELEASEFreeBSD-2.2.8RELENG_2_2_7_RELEASEFreeBSD-2.2.7RELENG_2_2_6_RELEASEFreeBSD-2.2.6RELENG_2_2_5_RELEASEFreeBSD-2.2.5RELENG_2_2_2_RELEASEFreeBSD-2.2.2RELENG_2_2_1_RELEASEFreeBSD-2.2.1RELENG_2_2_0_RELEASEFreeBSD-2.2.0AFS сайтыAFS серверы для FreeBSD работают на следующих сайтах:ШвецияЧасть файлов:
/afs/stacken.kth.se/ftp/pub/FreeBSD/stacken.kth.se # Stacken Computer Club, KTH, Sweden
130.237.234.43 #hot.stacken.kth.se
130.237.237.230 #fishburger.stacken.kth.se
130.237.234.3 #milko.stacken.kth.seОтветственный ftp@stacken.kth.sersync сайтыСледующие сайты организуют доступ к FreeBSD через протокол rsync
Утилита rsync работает в основном тем же
путем, что и команда &man.rcp.1;, но поддерживает больше параметров
и использует протокол удаленного обновления rsync, который передает
только разницу между двумя наборами файлов, что значительно повышает
скорость синхронизации по сети. Это особенно полезно, если вы
поддерживаете зеркало сервера FreeBSD FTP, или репозитория CVS.
Пакет rsync доступен для многих
операционных систем, в FreeBSD используйте порт net/rsync или пакет.Чешская республикаrsync://ftp.cz.FreeBSD.org/Доступные коллекции:ftp: Частичное зеркало FreeBSD FTP
сервера.FreeBSD: Полное зеркало FreeBSD FTP
сервера.Германияrsync://grappa.unix-ag.uni-kl.de/Доступные соединения:freebsd-cvs: Полный FreeBSD CVS
репозиторий.Этот компьютер помимо прочих также зеркалирует CVS репозитории
проектов NetBSD и OpenBSD.Нидерландыrsync://ftp.nl.FreeBSD.org/Доступные коллекции:vol/3/freebsd-core: Полное зеркало
FreeBSD FTP сервера.Великобританияrsync://rsync.mirror.ac.uk/Доступные коллекции:ftp.FreeBSD.org: Полное зеркало
FreeBSD FTP сервера.Соединенные Штаты Америкиrsync://ftp-master.FreeBSD.org/Этот сервер может использоваться только основными зеркалами
FreeBSD.Доступные коллекции:FreeBSD: Основной архив FreeBSD
FTP сервера.acl: Основной ACL список
FreeBSD.rsync://ftp13.FreeBSD.org/Доступные коллекции:FreeBSD: Полное зеркало FreeBSD FTP
сервера.
diff --git a/ru_RU.KOI8-R/books/handbook/security/chapter.sgml b/ru_RU.KOI8-R/books/handbook/security/chapter.sgml
index fdb227a5d9..0c768cdfc4 100644
--- a/ru_RU.KOI8-R/books/handbook/security/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/security/chapter.sgml
@@ -1,5597 +1,5597 @@
MatthewDillonБольшая часть этой главы была взята из страницы справочника
security(7) которую написал БезопасностьбезопасностьКраткое описаниеЭта глава представляет введение в основные концепции безопасности
системы, некоторые эмпирические правила и более подробно обращается к
отдельным темам, касающимся &os;. Большая часть затрагиваемых тем может
быть применена к безопасности системы и безопасности в интернет вообще.
Интернет больше не то дружественное место, где каждый
хочет быть вам добрым соседом. Защита системы необходима для сохранения
ваших данных, интеллектуальной собственности, времени и всего остального
от хакеров и им подобных.FreeBSD предоставляет массу утилит и механизмов для обеспечения
целостности и безопасности системы и сети.После прочтения этой главы вы узнаете:Основные концепции безопасности системы, специфику &os;.О различных механизмах шифрования в &os;, таких как
DES и MD5.Как настроить аутентификацию с использованием одноразовых
паролей.Как настроить KerberosIV в релизах
&os; до 5.0.Как настроить Kerberos5 в релизах &os;
после 5.0.Как создать межсетевые экраны с помощью
IPFW.Как настроить IPsec и создать VPN между
компьютерами на &os;/&windows;.Как настроить и использовать OpenSSH,
реализацию SSH в &os;.Как настроить и загрузить модули расширения контроля доступа,
использующие концепцию TrustedBSD MAC.Что такое ACL и как их использовать.Как работать с сообщениями безопасности &os;.Перед чтением этой главы вам потребуется:Понимание основных концепций &os; и интернет.ВведениеБезопасность это первая и основная функция системного
администратора. Хотя все многопользовательские системы BSD &unix;
уже снабжены некоторой защитой, работа по созданию и поддержке
дополнительных механизмов безопасности, обеспечивающих защищенную работу
пользователей, это одна из самых серьезных задач системного
администратора. Компьютеры безопасны настолько, насколько вы сделаете
их безопасными и требования безопасности всегда находятся в противоречии
с удобством работы пользователей. Системы &unix; способны одновременно
работать с огромным количеством процессов и многие из этих процессов
серверные – это означает, что с ними могут взаимодействовать
внешние программы. Сегодня десктопы заменили мини-компьютеры и
мэйнфрэймы, и поскольку компьютеры в наши дни подключены к сети
интернет, безопасность важна как никогда.Наилучшая реализация системы безопасности представима в виде
послойной системы. Вообще говоря все, что нужно сделать,
это создать столько слоев безопасности, сколько необходимо и затем
внимательно следить за вторжениями в систему. Не переусердствуйте в
настройке системы безопасности, иначе она сделает невозможной
обнаружение вторжений, являющееся одним из наиболее важных аспектов
механизма безопасности. Например, нет большого смысла в установке
флага schg (&man.chflags.1;) на каждый исполняемый
файл системы, поскольку хотя таким способом можно временно защитить
исполняемые файлы, это помешает обнаружению факта взлома
системы.Безопасность системы также относится к различным формам атак,
имеющих своей целью вызвать крах системы, или сделать систему
недоступной другим способом, но не пытающихся получить доступ к учетной
записи root (break root).
Угрозы безопасности могут быть поделены на несколько категорий:Отказ в обслуживании (Denial of service, DoS).Взлом пользовательских учетных записей.Взлом учетной записи root через доступные сервисы.Взлом учетной записи root через учетные записи
пользователей.Создание backdoor.DoS атакиотказ в обслуживании (Denial of Service, DoS)безопасностьDoS атакиотказ в обслуживании (Denial of Service, DoS)Отказ в обслуживании (Denial of Service, DoS)Атака отказ в обслуживании отбирает у машины
необходимые ресурсы. Обычно DoS атаки используют грубую силу, чтобы
попытаться обрушить систему или сделать ее недоступной другим способом,
превысив лимиты ее сервисов или сетевого стека. Некоторые DoS атаки
пытаются использовать ошибки в сетевом стеке для обрушения системы одним
пакетом. Эту проблему можно решить только исправив ядро системы. Атаки
зачастую можно предотвратить правильной установкой параметров,
ограничивающих нагрузку на систему в неблагоприятных условиях. С
атаками, использующими грубую силу, бороться сложно. Например, атака с
использованием пакетов с поддельными адресами, которую почти невозможно
остановить, может быстро отключить вашу систему от интернет. Возможно,
она не приведет к отказу системы, но сможет переполнить соединение с
интернет.безопасностьвзлом учетных записейВзлом учетной записи пользователя обычно встречается чаще, чем DoS
атаки. Многие системные администраторы все еще используют стандартные
сервисы telnetd,
rlogind и ftpd на
своих серверах. Эти сервисы по умолчанию не работают с зашифрованными
соединениям. В результате при среднем количестве пользователей пароль
одного или нескольких пользователей, входящих в систему через внешнее
соединение (это обычный и наиболее удобный способ входа в систему),
будет перехвачен. Внимательный системный администратор должен
анализировать логи удаленного доступа на предмет подозрительных адресов
пользователей даже в случае успешного входа.Кто-то может предположить, что атакующий при наличии доступа к
учетной записи пользователя может взломать учетную запись
root. Однако, реальность такова, что в хорошо
защищенной и поддерживаемой системе доступ к учетной записи пользователя
не обязательно даст атакующему доступ к root.
Разница между доступом к обычной учетной записи и к
root важна, поскольку без доступа к
root атакующий обычно не способен скрыть свои
действия, и в худшем случае сможет лишь испортить файлы пользователя или
вызвать крах системы. Взлом пользовательских учетных записей
встречается очень часто, поскольку пользователи заботятся о безопасности
так, как системные администраторы.безопасностьbackdoorsСистемные администраторы должны помнить, что существует множество
потенциальных способов взлома учетной записи root.
Атакующий может узнать пароль root, найти ошибку в
сервисе, работающем с привилегиями и взломать учетную запись
root через сетевое соединение с этим сервисом, или
узнать об ошибке в suid-root программе, позволяющей атакующему взлом
root с помощью взломанной учетной записи
пользователя. Если атакующий нашел способ взлома
root, ему может не понадобиться установка backdoor.
Многие из обнаруженных и закрытых на сегодняшний день брешей
в системе, позволяющие взлом root, требуют от
атакующего серьезной работы по заметанию следов, поэтому большинство
атакующих устанавливают backdoor. Backdoor предоставляет атакующему
простой способ восстановления доступа к системе с привилегиями
root, но также дает системному администратору
удобный способ обнаружения вторжения. Устранение возможности установки
backdoor возможно повредит безопасности системы, поскольку это
не устранит брешь, позволившую проникнуть в
систему.Меры безопасности всегда должны быть реализованы многоуровнево,
и могут быть классифицированы следующим образом:Защита root и служебных учетных
записей.Защита root – работающих под root
сервисов и suid/sgid исполняемых файлов.Защита учетных записей пользователей.Защита файла паролей.Защита ядра, raw устройств и файловых
систем.Быстрое обнаружение несанкционированных изменений в
системе.Паранойя.В следующем разделе этой главы эти темы изложены более
подробно.Защита FreeBSDбезопасностьзащита FreeBSDКоманда и протоколВ этом документе мы будет использовать
выделенный упоминая команду или приложение.
Например, мы будем использовать выделение для ssh, поскольку это и
команда и протокол.В последующем разделе будут рассмотрены методы защиты системы
FreeBSD, упомянутые в предыдущем разделе этой главы.Защита учетной записи root и служебных
учетных записейsuВо-первых, не беспокойтесь о защите служебных учетных записей,
если не защищена учетная запись root. В
большинстве систем у учетной записи root есть
пароль. Использование пароля root
опасно всегда. Это не означает, что вы должны
удалить пароль. Пароль почти всегда необходим для доступа
по консоли. Но это означает, что вы должны сделать невозможным
использование пароля не из консоли или может быть даже с помощью
команды &man.su.1;. Например, убедитесь, что псевдотерминалы
в файле /etc/ttys перечислены с параметром
insecure, что делает невозможным вход на них
под root напрямую с помощью
telnet или rlogin. При
использовании других средств входа, таких как
sshd, убедитесь что вход под
root напрямую отключен и в них. Сделайте
это, открыв файл /etc/ssh/sshd_config, и
убедившись, что параметр PermitRootLogin
установлен в NO. Проверьте каждый метод доступа
– сервис FTP и ему подобные часто подвержены взлому. Прямой
вход под root должен быть разрешен только с
системной консоли.wheelКонечно, как системный администратор вы должны иметь доступ
root, поэтому потребуется открыть несколько
лазеек. Но убедитесь, что для доступа к ним необходим
дополнительный пароль. Одним из способов доступа к
root является добавление соответствующих учетных
записей к группе wheel (в файле
/etc/group). Это позволяет использовать
su для доступа к root.
Вы никогда не должны давать таким учетным записям доступ
к wheel непосредственно, помещая их в группу
wheel в файле паролей. Служебные учетные
записи должны помещаться в группу staff,
а затем добавляться к группе wheel в файле
/etc/group. Только те члены группы staff,
которым действительно нужен доступ к root,
должны быть помещены в группу wheel.
При работе с такими методами аутентификации как Kerberos, возможно также
использование файла .k5login в каталоге
пользователя root для доступа к учетной записи
root с помощью &man.ksu.1; без помещения
кого-либо в группу wheel. Это решение возможно
лучше, поскольку механизм wheel все еще
позволяет взлом root, если злоумышленник
получил копию файла паролей и смог взломать служебную учетную запись.
Хотя использование механизма wheel лучше,
чем работа через root напрямую, это не
обязательно самый безопасный способ.Непрямой способ защиты служебных учетных записей и конечно
root это использование альтернативных методов
доступа и замена зашифрованных паролей на символ
*. Используя команду
&man.vipw.8;, замените каждый зашифрованный пароль служебных учетных
записей на этот символ для запрета входа с аутентификацией по паролю.
Эта команда обновит файл /etc/master.passwd и
базу данных пользователей/паролей.Служебная учетная запись вроде этой:foobar:R9DT/Fa1/LV9U:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcshДолжна быть заменена на такую:foobar:*:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcshЭто изменение предотвратит обычный вход, поскольку зашифрованный
пароль никогда не совпадет с *.
После этого члены группы staff должны использовать другой механизм
аутентификации, например &man.kerberos.1; или &man.ssh.1; с парой
ключей: публичным и приватным. При использовании такой системы как
Kerberos, потребуется защитить сервер Kerberos и рабочую станцию.
При использовании пары публичного/приватного ключей с ssh,
потребуется защитить компьютер, с которого
происходит вход (обычно это рабочая станция). Дополнительных слой
защиты может быть добавлен путем защиты пары ключей при создании их
с помощью &man.ssh-keygen.1;. Возможность заменить пароли служебных
учетных записей на * гарантирует
также, что вход может быть осуществлен только через защищенные методы
доступа, которые вы настроили. Это принуждает всех членов staff
использовать защищенные, шифрованные соединения для всех входов,
что закрывает большую брешь, используемую многими нарушителями:
перехват паролей с другого, слабо защищенного компьютера.Более непрямой механизм безопасности предполагает, что вы входите
с более защищенного сервера на менее защищенный. Например, если
главный сервер работает со всеми сервисами, рабочая станция не должна
работать ни с одним. Для поднятия уровня безопасности до приемлемого
уровня, число запущенных на ней сервисов необходимо сократить до
минимума, вплоть до отключения их всех, кроме того необходимо
использовать защищенный паролем хранитель экрана. Конечно, при
наличии физического доступа к рабочей станции атакующий может взломать
любую систему безопасности. Это определенно проблема, которую вы
должны учитывать, но учтите также тот факт, что большинство взломов
совершаются удаленно, через сеть, людьми, которые не имеют физического
доступа к вашим рабочим станциям или серверам.KerberosIVИспользование такой системы как Kerberos дает возможность
заблокировать или изменить пароль в одном месте, что сразу
отразиться на всех компьютерах, где существует служебная учетная
запись. Если эта учетная запись будет взломана, возможность
немедленно изменить пароль на всех компьютерах нельзя недооценивать.
Без этой возможности изменение паролей на N машинах может стать
проблемой. Вы можете также наложить ограничения на смену паролей
с помощью Kerberos: не только установить значения timeout в
Kerberos, но и добавить требование смены пароля пользователем
после определенного периода времени (скажем, раз в месяц).Защита работающих под root сервисов и suid/sgid исполняемых
файловntalkcomsatfingersandboxessshdtelnetdrshdrlogindПредусмотрительный системный администратор запускает только те
сервисы, в которых нуждается, ни больше ни меньше. Учитывайте, что
сервисы сторонних разработчиков наиболее подвержены ошибкам. К примеру,
работа со старыми версиями imapd или
popper это все равно что раздача доступа
root всему миру. Никогда не запускайте
сервисы, которые вы не проверили достаточно внимательно. Многим
сервисам не требуется работа под root.
Например, даемоны ntalk,
comsat, и
finger могут быть запущены в так
называемых песочницах
(sandboxes). Песочница это не идеальное
решение, поскольку вызывает много проблем, но она подходит под
модель послойной безопасности: если кто-то сможет взломать сервис,
работающий в песочнице, ему потребуется взломать еще и саму
песочницу. Чем больше уровней (слоев) потребуется
пройти атакующему, тем меньше вероятность его успеха. Ошибки,
позволяющие получать root доступ, находили фактически во всех
сервисах, запускаемых под root, включая
основные системные сервисы. Если вы обслуживаете машину, на которую
входят только через sshd и никогда не
входят через telnetd,
rshd или
rlogind, отключите эти сервисы!В FreeBSD сервисы
ntalkd,
comsat и
finger теперь по умолчанию работают в
песочнице. Другая программа, которая может быть
кандидатом на запуск в песочнице это
&man.named.8;. /etc/defaults/rc.conf включает
необходимые для запуска named
в песочнице аргументы в закомментированой форме.
В зависимости от того, устанавливаете ли вы новую систему, или
обновляете старую, учетные записи пользователей, используемые
этими песочницами могут не быть созданы.
Предусмотрительный системный администратор должен узнать о
песочницах для сервисов и установить их если есть
возможность.sendmailЕсть множество других сервисов, которые обычно не работают в
песочницах: sendmail,
popper,
imapd, ftpd,
и другие. Некоторым из этих сервисов есть альтернативы,
но их установка может потребовать больше работы, чем вы готовы
выполнить (фактор удобства). Вы можете запустить эти сервисы под
root и положиться на другие механизмы обнаружения
вторжений, которые могут пройти через них.Другая большая потенциальная root брешь
в системе это suid-root и sgid исполняемые файлы. Большинство
этих исполняемых файлов, таких как rlogin,
установлены в /bin, /sbin,
/usr/bin, или /usr/sbin.
Хотя ничто не может быть безопасно на 100%, находящиеся по умолчанию
в системе suid и sgid исполняемые файлы могут быть признаны
достаточно безопасными. Но root бреши все еще
обнаруживаются в этих исполняемых файлах. root
брешь, обнаруженная в Xlib в 1998 делала
xterm (который обычно suid) подверженным
взлому. Лучше сразу принять меры предосторожности, чем сожалеть
потом. Предусмотрительный системный администратор ограничит права
запуска suid исполняемых файлов, которые должны запускаться
пользователями группы staff, только этой группой, а также запретит
доступ (chmod 000) к тем исполняемым файлам
suid, которые никем не используются. Серверу без монитора обычно
не требуется исполняемый файл xterm.
Исполняемые sgid исполняемые файлы могут быть почти так же опасны.
Если нарушитель сможет взломать sgid-kmem исполняемый файл, он
возможно сможет прочесть /dev/kmem и
таким образом получить файл зашифрованных паролей, что потенциально
делает возможным взлом любой защищенной паролем учетной записи.
Аналогично нарушитель, проникший в группу kmem,
может отслеживать последовательности клавиш, отправленные через
псевдотерминалы, включая псевдотерминалы, используемые через
безопасные соединения. Нарушитель, вошедший в группу
tty может сделать вывод почти на любой
пользовательский терминал. Если пользователь работает с
терминальной программой или эмулятором с возможностью эмуляции
клавиатуры, взломщик может потенциально сгенерировать поток данных,
который заставит терминал пользователя ввести команду, и она будет
запущена с правами этого пользователя.Защита учетных записей пользователейУчетные записи пользователей обычно сложнее всего защитить.
Вы можете ввести драконовские ограничения доступа к служебным учетным
записям, заменив их пароли на символ
*, но возможно не сможете сделать
то же с обычными учетными записями пользователей. Если есть
такая возможность, вы возможно сможете защитить учетные записи
пользователей соответствующим образом. Если нет, просто
более бдительно отслеживайте эти учетные записи. Использование
ssh и Kerberos для учетных записей пользователей более
проблематично, поскольку требует дополнительной административной
работы и технической поддержки, но все же это решение лучше,
чем файл с шифрованными паролями.Защита файла паролейЕдинственный абсолютно надежный способ это замена на
* максимально возможного количества паролей и
использование ssh или Kerberos для доступа к таким учетным записям.
Хотя файл с шифрованными паролями (/etc/spwd.db)
доступен для чтения только root, возможно, что
нарушитель сможет получить доступ на чтение к этому файлу, даже если
не получит права root на запись.Ваши скрипты безопасности должны всегда проверять и составлять
отчет об изменениях файла паролей (обратитесь к разделу Проверка целостности файлов
ниже по тексту).Защита ядра, raw устройств и файловых
системЕсли атакующий взломает root, он сможет
сделать практически все, но есть способы усложнить его задачу.
Например, в большинстве современных ядер встроено устройство
перехвата пакетов. В FreeBSD оно называется
bpf. Нарушитель обычно пытается запустить
перехват пакетов на взломанной машине. Вы не должны предоставлять
ему такой возможности, на большинстве систем устройство
bpf не должно быть встроено в ядро.sysctlНо даже если вы выключите устройство bpf,
все еще остаются проблемы, связанные с устройствами
/dev/mem и
/dev/kmem.
Нарушитель все еще может писать на дисковые raw устройства.
Есть также другая возможность ядра, загрузка модулей, &man.kldload.8;.
Активный нарушитель может использовать KLD модуль для установки
собственного устройства bpf или другого
перехватывающего устройства на работающее ядро. Для решения этих
проблем запускайте ядро с большим уровнем безопасности, как минимум 1.
Уровень безопасности может быть установлен с помощью
sysctl через переменную
kern.securelevel. После установки уровня
безопасности в 1 доступ на запись в raw устройства будет запрещена и
полностью заработают специальные флаги chflags,
такие как schg. Убедитесь также, что
флаг schg установлен на критически важных
загрузочных исполняемых файлах, каталогах и файлах скриптов –
на всем, что запускается до установке уровня безопасности.
Это требует большого объема работы, и обновление системы на более
высоком уровне безопасности может стать гораздо сложнее. Вы можете
пойти на компромисс и запускать систему на высоком уровне безопасности,
но не устанавливать флаг schg для каждого
существующего системного файла и каталога. Другая возможность
состоит в монтировании / и
/usr только для чтения. Необходимо заметить,
что такие правила слишком жесткие и могут помешать обнаружению
вторжения.Проверка целостности файлов: исполняемые, конфигурационные файлы
и т.д.Вы можете защищать только ядро, файлы настройки и управления
системой только до тех пор, пока эта защита не вступит в конфликт
с удобством работы в системе. Например, использование
chflags для установки бита
schg на большинство файлов в /
вероятно может только навредить, поскольку хотя и может защитить
файлы, препятствует обнаружению. Последний слой системы безопасности,
возможно, наиболее важный – обнаружение. Остальные меры
безопасности практически бесполезны (или, что еще хуже, могут дать
вам ложное ощущение безопасности) если вы не обнаружите потенциальное
вторжение. Половина функций системы безопасности направлена на
замедление атакующего, а не на его остановку, для того, чтобы дать
системе обнаружения возможность поймать нарушителя на месте
преступления.Лучший способ обнаружения вторжения – отслеживание
измененных, отсутствующих, или неожиданно появившихся файлов.
Для наблюдения за измененными файлами лучше всего использовать
другую (зачастую централизованную) систему с ограниченным
доступом. Добавление написанных вами скриптов к этой дополнительно
защищенной системе с ограниченным доступом делает ее практически
невидимой для потенциальных взломщиков, и это важно. В целях
достижения максимального эффекта вам может потребоваться предоставить
этой системе доступ к другим машинам в сети, обычно с помощью
NFS экспорта только для чтения или сгенерировав пары ключей ssh
для доступа к другим машинам по ssh. Помимо большого объема
сетевого трафика, NFS более скрытый метод – он позволяет
контролировать файловые системы на каждом клиентском компьютере
практически незаметно. Если ваш сервер с ограниченным доступом
подключен к клиентским компьютерам через коммутатор, NFS метод
это зачастую лучший выбор. При соединении через концентратор, или
через несколько маршрутизаторов, NFS метод может стать слишком
небезопасным и использование ssh может стать лучшим выбором даже
несмотря на то, что ssh оставляет следы своей работы.Как только у вас появился сервер с ограниченным доступом,
и как минимум доступ на чтение в клиентских системах, потребуется
написать скрипты для выполнения мониторинга. При наличии доступа
по NFS вы можете написать скрипты с помощью простых системных утилит,
таких как &man.find.1; и &man.md5.1;. Лучше всего подсчитывать
md5 файлов на клиентском компьютере как минимум один раз в день,
а файлы, контролирующие запуск из /etc и
/usr/local/etc даже более часто. При
обнаружении расхождений в md5, контролирующий компьютер должен
просигналить системному администратору проверить изменившиеся
файлы. Хороший скрипт безопасности проверит также наличие
несоответствующих исполняемых suid файлов и новых или измененных
файлов в системных разделах / и
/usr.При использовании ssh вместо NFS, написать скрипты безопасности
гораздо сложнее. Вам обязательно потребуется скопировать
(scp) скрипты на клиентский компьютер,
сделать из невидимыми, и для безопасности потребуется также
скопировать исполняемые файлы (такие как find), которые будут
использоваться скриптом. Приложение ssh
на клиентском компьютере может быть уже взломано. В конечном итоге,
без ssh не обойтись при работе через небезопасные соединения,
но его гораздо сложнее использовать.Хороший скрипт безопасности проверит также изменения в файлах
настройки, работающих при подключении пользователей и служебных учетных
записей:
.rhosts, .shosts,
.ssh/authorized_keys и так далее…
файлы, которые могли не попасть в область проверки
MD5.Если для пользователей выделен большой объем дискового
пространства, проверка каждого файла на таких разделах может занять
слишком много времени. В таком случае установка флагов монтирования
для запрета suid исполняемых файлов и устройств на таких разделах
это хорошая идея. Примените параметры &man.mount.8;
nodev и nosuid. Проверяйте
эти разделы в любом случае, хотя бы раз в неделю, поскольку
необходимо обнаруживать попытки взлома, независимо от того,
эффективны они или нет.Учет процессов (&man.accton.8;) это относительно несложная
возможность операционной системы, которая может помочь
как механизм обнаружения состоявшихся вторжений. Она особенно
полезна для обнаружения пути проникновения нарушителя в систему,
если файл не был затронут проникновением.Наконец, скрипты безопасности должны обработать лог файлы,
которые необходимо создавать настолько защищенным способом, насколько
это возможно – подключение syslog удаленно может быть очень
полезным. Злоумышленник попытается уничтожить следы взлома,
и лог файлы критически важны для системного администратора,
пытающегося отследить время и метод первого проникновения.
Один из надежных способов получения лог файлов является подключение
системной консоли к последовательному порту и постоянный
сбор информации через защищенную машину, отслеживающую
консоли.ПаранойяНемного паранойи никогда не повредит. Как правило, системный
администратор может добавлять элементы безопасности в любом
количестве, пока это не влияет на удобство, а также некоторое
количество элементов безопасности, влияющих
на удобство. Что даже более важно, системный администратор должен
немного изменить их – если вы используете рекомендации, например
те, что даны в этом документе, они становятся известны атакующему,
который также имеет доступ к этому документу.
prospective attacker who also has access to this document.Атаки DoSОтказ в обслуживании (DoS)Этот раздел охватывает DoS атаки. DoS атаки это обычно
пакетные атаки. Хотя против современной атаки с подделкой пакетов,
которая перегружает сеть, мало что можно сделать, вы можете
ограничить повреждения, убедившись, что атака не может
обрушить ваши сервера.Ограничение количества порождаемых процессов.Уменьшение последствий springboard атак (ICMP ответ,
широковещательный ping и т.д.).Кэш маршрутизации ядра.Обычная DoS атака против порождающего процессы сервера пытается
исчерпать ресурсы сервера по процессам, файловым дескрипторам и
памяти до тех пор, пока машина не подвиснет. У
inetd (обратитесь к &man.inetd.8;)
есть несколько параметров, позволяющих ограничить такие атаки.
Необходимо учесть, что хотя можно предотвратить падение системы, в
общем случае невозможно предотвратить прекращение работы сервиса.
Внимательно прочтите страницу справочника и обратите особое внимание
на параметры , , и
. Учтите, что параметр не
работает в случае атак с использованием поддельных IP пакетов,
поэтому как правило необходимо использование комбинации параметров.
Некоторые standalone сервисы используют собственные параметры,
ограничивающие порождение процессов.У Sendmail есть собственный параметр
, которая работает гораздо лучше,
чем параметр sendmail, ограничивающий нагрузку. Вам необходимо задать
параметр запуска sendmailMaxDaemonChildren достаточно большим, чтобы
обслуживать ожидаемую нагрузку, но так, чтобы компьютер мог обслужить
такое количество приложений sendmail без
падения системы. Хорошей мерой является запуск sendmail в режиме
очереди () и запуск даемона
(sendmail -bd) отдельно от очереди
(sendmail -q15m). Если вы все же хотите
организовать доставку в режиме реального времени, запускайте
очередь с меньшим интервалом , но убедитесь
в правильной установке параметра sendmail
MaxDaemonChildren для предотвращения
ошибок.Syslogd может быть атакован
непосредственно, настоятельно рекомендуется использовать параметр
если это возможно и параметр
в остальных случаях.Вы также должны быть очень осторожны с сервисами, совершающими
обратное подключение, такими как tcpwrapper
с reverse-identd, который может быть атакован непосредственно.
По этой причине возможность tcpwrappers
reverse-ident обычно не следует использовать.Правильным будет запрет доступа к внутренним сервисам из внешней
сети путем соответствующей настройки межсетевого экрана на внешнем
маршрутизаторе. Идея в том, чтобы предотвратить перегрузку сервисов
атаками из внешней сети, а кроме того защитить
root от взлома через сеть. Всегда настраивайте
исключающий межсетевой экран, т.е. закрыть все
кроме портов A, B, C, D, и M-Z.
Этим способом вы можете закрыть все порты нижнего диапазона,
кроме явно указанных, таких как named
(если вы поддерживаете интернет-зону),
ntalkd,
sendmail, и других сервисов, доступных
из интернет. Если вы попробуете настроить межсетевой экран другим
способом – включающий, или разрешающий межсетевой экран, есть
большой шанс забыть закрыть пару сервисов, или
добавить новый внутрисетевой сервис и забыть обновить межсетевой
экран. Вы можете открыть диапазон портов с большими номерами
для обычных приложений без угрозы портам нижнего диапазона.
Учтите также, что FreeBSD позволяет вам контролировать диапазоны
портов, используемые для динамической привязки через различные
переменные sysctlnet.inet.ip.portrange (sysctl -a | fgrep
portrange), что позволяет упростить настройку
межсетевого экрана. Например, вы можете использовать обычный
диапазон портов со значениями от 4000 до 5000, и диапазон портов с
большими номерами от 49152 до 65535, а затем заблокировать все до
4000 порта (конечно оставив доступ из интернет к определенным
портам.ICMP_BANDLIMДругой распространенный тип DoS атак называется springboard
– сервер атакуется таким образом, что генерируемые ответы
перегружают его, локальную сеть или какие-то другие компьютеры.
Наиболее распространенная атака этого вида это
широковещательная ICMP ping атака.
Атакующий подделывает пакеты ping, подставляя IP адрес машины, которую
он намеревается атаковать, и отправляет их на широковещательный
адрес вашей локальной сети. Если ваш внешний маршрутизатор не
настроен на отбрасывание пакетов ping на широковещательные адреса,
ваша сеть начинает генерировать соответствующие ответы на
поддельный адрес, что приводит к перегрузке хоста-жертвы, особенно
если атакующий использует этот же трюк с множеством
широковещательных адресов в множестве сетей одновременно.
Были зарегистрированы широковещательные атаки свыше ста двадцати
мегабит. Другая распространенная springboard атака направлена на
ICMP систему сообщения об ошибках. Конструируя пакеты, вызывающие
ICMP сообщения об ошибках, атакующий может нагрузить входящее
соединение сервера и вынудить сервер нагрузить исходящее соединение
ICMP ответами. Этот тип атаки может также обрушить сервер, когда
тот исчерпает mbuf, обычно если сервер не может ограничить число
ответов ICMP, когда они генерируются слишком быстро. В ядре
FreeBSD есть новая опция сборки, ,
которая ограничивает эффективность этого типа атак. Последний
основной класс springboard атак относится к определенным
внутренним сервисам inetd, таким как
сервис udp echo. Атакующий просто подделывает адрес источника
и адрес назначения UDP пакетов, устанавливая в их качестве
соответственно echo порт сервера A и B, оба этих сервера принадлежат
вашей локальной сети. Эти два сервера начинают перебрасываться
этим пакетом друг с другом. Атакующий может вызвать перегрузку
обеих серверов и их сетей, просто отправив несколько пакетов таким
способом. Аналогичные проблемы существуют с портом
chargen. Компетентный системный
администратор должен отключить эти тестовые сервисы inetd.Атаки с поддельными пакетами могут также использоваться для
переполнения кэша маршрутизации ядра. Обратитесь к параметрам
sysctlnet.inet.ip.rtexpire,
rtminexpire, и rtmaxcache.
Атака с поддельными пакетами, использующая произвольный IP адрес
источника, заставит ядро сгенерировать временный кэшированный
маршрут в таблице маршрутизации, который можно увидеть с помощью
netstat -rna | fgrep W3. Эти маршруты обычно
удаляются через 1600 секунд или около того. Если ядро определит,
что кэшированная маршрутная таблица стала слишком большой, оно
динамически уменьшит rtexpire, но никогда не
станет делать его меньше чем rtminexpire.
С этим связаны две проблемы:Ядро не отреагирует достаточно быстро, когда легко нагруженный
сервер будет внезапно атакован.Значение rtminexpire недостаточно мало
для поддержки работоспособности в условиях продолжительной
атаки.Если ваши серверы подключены к интернет через линию T3 или
более быструю, предусмотрительно будет изменить оба значения
rtexpire и rtminexpire
с помощью &man.sysctl.8;. Никогда не устанавливайте ни один из этих
параметров в нуль (если только вы не хотите обрушить систему).
Установка обеих параметров в значение 2 секунды должна предотвратить
таблицу маршрутизации от атак.Проблемы, связанные с доступом к Kerberos и SSHsshKerberosIVПри использовании Kerberos и ssh необходимо учесть несколько
возможных проблем. Kerberos V это отличный протокол
аутентификации, но в адаптированных к нему приложениях
telnet и
rlogin есть несколько ошибок, которые
могут сделать их непригодными к работе с бинарными потоками.
К тому же, по умолчанию Kerberos не шифрует сессию, если вы не
используете параметр .
ssh шифрует все по умолчанию.
ssh работает очень хорошо во всех ситуациях, но пересылает
ключи по умолчанию. Это означает, что если вы работаете с
защищенной рабочей станции, ключи на которой дают доступ к
остальной сети, и заходите по ssh на незащищенный компьютер,
эти ключи могут быть использованы для взлома. Атакующему
не удастся получить сами ключи, но поскольку ssh открывает порт
во время входа в систему, то если на незащищенной машине
взломан root, эти ключи могут быть использованы
для доступа к другим компьютерам, на которых они действуют.Мы рекомендуем использовать ssh в комбинации с Kerberos
для служебных учетных записей если это возможно.
ssh может быть собран с поддержкой
Kerberos. Это уменьшает зависимость от потенциально подверженных
взлому ssh ключей, и в то же время защищает пароли через
Kerberos. Ключи ssh должны использоваться только для работы
скриптов на защищенных компьютерах (там, где Kerberos использовать
не получится). Мы также рекомендуем или выключить передачу ключей
в настройках ssh, или использовать параметр
from=IP/DOMAIN, поддерживаемый ssh в файле
authorized_keys, который позволяет использовать
ключи только с определенных компьютеров.BillSwingleЧастично переписал и обновил DES, MD5, и шифрованиебезопасностьшифрованиешифрованиеDESMD5У каждого пользователя &unix; системы есть пароль, связанный с его
учетной записью. Очевидно, что эти пароли должны быть известны только
пользователю и соответствующей операционной системе. Для защиты паролей
они шифруются способом, известным как односторонний хэш,
то есть их можно легко зашифровать, но нельзя расшифровать. Другими
словами, то, что мы сказали чуть раньше было очевидно, но не совсем
верно: операционной системе сам пароль
неизвестен. Ей известен только пароль в
зашифрованной форме. Единственный способ получить
обычный пароль это простой перебор всех возможных
паролей.К сожалению, единственный способ шифрования пароля при появлении
&unix; был основан на DES, Data Encryption Standard. Это не было
проблемой для пользователей, живущих в США, но поскольку исходный код
DES нельзя было экспортировать из США, FreeBSD нашла способ одновременно
не нарушать законов США и сохранить совместимость со всеми другими
вариантами &unix;, где все еще использовался DES.Решение было в разделении библиотек шифрования, чтобы пользователи
в США могли устанавливать и использовать библиотеки DES, а у остальных
пользователей был метод шифрования, разрешенный к экспорту. Так
FreeBSD пришла к использованию MD5 в качестве метода шифрования по
умолчанию. MD5 считается более безопасным, чем DES, поэтому установка
DES рекомендуется в основном из соображений совместимости.Определения механизма шифрованияДо FreeBSD 4.4 libcrypt.a была
символической ссылкой на библиотеку, используемую для шифрования.
В FreeBSD 4.4 libcrypt.a была изменена
для предоставления настраиваемой библиотеки аутентификации по хэшу
пароля. На данный момент библиотека поддерживает хэши DES, MD5 и
Blowfish. По умолчанию FreeBSD использует для шифрования паролей
MD5.Довольно легко определить какой метод шифрования используется
в FreeBSD. Один из способов это проверка файла
/etc/master.passwd. Пароли, зашифрованные в
хэш MD5 длиннее, чем те, что зашифрованы с помощью DES и начинаются
с символов $1$. Пароли, начинающиеся
с символов $2$ зашифрованы с помощью
Blowfish. Пароли, зашифрованные DES не содержат каких-то определенных
идентифицирующих символов, но они короче, чем пароли MD5 и
закодированы в 64-символьном алфавите, не содержащем символа
$, поэтому относительно короткая строка,
не начинающаяся с этого символа это скорее всего DES пароль.Формат паролей, используемых для новых паролей, определяется
параметром passwd_format в
/etc/login.conf, которое может принимать значения
des, md5 или
blf. Обратитесь к странице справочника
&man.login.conf.5; за дополнительной информацией о параметрах
login.Одноразовые паролиодноразовые паролибезопасностьодноразовые паролиS/Key это схема с одноразовыми паролями, основанная на одностороннем
хэше. FreeBSD использует хэш MD4 для совместимости, но другие системы
используют MD5 и DES-MAC. S/Key была частью базовой системы FreeBSD
начиная с версии 1.1.5 и используется также во все большем числе
операционных систем. S/Key это зарегистрированная торговая марка
Bell Communications Research, Inc.Начиная с FreeBSD версии 5.0, S/Key была замещена на функциональный
эквивалент – OPIE (One-time Passwords In Everything).
OPIE по умолчанию использует MD5.Есть три различных вида паролей, о которых мы поговорим ниже.
Первый вид это ваш обычный пароль &unix; или пароль Kerberos; мы
будем называть его пароль &unix;. Второй вид это
одноразовый пароль, сгенерированный программой S/Key
key или программой OPIE &man.opiekey.1; и принимаемый
командами keyinit или &man.opiepasswd.1;
и в приглашении login; мы будем называть их одноразовыми
паролями. Последний вид паролей это защищенные пароли, которые
вы передаете программам
key/opiekey (и иногда
программам keyinit/opiepasswd),
и которые эти программы используют для создания одноразовых паролей;
мы будем называть его защищенными паролями или просто
паролями.Защищенный пароль не имеет никакого отношения к вашему паролю
&unix;; они могут быть одинаковыми, но это не рекомендуется.
Защищенные пароли S/Key и OPIE не ограничены 8-ю символами, как
старые &unix; паролиВ &os; стандартный пароль
может быть до 128 символов длиной.,
они могут быть настолько длинными, насколько вы захотите. Очень часто
используются пароли длиной в шесть или семь символов. По большей части
система S/Key или OPIE работает полностью независимо от системы
паролей &unix;.Помимо паролей, есть два других вида данных, важных для S/Key и
OPIE. Первый, известный как seed или
ключ, состоит из двух букв и пяти цифр. Другой,
называемый счетчиком цикла, это номер от 1 до 100.
S/Key создает одноразовый пароль, соединяя ключ и защищенный пароль,
а затем применяя MD4/MD5 столько раз, сколько указано счетчиком цикла и
выдает результат в виде шести коротких слов на английском. Эти шесть
слов на английском и есть ваш одноразовый пароль. Система
аутентификации (как правило PAM) хранит последний использованный
одноразовый пароль, и пользователь аутентифицитуется если хэш вводимого
пользователем пароля совпадает с предыдущим паролем. Поскольку
используется односторонний хэш, невозможно сгенерировать следующий
одноразовый пароль если получен предыдущий; счетчик цикла уменьшается
после каждого успешного входа для поддержки синхронизации пользователя
с программой login. Когда счетчик цикла уменьшается до 1, S/Key и OPIE
должны быть переинициализированы.В каждой из обсуждаемых ниже систем задействованы три программы.
Программы key и opiekey
получают счетчик цикла, ключ и защищенный пароль и создают одноразовый
пароль или последовательный список одноразовых паролей. Программы
keyinit и opiepasswd
используются для инициализации S/Key и OPIE соответственно,
и для смены паролей, счетчиков цикла, или ключей; они принимают
защищенный пароль или счетчик цикла, ключ и одноразовый пароль.
Программы keyinfo и opieinfo
проверяют соответствующие файлы (/etc/skeykeys
или /etc/opiekeys) и печатают текущий счетчик
цикла и ключ вызывающего пользователя.Мы рассмотрим четыре вида операций. Первая это использование
keyinit или opiepasswd через
защищенное соединение для первоначальной настройки системы одноразовых
паролей, или для изменения пароля или ключа. Вторая операция это
использование в тех же целях keyinit или
opiepasswd через незащищенное соединение, в сочетании
с key или opiekey через защищенное
соединение. Третья это использование
key/opiekey для входа через
незащищенное соединение. Четвертая это использование
key или opiekey для генерации
набора ключей, которые могут быть записаны или распечатаны для
соединения из места, где защищенное соединение недоступно.Защищенная установка соединенияДля первоначальной настройки S/Key, измените ваш пароль или
ключ при входе через защищенное соединение (например, с консоли
компьютера или через ssh), используйте
команду keyinit без параметров при входе под
своим именем:&prompt.user; keyinit
Adding unfurl:
Reminder - Only use this method if you are directly connected.
If you are using telnet or rlogin exit with no password and use keyinit -s.
Enter secret password:
Again secret password:
ID unfurl s/key is 99 to17757
DEFY CLUB PRO NASH LACE SOFTДля OPIE, вместо этого используется
opiepasswd:&prompt.user; opiepasswd -c
[grimreaper] ~ $ opiepasswd -f -c
Adding unfurl:
Only use this method from the console; NEVER from remote. If you are using
telnet, xterm, or a dial-in, type ^C now or exit with no password.
Then run opiepasswd without the -c parameter.
Using MD5 to compute responses.
Enter new secret pass phrase:
Again new secret pass phrase:
ID unfurl OTP key is 499 to4268
MOS MALL GOAT ARM AVID COED
В приглашениях Enter new secret pass phrase: или
Enter secret password:, введите пароль или фразу.
Запомните, это не тот пароль, с которым вы будете входить, он
используется для генерации одноразовых паролей. Строка
ID содержит информацию для вашего конкретного случая:
имя пользователя, счетчик цикла и ключ. При входе система запомнит
эти параметры и отправит их вам, поэтому их не надо запоминать. В
последней строке находится одноразовый пароль, соответствующий
этим параметрам и секретному паролю; если вы войдете в систему сразу,
используйте этот одноразовый пароль.Незащищенная установка соединенияДля инициализации или изменения защищенного пароля через
незащищенное соединение, вам потребуется существующее защищенное
соединение куда-то, где вы сможете запустить key
или opiekey; это может быть средство доступа
&macintosh; или shell на компьютере, которому вы доверяете.
Вам потребуется также установить значение счетчика цикла (100
возможно подойдет), и задать ключ или использовать сгенерированный.
Через незащищенное соединение (к компьютеру, на котором производится
настройка), используйте команду keyinit -s:&prompt.user; keyinit -s
Updating unfurl:
Old key: to17758
Reminder you need the 6 English words from the key command.
Enter sequence count from 1 to 9999: 100
Enter new key [default to17759]:
s/key 100 to 17759
s/key access password:
s/key access password:CURE MIKE BANE HIM RACY GOREДля OPIE, используйте opiepasswd:&prompt.user; opiepasswd
Updating unfurl:
You need the response from an OTP generator.
Old secret pass phrase:
otp-md5 498 to4268 ext
Response: GAME GAG WELT OUT DOWN CHAT
New secret pass phrase:
otp-md5 499 to4269
Response: LINE PAP MILK NELL BUOY TROY
ID mark OTP key is 499 gr4269
LINE PAP MILK NELL BUOY TROY
Чтобы принять ключ по умолчанию нажмите Enter.
Затем, перед вводом пароля доступа введите те же параметры в
вашем защищенном соединении или средстве доступа S/Key:&prompt.user; key 100 to17759
Reminder - Do not use this program while logged in via telnet or rlogin.
Enter secret password: <secret password>
CURE MIKE BANE HIM RACY GOREИли для OPIE:&prompt.user; opiekey 498 to4268
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase:
GAME GAG WELT OUT DOWN CHAT
Теперь переключитесь на незащищенное соединение и скопируйте
одноразовый пароль, сгенерированный соответствующей программой.Создание одного одноразового пароляКак только вы настроите S/Key или OPIE, во время входа появится
приглашение вроде этого:&prompt.user; telnet example.com
Trying 10.0.0.1...
Connected to example.com
Escape character is '^]'.
FreeBSD/i386 (example.com) (ttypa)
login: <username>
s/key 97 fw13894
Password: Или для OPIE:&prompt.user; telnet example.com
Trying 10.0.0.1...
Connected to example.com
Escape character is '^]'.
FreeBSD/i386 (example.com) (ttypa)
login: <username>
otp-md5 498 gr4269 ext
Password: Кроме того, у S/Key и OPIE есть полезная особенность (не
показанная здесь): если вы нажмете Enter
в приглашении на ввод пароля, включится эхо, и вы сможете увидеть
то, что вводите. Это может быть очень полезно, если вы пытаетесь
ввести пароль вручную, например с распечатки.MS-DOSWindowsMacOSВ этот момент вам потребуется сгенерировать одноразовый пароль,
чтобы ввести его в приглашение. Это должно быть выполнено на
защищенной системе, в которой вы можете запустить
key или opiekey (есть версии
для DOS, &windows; и &macos;). Им требуются значения счетчика цикла
и ключ в качестве параметров командной строки. Вы можете скопировать
и вставить их прямо из приглашения login компьютера, на который
входите.В защищенной системе:&prompt.user; key 97 fw13894
Reminder - Do not use this program while logged in via telnet or rlogin.
Enter secret password:
WELD LIP ACTS ENDS ME HAAGДля OPIE:&prompt.user; opiekey 498 to4268
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase:
GAME GAG WELT OUT DOWN CHATТеперь, когда у вас есть одноразовый пароль, можете продолжить
вход в систему:login: <username>
s/key 97 fw13894
Password: <return to enable echo>
s/key 97 fw13894
Password [echo on]: WELD LIP ACTS ENDS ME HAAG
Last login: Tue Mar 21 11:56:41 from 10.0.0.2 ... Создание нескольких одноразовых паролейИногда вы отправляетесь туда, где нет доступа к защищенному
компьютеру или защищенному соединению. В этом случае, можно
использовать команды key и
opiekey для создания нескольких одноразовых
паролей, которые вы сможете распечатать и забрать с собой.
Например:&prompt.user; key -n 5 30 zz99999
Reminder - Do not use this program while logged in via telnet or rlogin.
Enter secret password: <secret password>
26: SODA RUDE LEA LIND BUDD SILT
27: JILT SPY DUTY GLOW COWL ROT
28: THEM OW COLA RUNT BONG SCOT
29: COT MASH BARR BRIM NAN FLAG
30: CAN KNEE CAST NAME FOLK BILKИли для OPIE:&prompt.user; opiekey -n 5 30 zz99999
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase: <secret password>
26: JOAN BORE FOSS DES NAY QUIT
27: LATE BIAS SLAY FOLK MUCH TRIG
28: SALT TIN ANTI LOON NEAL USE
29: RIO ODIN GO BYE FURY TIC
30: GREW JIVE SAN GIRD BOIL PHIПараметр запрашивает пять паролей,
указывает значение последнего счетчика цикла.
Обратите внимание, что пароли печатаются в
обратном по сравнению с обычным использованием
порядке. Если вы действительно параноик, перепишите результат
вручную; иначе скопируйте и передайте его lpr.
Обратите внимание, что каждая линия содержит как счетчик цикла, так
и одноразовый пароль; вам может показаться удобным отрывать пароль
после использования.Ограничение использования &unix; паролейS/Key может наложить ограничения на использование &unix; паролей
на основе имени хоста, имени пользователя, порта терминала или IP
адреса сессии. Эти ограничения можно найти в файле настройки
/etc/skey.access. Страница справочника
&man.skey.access.5; содержит дополнительную информацию о полном
формате файла а также детали о некоторых предосторожностях, которые
должны быть предприняты перед тем, как положиться в вопросах
безопасности на этот файл.Если файла /etc/skey.access нет (это
ситуация по умолчанию в системах FreeBSD 4.X), всем пользователям
будет разрешено входить с паролями &unix;. Если файл существует,
использование S/Key станет обязательно для всех, если только
параметры настройки в файле skey.access не
указывают иначе. В любом случае, пароли &unix; разрешены при входе
с консоли.Вот пример файла настройки skey.access,
иллюстрирующий три наиболее распространенных вида параметров
настройки:permit internet 192.168.0.0 255.255.0.0
permit user fnord
permit port ttyd0Первая строка (permit internet) разрешает
пользователям, чей IP адрес (который подвержен подделке)
соответствует заданному значению и маске, входить с использованием
паролей &unix;. Это должно рассматриваться не как механизм
безопасности, а как напоминание пользователям, что они работают через
небезопасное соединение и должны использовать для аутентификации
S/Key.Вторая строка (permit user) позволяет
определенным пользователям, в данном случае
fnord, всегда использовать пароли &unix;.
Вообще говоря, это должно использоваться только для тех, кто
не может использовать программу key, например
если они работают с простых терминалов или необучаемы.Третья строка (permit port) позволяет всем
пользователям, вошедшим с определенного терминала использовать
пароли &unix;; этот параметр должен использоваться для подключений
по dial-up.OPIE может ограничивать использование паролей &unix; на основе IP
адреса как и S/Key. Соответствующий файл называется
/etc/opieaccess, он существует по умолчанию в
FreeBSD 5.0 и более современных системах. Обратитесь к
&man.opieaccess.5; за более подробной информацией об этом файле и о
предосторожностях, которые вы должны предпринять при использовании
этого файла.Вот пример файла opieaccess:permit 192.168.0.0 255.255.0.0Эта строка позволяет пользователям, чей IP адрес (который
подвержен подделке) соответствует указанному значению и маске,
входить с паролем &unix;.Если ни одно из правил в opieaccess не
сработало, поведением по умолчанию является запрет всех не-OPIE
входов.MarkMurrayПредоставил MarkDapozОригинальный текст предоставил KerberosIVKerberos это сетевая дополнительная система/протокол, которая
делает возможной аутентификацию пользователей через сервисы на защищенном
сервере. Такие сервисы, как удаленный вход, удаленное копирование,
защищенное копирование файлов между системами и другие задачи с
высоким риском становятся допустимо безопасными и более
контролируемыми.Последующие инструкции могут использоваться в качестве руководства
по настройке поставляемого с FreeBSD Kerberos. Тем не менее, вам
могут потребоваться страницы справочника полного дистрибутива.Установка KerberosIVMITKerberosIVустановкаKerberos это опциональный компонент &os;. Простейший способ
установки этой программы это выбор krb4 или
krb5 из sysinstall
во время первой установки FreeBSD. Будет установлен
eBones (KerberosIV) или Heimdal
(Kerberos5) вариант Kerberos. Включение этих реализаций объясняется
тем, что они разработаны вне США/Канады и доступны вне этих стран,
поскольку на них не влияют ограничения на экспорт криптографического
кода из США.Кроме того, реализация MIT Kerberos доступна из коллекции портов
в виде пакета
security/krb5.Создание базы данныхЭто необходимо сделать только на сервере Kerberos. Во-первых,
убедитесь что не осталось старой базы данных Kerberos. Войдите
в каталог /etc/kerberosIV и убедитесь, что в нем
находятся только эти файлы:&prompt.root; cd /etc/kerberosIV
&prompt.root; ls
README krb.conf krb.realmsЕсли присутствуют еще какие-то файлы (такие как
principal.* или master_key),
используйте команду kdb_destroy для удаления старой
базы данных Kerberos, или, если Kerberos не запущен, просто удалите
эти файлы.Затем отредактируйте файлы krb.conf и
krb.realms, введя ваши данные. В этом примере
уникальный идентификатор EXAMPLE.COM, сервер
grunt.example.com. Отредактируем или
создадим файл krb.conf:&prompt.root; cat krb.conf
EXAMPLE.COM
EXAMPLE.COM grunt.example.com admin server
CS.BERKELEY.EDU okeeffe.berkeley.edu
ATHENA.MIT.EDU kerberos.mit.edu
ATHENA.MIT.EDU kerberos-1.mit.edu
ATHENA.MIT.EDU kerberos-2.mit.edu
ATHENA.MIT.EDU kerberos-3.mit.edu
LCS.MIT.EDU kerberos.lcs.mit.edu
TELECOM.MIT.EDU bitsy.mit.edu
ARC.NASA.GOV trident.arc.nasa.govВ этом примере другие идентификаторы введены для иллюстрации
настройки c несколькими хостами. С целью упрощения
настройки вы можете не включать их.Первая строка содержит идентификатор, под которым работает эта
система. Остальные строки связывают идентификаторы с именами хостов.
Сначала указывается идентификатор, затем хост под этим
идентификатором, работающий как центр распространения
ключей. Слова admin server с последующим
именем хоста означают, что этот хост также является сервером
администрирования базы данных. За дальнейшей информацией об этих
терминах обратитесь к страницам справочника по Kerberos.Мы добавили grunt.example.com
к идентификатору EXAMPLE.COM и кроме того
сопоставили всем хостам в домене
.example.com идентификатор
EXAMPLE.COM. Файл
krb.realms будет выглядеть так:&prompt.root; cat krb.realms
grunt.example.com EXAMPLE.COM
.example.com EXAMPLE.COM
.berkeley.edu CS.BERKELEY.EDU
.MIT.EDU ATHENA.MIT.EDU
.mit.edu ATHENA.MIT.EDUКак и в предыдущем примере, другие идентификаторы добавлены только
для примера. С целью упрощения настройки вы можете не включать
их.В первой строке определенная система
сопоставляется с идентификатором. В остальных строках показано,
сопоставить идентификатору остальные системы определенного
поддомена.Теперь мы готовы к созданию базы данных. Потребуется всего лишь
запустить сервер Kerberos (или центр распространения ключей).
Используйте для этого kdb_init:&prompt.root; kdb_initRealm name [default ATHENA.MIT.EDU ]:EXAMPLE.COM
You will be prompted for the database Master Password.
It is important that you NOT FORGET this password.
Введите главный ключ Kerberos:Теперь мы должны сохранить ключ, чтобы сервера на локальных
компьютерах могли его взять. Используйте для этого команду
kstash:&prompt.root; kstashEnter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!Этой командой зашифрованный главный пароль сохранен в
/etc/kerberosIV/master_key.Запуск KerberosKerberosIVпервый запускДля каждой системы, защищаемой Kerberos, в базу данных должны
быть добавлены две записи. Это kpasswd и
rcmd. Они добавляются вместе с именем
системы.Эти даемоны, kpasswd и
rcmd позволяют другим системам изменять
пароли Kerberos и запускать такие команды как &man.rcp.1;,
&man.rlogin.1;, &man.rsh.1;.Теперь добавим эти записи:&prompt.root; kdb_edit
Opening database...
Enter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Previous or default values are in [brackets] ,
enter return to leave the same, or new value.
Principal name:passwdInstance:grunt
<Not found>, Create [y] ?y
Principal: passwd, Instance: grunt, kdc_key_ver: 1
New Password: <---- enter RANDOM here
Verifying password
New Password: <---- enter RANDOM here
Random password [y] ?y
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?Max ticket lifetime (*5 minutes) [ 255 ] ?Attributes [ 0 ] ?
Edit O.K.
Principal name:rcmdInstance:grunt
<Not found>, Create [y] ?
Principal: rcmd, Instance: grunt, kdc_key_ver: 1
New Password: <---- enter RANDOM here
Verifying password
New Password: <---- enter RANDOM here
Random password [y] ?
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?Max ticket lifetime (*5 minutes) [ 255 ] ?Attributes [ 0 ] ?
Edit O.K.
Principal name: <---- null entry here will cause an exitСоздание файла настройки сервераТеперь необходимо создать все записи сервисов, которые были
определены для каждого компьютера. Используем для этого команду
ext_srvtab. Будет создан файл, который должен
быть скопирован или перемещен безопасным способом
в каталог /etc/kerberosIV каждого Kerberos
клиента. Этот файл должен присутствовать на каждом сервере и
клиенте, он необходим для работы Kerberos.&prompt.root; ext_srvtab gruntEnter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Generating 'grunt-new-srvtab'....Эта команда создаст временный файл, который должен быть
переименован в srvtab, чтобы серверы смогли
обратиться к нему. Используйте команду &man.mv.1; для перемещения
его в исходной системе:&prompt.root; mv grunt-new-srvtab srvtabЕсли файл предназначен для клиентской системы, и сеть не
безопасна, скопируйте
client-new-srvtab
на съемный носитель и перенесите файл с его помощью. Убедитесь, что
переименовали его в srvtab в каталоге
/etc/kerberosIV клиента, и что режим доступа к
нему 600:&prompt.root; mv grumble-new-srvtab srvtab
&prompt.root; chmod 600 srvtabПополнение базы данныхТеперь необходимо добавить в базу данных пользователей.
Во-первых, создадим запись для пользователя jane.
Используйте команду kdb_edit:&prompt.root; kdb_edit
Opening database...
Enter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Previous or default values are in [brackets] ,
enter return to leave the same, or new value.
Principal name:janeInstance:
<Not found>, Create [y] ?y
Principal: jane, Instance: , kdc_key_ver: 1
New Password: <---- enter a secure password here
Verifying password
New Password: <---- re-enter the password here
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?Max ticket lifetime (*5 minutes) [ 255 ] ?Attributes [ 0 ] ?
Edit O.K.
Principal name: <---- null entry here will cause an exitТестирование всей системыВо-первых, запустите даемоны Kerberos. При правильном
редактировании файла /etc/rc.conf они запустятся
автоматически при перезагрузке. Это необходимо только на сервере
Kerberos. Клиенты Kerberos получат все необходимые данные из
каталога /etc/kerberosIV.&prompt.root; kerberos &
Kerberos server starting
Sleep forever on error
Log file is /var/log/kerberos.log
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Current Kerberos master key version is 1
Local realm: EXAMPLE.COM
&prompt.root; kadmind -n &
KADM Server KADM0.0A initializing
Please do not use 'kill -9' to kill this job, use a
regular kill instead
Current Kerberos master key version is 1.
Master key entered. BEWARE!Теперь для получения доступа через созданного пользователя
jane используйте kinit:&prompt.user; kinit jane
MIT Project Athena (grunt.example.com)
Kerberos Initialization for "jane"
Password:Попробуйте просмотреть имеющиеся данные с помощью
klist:&prompt.user; klist
Ticket file: /tmp/tkt245
Principal: jane@EXAMPLE.COM
Issued Expires Principal
Apr 30 11:23:22 Apr 30 19:23:22 krbtgt.EXAMPLE.COM@EXAMPLE.COMТеперь попробуйте изменить пароль с помощью &man.passwd.1;,
чтобы убедиться, что даемон kpasswd
может получить информацию из базы данных Kerberos:&prompt.user; passwd
realm EXAMPLE.COM
Old password for jane:New Password for jane:
Verifying password
New Password for jane:
Password changed.Включение suKerberos позволяет назначить каждому
пользователю, который нуждается в привилегиях
root, свой собственный
пароль &man.su.1;. Необходимо добавить учетную запись, которой
разрешено получать root доступ через &man.su.1;.
Это делается путем связывания учетной записи root
с пользовательской учетной записью. Создадим в базе данных Kerberos
запись jane.root с помощью
kdb_edit:&prompt.root; kdb_edit
Opening database...
Enter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Previous or default values are in [brackets] ,
enter return to leave the same, or new value.
Principal name:janeInstance:root
<Not found>, Create [y] ? y
Principal: jane, Instance: root, kdc_key_ver: 1
New Password: <---- enter a SECURE password here
Verifying password
New Password: <---- re-enter the password here
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?Max ticket lifetime (*5 minutes) [ 255 ] ?12 <--- Keep this short!
Attributes [ 0 ] ?
Edit O.K.
Principal name: <---- null entry here will cause an exitТеперь проверим работоспособность этой записи:&prompt.root; kinit jane.root
MIT Project Athena (grunt.example.com)
Kerberos Initialization for "jane.root"
Password:Необходимо добавить пользователя к root
файлу .klogin:&prompt.root; cat /root/.klogin
jane.root@EXAMPLE.COMТеперь попробуйте выполнить &man.su.1;:&prompt.user; suPassword:и посмотрите на имеющиеся данные:&prompt.root; klist
Ticket file: /tmp/tkt_root_245
Principal: jane.root@EXAMPLE.COM
Issued Expires Principal
May 2 20:43:12 May 3 04:43:12 krbtgt.EXAMPLE.COM@EXAMPLE.COMИспользование других командВ примере выше мы создали запись (principal)
jane с доступом к root
(instance). Она основана на пользователе с таким же именем, как
и идентификатор, что принято Kerberos по умолчанию;
<principal>.<instance> в форме
<username>.root
позволяет использовать &man.su.1; для доступа к
root, если соответствующие записи находятся
в файле .klogin домашнего каталога
root:
&prompt.root; cat /root/.klogin
jane.root@EXAMPLE.COMПодобно этому, если в файле .klogin
из домашнего каталога пользователя есть строки в форме:&prompt.user; cat ~/.klogin
jane@EXAMPLE.COM
jack@EXAMPLE.COMэто позволит любому с идентификатором
EXAMPLE.COM, кто аутентифицировался как
jane или jack
(с помощью команды kinit, см. выше)
получить доступ к учетной пользователя jane
или файлам этой системы (grunt) через
&man.rlogin.1;, &man.rsh.1; или &man.rcp.1;.Например, jane может входить в другую систему
используя Kerberos:&prompt.user; kinit
MIT Project Athena (grunt.example.com)
Password:
&prompt.user; rlogin grunt
Last login: Mon May 1 21:14:47 from grumble
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995Или jack входит в учетную запись
jane's на этом же компьютере
(файл .kloginjane
настроен как показано выше, и в Kerberos настроена учетная
запись jack):&prompt.user; kinit
&prompt.user; rlogin grunt -l jane
MIT Project Athena (grunt.example.com)
Password:
Last login: Mon May 1 21:16:55 from grumble
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995TillmanHodgsonПредоставил MarkMurrayОригинальный материал предоставил Kerberos5Все релизы &os; после &os;-5.1 включают поддержку только
Kerberos5. Таким образом,
Kerberos5 это единственная включаемая в
поставку версия и его конфигурация похожа на
KerberosIV во многих аспектах. Эта
информация применима только к Kerberos5
из релизов после &os;-5.0. Пользователи, желающие использовать
пакет KerberosIV, могут установить его из
порта security/krb4.Kerberos это дополнительная сетевая
система/протокол, позволяющая пользователям авторизоваться через
защищенные сервисы на защищенном сервере. Такие сервисы как
удаленный вход, удаленное копирование, защищенное копирование файлов
между системами и другие задачи с высоким риском становятся
допустимо безопасными и более контролируемыми.Kerberos может быть описана как
прокси система идентификации-проверки. Она также может быть описана
как защищенная внешняя система аутентификации.
Kerberos предоставляет только одну функцию
— защищенную аутентификацию пользователей сети. Он не предоставляет
Он не предоставляет функций авторизации (что разрешено делать
пользователям) или функций аудита (какой пользователь что делает).
После того, как клиент и сервер использовали
Kerberos для идентификации, они могут
зашифровать все соединения для гарантирования собственной безопасности и
целостности данных.Следовательно крайне рекомендуется использовать
Kerberos с другими методами безопасности,
предоставляющими сервисы авторизации и аудита.Последующие инструкции могут использоваться в качестве руководства
по настройке Kerberos, поставляемого с &os;.
Тем не менее, вам потребуется обратиться к соответствующим страницам
справочника за полным описанием.В целях демонстрации установки Kerberos,
будут применены следующие обозначения:DNS домен (зона)
example.org.Уникальный идентификатор Kerberos
EXAMPLE.ORG.Используйте действующие имена доменов при настройке
Kerberos даже если вы будете использовать
его во внутренней сети. Это позволит избежать проблем с
DNS и гарантирует возможность связи с
Kerberos под другими
идентификаторами.ИсторияKerberos5историяKerberos был создан
MIT в качестве решения проблем с безопасностью
сети. Протокол Kerberos использует
стойкую криптографию, так что клиент может идентифицироваться на
сервере (и обратно) через незащищенное сетевое соединение.Kerberos это и имя сетевого протокола
аутентификации и общий термин для описания программ, где он
реализован (например, Kerberos telnet).
Текущая версия протокола 5 описана в
RFC 1510.Доступно несколько свободных реализаций этого протокола,
работающих на множестве операционных систем. Massachusetts
Institute of Technology (MIT), где
Kerberos был первоначально разработан,
продолжает разрабатывать собственный пакет
Kerberos. Он обычно использовался
в США как криптографический продукт,
и в этом качестве попадал под действие ограничений на экспорт.
MIT Kerberos
доступен в виде порта (security/krb5). Heimdal
Kerberos это другая реализация версии
5, которая разрабатывалась исключительно вне США
для обхода экспортных ограничений (и поэтому часто включалась в
некоммерческие реализации &unix;). Heimdal
Kerberos доступен в виде порта
(security/heimdal),
его минимальный комплект включен в базовую установку &os;.В целях получения наибольшей аудитории, в этих инструкциях
предполагается использование Heimdal включаемого в &os;.Настройка Heimdal KDCKerberos5настройка центра распространения ключейЦентр распространения ключей (Key Distribution Center,
KDC) это централизованный сервис аутентификации,
предоставляемый Kerberos —
это компьютер, который предоставляет доступ через
Kerberos. KDC
считается доверяемым всеми другими компьютерами с определенным
идентификатором Kerberos и поэтому
к нему предъявляются высокие требования безопасности.Имейте ввиду, что хотя работа сервера
Kerberos требует очень немного
вычислительных ресурсов, из соображений безопасности для него
рекомендуется отдельный компьютер, работающий только в качестве
KDC.Перед началом настройки KDC, убедитесь что в
файле /etc/rc.conf содержатся правильные
настройки для работы в качестве KDC (вам может
потребоваться изменить пути в соответствии с собственной
системой):kerberos5_server_enable="YES"
kadmind5_server_enable="YES"
kerberos_stash="YES"Параметр существует только в
&os; 4.X.Затем приступим к редактированию файла настройки
Kerberos,
/etc/krb5.conf:[libdefaults]
default_realm = EXAMPLE.ORG
[realms]
EXAMPLE.ORG = {
kdc = kerberos.example.org
}
[domain_realm]
.example.org = EXAMPLE.ORGОбратите внимание что в файле /etc/krb5.conf
подразумевается наличие у KDC полного имени
kerberos.example.org. Вам потребуется
добавить CNAME (синоним) к файлу зоны, если у
KDC другое имя.Для больших сетей с правильно настроенным сервером
BIND DNS пример выше
может быть урезан до:[libdefaults]
default_realm = EXAMPLE.ORGСо следующими строками, добавленными в файл зоны
example.org:_kerberos._udp IN SRV 01 00 88 kerberos.example.org.
_kerberos._tcp IN SRV 01 00 88 kerberos.example.org.
_kpasswd._udp IN SRV 01 00 464 kerberos.example.org.
_kerberos-adm._tcp IN SRV 01 00 749 kerberos.example.org.
_kerberos IN TXT EXAMPLE.ORG.Создадим теперь базу данных Kerberos.
Эта база данных содержит ключи всех основных хостов, зашифрованных
с помощью главного пароля. Вам не требуется помнить этот пароль,
он хранится в файле (/var/heimdal/m-key).
Для создания главного ключа запустите kstash
и введите пароль.Как только будет создан главный ключ, вы можете инициализировать
базу данных с помощью программы kadmin с ключом
-l (означающим local). Этот
ключ сообщает kadmin обращаться к файлам базы
данных непосредственно вместо использования сетевого сервиса
kadmind. Это помогает решить проблему
курицы и яйца, когда обращение идет к еще не созданной базе
данных. Как только вы увидите приглашение kadmin,
используйте команду init для создания базы
данных идентификаторов.Наконец, оставаясь в приглашении kadmin,
создайте первую запись с помощью команды add.
Оставьте неизменными параметры по умолчанию, вы всегда сможете
изменить их позже с помощью команды modify.
Обратите внимание, что вы всегда можете использовать команду
? для просмотра доступных параметров.Пример создания базы данных показан ниже:&prompt.root; kstash
Master key: xxxxxxxx
Verifying password - Master key: xxxxxxxx
&prompt.root; kadmin -l
kadmin> init EXAMPLE.ORG
Realm max ticket life [unlimited]:
kadmin> add tillman
Max ticket life [unlimited]:
Max renewable life [unlimited]:
Attributes []:
Password: xxxxxxxx
Verifying password - Password: xxxxxxxxТеперь пришло время запустить сервисы KDC.
Выполните команды /etc/rc.d/kerberos start и
/etc/rc.d/kadmind start для запуска сервисов.
Ни один из поддерживающих Kerberos
даемонов на этот момент запущен не будет, но у вас должна быть
возможность убедиться в том, что KDC функционирует
путем получения списка доступа для пользователя, которого вы только
что самостоятельно создали из командной строки самого
KDC:&prompt.user; k5init tillman
tillman@EXAMPLE.ORG's Password:
&prompt.user; k5list
Credentials cache: FILE:/tmp/krb5cc_500
Principal: tillman@EXAMPLE.ORG
Issued Expires Principal
Aug 27 15:37:58 Aug 28 01:37:58 krbtgt/EXAMPLE.ORG@EXAMPLE.ORGСервер Kerberos с сервисами
HeimdalKerberos5включение сервисовДля начала нам потребуется копия файла настройки
Kerberos,
/etc/krb5.conf.
Просто скопируйте его с KDC на клиентский
компьютер безопасным способом (используя сетевые утилиты, такие
как &man.scp.1;, или физически, с помощью дискеты).Затем вам понадобится файл /etc/krb5.keytab.
Это основное различие между сервером, поддерживающим
Kerberos и рабочими станциями —
на сервере должен быть файл keytab.
В этом файле находится центральный ключ сервера, который позволяет
KDC проверять все другие идентификаторы. Он
должен быть помещен на сервер безопасным способом, поскольку
безопасность сервера может быть нарушена, если ключ станет
общедоступен. Это означает, что его передача через незашифрованный
канал, такой как FTP – очень плохая
идея.Обычно перенос файла keytab на сервер
производится с помощью программы kadmin.
Это удобно, поскольку вам потребуется также создать запись хоста
(KDC часть krb5.keytab)
с помощью kadmin.Обратите внимание, что должны быть уже зарегистрированы в
системе и необходимо наличие прав на использование интерфейса
kadmin в файле kadmind.acl.
Обратитесь к разделу Remote administration в info
страницах Heimdal (info heimdal) за деталями по
составлению списка доступа. Если вы не хотите включать удаленный
доступ kadmin, можете просто подключиться к
KDC через защищенное соединение (локальную
консоль, &man.ssh.1; или Kerberos
&man.telnet.1;) и выполнять администрирование локально с помощью
kadmin -l.После добавления файла /etc/krb5.conf,
вы можете использовать kadmin с сервера
Kerberos. Команда
add --random-key позволит вам добавить запись
для сервера, а команда ext позволит перенести
эту запись в собственный keytab файл сервера. Например:&prompt.root; kadmin
kadmin> add --random-key host/myserver.example.org
Max ticket life [unlimited]:
Max renewable life [unlimited]:
Attributes []:
kadmin> ext host/myserver.example.org
kadmin> exitОбратите внимание, что команда ext
(сокращение от extract) сохраняет полученный ключ в
файле /etc/krb5.keytab по умолчанию.Если на KDC не запущен
kadmind (возможно по соображениям безопасности)
и вы не можете получить доступ к kadmin
удаленно, возможно добавление записи хоста
(host/myserver.EXAMPLE.ORG) непосредственно
на KDC с последующим извлечением ее во временный
файл (и перезаписью /etc/krb5.keytab на
KDC) примерно так:&prompt.root; kadmin
kadmin> ext --keytab=/tmp/example.keytab host/myserver.example.org
kadmin> exitЗатем вы можете скопировать keytab на сервер защищенным способом
(например, используя scp или дискету).
Убедитесь, что используемое имя keytab не совпадает с именем
по умолчанию во избежание перезаписывания keytab на
KDC.Теперь ваш сервер может связываться с KDC
(добавлен файл krb5.conf) и идентифицировать
себя (добавлен файл krb5.keytab). Теперь вы
готовы к включению некоторых сервисов
Kerberos. В этом примере мы включим
сервис telnet, поместив в
/etc/inetd.conf нижеприведенную строку и
перезапустив сервис &man.inetd.8; командой
/etc/rc.d/inetd restart:telnet stream tcp nowait root /usr/libexec/telnetd telnetd -a userОчень важно установить ключ -a (тип
аутентификации) в user. Обратитесь к странице справочника
&man.telnetd.8; за подробной информацией.Клиент Kerberos с HeimdalKerberos5настройка клиентаНастройка клиентского компьютера почти тривиально проста.
Как только настройка Kerberos закончена,
вам потребуется только файл настройки
Kerberos,
/etc/krb5.conf. Просто скопируйте его
безопасным способом на клиентский компьютер с
KDC.Протестируйте клиентский компьютер, попытавшись использовать
kinit, klist, и
kdestroy для получения, отображения и удаления
списка доступа. Соединитесь с Kerberos
севером используя клиент Kerberos, если
соединение не работает и получение доступа является проблемой,
это скорее всего проблема сервера, а не клиента или
KDC.При тестировании приложения вроде telnet,
попробуйте использовать программу перехвата пакетов (такую
как &man.tcpdump.1;), чтобы убедиться, что ваш пароль не передается
незашифрованным. Попробуйте использовать telnet
с параметром -x, чтобы зашифровать весь поток
данных (подобно ssh).Основные клиентские приложения
Kerberos (традиционно называющиеся
kinit, klist,
kdestroy, и
kpasswd) находятся в базовой установке &os;.
Обратите внимание, что в &os; версий до 5.0 они были переименованы
в k5init, k5list,
k5destroy, k5passwd, и
k5stash (хотя их обычно использовали лишь
однократно).Различные неосновные клиентские приложения
Kerberos также устанавливаются по
умолчанию. Здесь проявляется минимальность
базовой установки Heimdal: telnet это
единственное приложение, поддерживающее
Kerberos.Порт Heimdal добавляет некоторые отсутствующие клиентские
приложения: поддерживающие
Kerberos версии
ftp, rsh,
rcp, rlogin, и некоторые
другие реже используемые программы. Порт MIT
также содержит полный пакет клиентских приложений
Kerberos.Пользовательские файлы настройки: .k5login
и .k5usersKerberos5пользовательские файлы настройкиУчетные записи пользователя в
Kerberos (например
tillman@EXAMPLE.ORG) обычно связаны с
локальными учетными записями (например с локальной учетной записью6
tillman). Клиентские приложения, такие как
telnet, обычно не требуют указания имени
пользователя или учетной записи.Тем не менее, время от времени вам может потребоваться дать
доступ к локальной учетной записи кому-то, у кого нет
соответствующей учетной записи Kerberos.
Например, пользователю tillman@EXAMPLE.ORG
может потребоваться доступ к локальной учетной записи
webdevelopers. Другим учетным записям
также может потребоваться доступ к этой локальной учетной
записи.Файлы .k5login и
.k5users, помещенные в домашний каталог
пользователя, могут быть использованы подобно действенной
комбинации .hosts и
.rhosts для решения этой проблемы.
Например, файл .k5login
со следующим содержанием:tillman@example.org
jdoe@example.orgпомещен в домашний каталог локального пользователя
webdevelopers, то обе упомянутые учетные
записи получат доступ к этой учетной записи без необходимости
наличия общего пароля.Рекомендуется прочитать страницу справочника по этим командам.
Обратите внимание, что страница справочника о
ksu содержит информацию по
.k5users.Подсказки, советы и решение проблем с
KerberosKerberos5решение проблемПри использовании портов как Heimdal так и
MIT Kerberos
убедитесь, что в PATH версии
Kerberos клиентов указаны перед
их версиями в базовой системе.Синхронизировано ли время? Вы уверены? Если время не
синхронизировано (обычно в пределах пяти минут) аутентификация
завершится неудачно.MIT и Heimdal успешно взаимодействуют.
За исключением kadmin, протокол для которого
не стандартизован.Если вы изменяете hostname, потребуется также изменить
учетную запись host/ и обновить keytab.
Это также необходимо для специальных записей в keytab, таких
как www/ запись модуля Apache
www/mod_auth_kerb.
Все хосты под общим идентификатором должны разрешаться
DNS (прямое и обратное разрешение), или
как минимум через /etc/hosts. Записи
CNAME будут работать, но записи A и PTR должны быть корректны
и находиться на своем месте. Сообщение об ошибке не всегда
интуитивно понятно:
Kerberos5 refuses authentication because Read req
failed: Key table entry not found.Некоторые операционные системы, способные работать в качестве
клиентов KDC не устанавливают права
для ksu в setuid root.
Это означает, что ksu не работает, что хорошо
является хорошей идеей для безопасности, но неудобно. Это не
ошибка KDC.С MIT
Kerberos, если вы хотите продлить
действие доступа до значения большего, чем десять часов по
умолчанию, используйте команду
modify_principal в
kadmin для изменения maxlife доступа к самой
учетной записи и к учетной записи krbtgt.
Затем возможно использование kinit
с параметром -l для запроса доступа с большим
временем действия.Если вы запускаете перехватчик пакетов на
KDC для разрешения проблем, а затем
запускаете kinit с рабочей станции, то
увидите, что TGT посылается непосредственно
при запуске kinit — даже до того, как
вы введете пароль! Объяснение в том, что сервер
Kerberos свободно распространяет
TGT (Ticket Granting Ticket) на каждый
неавторизованный запрос; однако, каждый TGT
зашифрован ключом, полученным из пароля пользователя.
Следовательно, когда пользователь вводит свой пароль, он не
отправляется на KDC, а используется для
расшифровка TGT, который уже получен
kinit. Если в процессе расшифровки
получается правильный билет с правильным значением времени,
у пользователя есть действующее удостоверение.
Это удостоверение содержит ключ сессии для установления
безопасного соединения с сервером
Kerberos, как и действующий
TGT, зашифрованный ключом сервера
Kerberos. Второй уровень шифрования
недоступен пользователю, но позволяет серверу
Kerberos проверять правильность
каждого TGT.Вам необходимо поддерживать время синхронизированным на
всех компьютерах внутри одного идентификатора.
NTP прекрасно подходит для этой задачи.
За дополнительной информацией по NTP
обратитесь к .Если вы хотите установить большое время жизни доступа
(например, неделю), и используете
OpenSSH для соединения с компьютером,
где хранится билет, убедитесь, что параметр
Kerberos
установлен в
no в файле sshd_config,
или билеты будут уничтожены при выходе из сеанса.Запомните, что время жизни билетов хостов больше.
Если время жизни билета для учетной записи пользователя
составляет неделю, а время жизни учетной записи хоста, к
которому вы подсоединяетесь девять часов, учетная запись хоста
в кэше устареет и кэш билетов будет работать не так, как
ожидается.При настройке файла krb5.dict на
предотвращение использования определенных плохих паролей
(страница справочника для kadmind кратко
рассказывает об этом), запомните, что это применимо только
к учетным записям, для которых действует политика паролей.
Формат файла krb5.dict прост: одно слово
на строку. Может помочь создание символической ссылки на
/usr/share/dict/words.Отличия от порта MITОсновное различие между установками MIT и
Heimdal относится к программе kadmin,
которая имеет другой (но эквивалентный) набор команд и
использует другой протокол. Если ваш KDC
работает на MIT, вы не сможете использовать
kadmin для удаленного администрирования
KDC (и наоборот, по этой же причине).Опции командной строки клиентов также могут немного отличаться
для одинаковых задач. Рекомендуется следование инструкциям
на MIT Kerberos
веб сайте ().
Будьте внимательны при определении PATH:
порт MIT устанавливается по умолчанию в
/usr/local/, и если в PATH
вначале указаны системные каталоги, вместо приложений
MIT могут быть запущены системные
приложения.С портом MIT
security/krb5, предоставляемым
&os;, убедитесь что файл
/usr/local/share/doc/krb5/README.FreeBSD
установлен портом, если вы хотите понять почему вход через
telnetd и klogind
иногда происходит так странно. Наиболее важно, исправление
incorrect permissions on cache file требует
использования бинарного файла login.krb5
для аутентификации, чтобы права на переданное удостоверение
передавались правильно.Преодоление ограничений, обнаруженных в
KerberosKerberos5ограничения и недостаткиKerberos это все или ничегоКаждый сервис, работающий в сети, должен быть модифицирован
для работы с Kerberos (или другим
способом защищен от атак по сети) или удостоверения пользователей
могут быть украдены или использованы повторно. В качестве примера
может быть приведено использование
Kerberos версий
оболочек для удаленной работы (например через
rsh и telnet), при
наличии POP3 сервера, получающего пароли в
незашифрованном виде.Kerberos предназначен для
однопользовательских рабочих станцийВ многопользовательской среде
Kerberos менее безопасен.
Это потому, что он хранит билеты в каталоге
/tmp, которая доступна для чтения всем.
Если пользователь работает с несколькими другими пользователями
одновременно на одном компьютере (т.е. в многопользовательской
среде), возможна кража (копирование) билета другим
пользователем.Решить проблему можно с помощью параметра командной
строки -c или (предпочтительно) с помощью
переменной окружения KRB5CCNAME, но это делается
редко. Для преодоления ограничения достаточно сохранять билет
в домашнем каталоге пользователя и использовать простые
ограничения на доступ к файлам.От KDC зависит вся системаАрхитектура системы такова, что KDC должен
быть максимально защищен, поскольку главный пароль базы данных
содержится в нем. На KDC не должно быть
запущено никаких других сервисов и он должен быть защищен
физически. Опасность велика, поскольку
Kerberos хранит все пароли
зашифрованными одним ключом (главным ключом),
который хранится в файле на KDC.Хорошей новостью является то, что кража главного ключа
не станет такой проблемой, как может показаться. Главный ключ
используется только для шифрования базы данных
Kerberos и в качестве seed для
генератора случайных чисел. Поскольку доступ к
KDC защищен, атакующий мало что сможет сделать
с главным ключом.Кроме того, если KDC станет недоступен
(возможно по причине атак DoS или проблем в сети) сетевые сервисы
будет невозможно использовать, поскольку аутентификация не
может быть выполнена.
Уменьшить последствия можно при наличии нескольких
KDC (один главный и один или несколько
резервных) и с аккуратно реализованной резервной аутентификацией
(отлично подойдет PAM).Недостатки KerberosKerberos позволяет пользователям,
хостам и сервисам производить аутентификацию друг друга.
В нем нет механизма аутентификации KDC
для пользователей, хостов или сервисов. Это означает, что
поддельный kinit (например) может записывать
все имена пользователей и паролей. Помочь решить проблему может
security/tripwire или
другой инструмент проверки целостности файловой системы.Ресурсы и информация для дальнейшего изученияKerberos5внешние ресурсыKerberos FAQРазработка
системы аутентификации: диалог в четырех сценахRFC 1510,
Kerberos Network Authentication Service
(V5)Домашняя страница
MIT
KerberosДомашняя страница
Heimdal KerberosGaryPalmerПредоставили AlexNashМежсетевые экраныfirewallбезопасностьмежсетевые экраныИнтерес к межсетевым экранам (брандмауэр, firewall) со стороны людей,
подключенных к интернет, все возрастает и появились даже приложения
для локальной сети, предоставляющие повышенный уровень безопасности.
В этом разделе мы надеемся изложить что такое межсетевые экраны, как
их использовать, и как использовать возможности, предоставляемые
ядром FreeBSD для их реализации.Люди часто думают, что наличие межсетевого экрана между
внутренней сетью и Большим плохим интернетом решит все
их проблемы безопасности. Это может помочь, но плохо настроенный
межсетевой экран представляет более серьезную угрозу безопасности,
чем его полное отсутствие. Межсетевой экран добавляет еще один
уровень безопасности вашим системам, но не может остановить
проникновение решительно настроенного взломщика в вашу сеть. Если
вы снижаете внутреннюю безопасность системы, поскольку верите в
надежность межсетевого экрана, это существенно упрощает работу
взломщика.Что такое межсетевой экран?Есть два четко различающихся типа межсетевых экранов, повседневно
используемых в современном интернет. Первый тип правильнее называть
маршрутизатор с фильтрацией пакетов. Этот тип
межсетевого экрана работает на машине, подключенной к нескольким сетям
и применяет к каждому пакету набор правил, определяющий переправлять
ли этот пакет или блокировать. Второй тип, известный как
прокси сервер, реализован в виде даемонов,
выполняющих аутентификацию и пересылку пакетов, возможно на
машине с несколькими сетевыми подключениями, где пересылка
пакетов в ядре отключена.Иногда эти два типа межсетевых экранов используются вместе, так
что только определенной машине (известной как защитный
хост (bastion host)) позволено отправлять пакеты через
фильтрующий маршрутизатор во внутреннюю сеть. Прокси сервисы работают
на защитном хосте, что обычно более безопасно, чем обычные механизмы
аутентификации.FreeBSD поставляется с встроенным в ядро фильтром пакетом
(известным как IPFW), ему будет посвящена оставшаяся часть раздела.
Прокси серверы могут быть собраны на FreeBSD из программного
обеспечения сторонних разработчиков, но их слишком много и невозможно
описать их в этом разделе.Маршрутизаторы с фильтрацией пакетовМаршрутизатор это машина, пересылающая пакеты между двумя или
несколькими сетями. Маршрутизатор с фильтрацией пакетов
запрограммирован на сравнение каждого пакета со списком правил
перед тем как решить, пересылать его или нет. Большинство
современного программного обеспечения маршрутизации имеет
возможности фильтрации, и по умолчанию пересылаются все пакеты.
Для включения фильтров, вам потребуется определить набор
правил.Для определения того, должен ли быть пропущен пакет, межсетевой
экран ищет в наборе правило, совпадающее с содержимым заголовков
пакета. Как только совпадение найдено, выполняется действие,
присвоенное данному правилу. Действие может заключаться в
отбрасывании пакета, пересылке пакета, или даже в отправлении
ICMP сообщения в адрес источника. Учитывается только первое
совпадение, поскольку правила просматриваются в определенном
порядке. Следовательно, список правил можно назвать
цепочкой правил.Критерий отбора пакетов зависит от используемого программного
обеспечения, но обычно вы можете определять правила, зависящие от
IP адреса источника пакета, IP адреса назначения, номера порта
источника пакета, номера порта назначения (для протоколов,
поддерживающих порты), или даже от типа пакета (UDP, TCP, ICMP,
и т.д.).Прокси серверыПрокси серверы это компьютеры, где обычные системные даемоны
(telnetd,
ftpd, и т.д.) заменены специальными
серверами. Эти серверы называются прокси
серверами, поскольку они обычно работают только с
входящими соединениями. Это позволяет запускать (например)
telnet прокси сервер на межсетевом
экране, и делать возможным вход по telnet
на межсетевой экран, прохождение механизма аутентификации,
и получение доступа к внутренней сети (аналогично, прокси серверы
могут быть использованы для выхода во внешнюю сеть).Прокси серверы обычно лучше защищены, чем другие серверы,
и зачастую имеют более широкий набор механизмов аутентификации,
включая системы одноразовых паролей, так что
даже если кто-то узнает, какой пароль вы использовали, он не
сможет использовать его для получения доступа к системе,
поскольку срок действия пароля истекает немедленно после его
первого использования. Поскольку пароль не дает доступа
непосредственно к компьютеру, на котором находится прокси-сервер,
становится гораздо сложнее установить в систему
backdoor.Прокси серверы обычно имеют способ дополнительного ограничения
доступа, так что только определенные хосты могут получить доступ
к серверам. Большинство также позволяют администратору указывать,
пользователей и компьютеры, к которым они могут обращаться.
Опять же доступные возможности в основном зависят от используемого
программного обеспечения.Что позволяет делать IPFW?ipfwПрограммное обеспечение IPFW, поставляемое с
FreeBSD, это система фильтрации и учета пакетов, находящаяся в ядре
и снабженная пользовательской утилитой настройки, &man.ipfw.8;.
Вместе они позволяют определять и просматривать правила, используемые
ядром при маршрутизации.IPFW состоит из двух связанных частей. Межсетевой экран
осуществляет фильтрацию пакетов. Часть, занимающаяся учетом
IP пакетов, отслеживает использование маршрутизатора на основе
правил подобных тем, что используются в части межсетевого экрана.
Это позволяет администратору определять, например, объем трафика,
полученного маршрутизатором от определенного компьютера, или объем
пересылаемого WWW трафика.Благодаря тому, как реализован IPFW, вы можете использовать
его и на компьютерах, не являющихся маршрутизаторами для фильтрации
входящих и исходящих соединений. Это особый случай более общего
использования IPFW, и в этой ситуации используются те же команды
и техника.Включение IPFW в FreeBSDipfwвключениеПоскольку основная часть системы IPFW находится в ядре,
вам потребуется добавить один или несколько параметров в файл
настройки ядра, в зависимости от требуемых возможностей, и пересобрать
ядро. Обратитесь к главе о пересборке ядра () за подробным описанием этой процедуры.Правилом IPFW по умолчанию является deny ip from any to
any. Если вы не добавите других правил во время загрузки
для разрешения доступа, то заблокируете доступ
к серверу с включенным в ядро межсетевым экраном после перезагрузки.
Мы предлагаем указать firewall_type=open в
файле /etc/rc.conf при первоначальном
добавлении межсетевого экрана, а затем, после тестирования
его работоспособности, отредактировать правила в файле
/etc/rc.firewall. Дополнительной
предосторожностью может быть первоначальная настройка межсетевого
экрана с локальной консоли, вместо входа через
ssh. Кроме того, возможна сборка
ядра с параметрами IPFIREWALL и
IPFIREWALL_DEFAULT_TO_ACCEPT. В этом случае
правило IPFW по умолчанию будет изменено на allow ip from
any to any, что предотвратит возможную блокировку.Существует четыре параметра настройки ядра, относящихся к
IPFW:options IPFIREWALLВключает в ядро код для фильтрации пакетов.options IPFIREWALL_VERBOSEВключает протоколирование пакетов через &man.syslogd.8;.
Без этого параметра, даже если вы укажете в правилах фильтрации
протоколировать пакеты, это не сработает.options IPFIREWALL_VERBOSE_LIMIT=10Ограничивает число пакетов, протоколируемых каждым правилом
через &man.syslogd.8;. Вы можете использовать этот параметр
если хотите протоколировать работу межсетевого экрана, но не
хотите делать возможной DoS атаку путем переполнения
syslog.Когда для одного из правил в цепочке достигается
определенный параметром предел, протоколирование для этого
правила выключается. Для включения протоколирования,
вам потребуется сбросить соответствующий счетчик с помощью
утилиты &man.ipfw.8;:&prompt.root; ipfw zero 4500где 4500 это номер правила, для которого вы хотите
возобновить протоколирование.options IPFIREWALL_DEFAULT_TO_ACCEPTИзменяет правило по умолчанию с deny на
allow. Это предотвращает возможное блокирование,
если ядро загружено с поддержкой IPFIREWALL,
но межсетевой экран еще не настроен. Этот параметр также
полезен, если вы используете &man.ipfw.8; в качестве средства
от определенных проблем по мере их возникновения. Тем не менее,
используйте параметр с осторожностью, поскольку он открывает
межсетевой экран и изменяет его поведение.Предыдущие версии FreeBSD содержали параметр
IPFIREWALL_ACCT. Этот параметр устарел, поскольку
код автоматически включает возможность учета.Настройка IPFWipfwнастройкаНастройка программного обеспечения IPFW выполняется с помощью
утилиты &man.ipfw.8;. Синтаксис этой команды выглядит очень сложным,
но он становится относительно прост как только вы поймете его
структуру.В настоящее время утилита использует четыре различных категории
команд: добавление/удаление (addition/deletion), просмотр (listing),
сброс (flushing) и очистка (clearing). Добавление/удаление
используется для создания правил, определяющих как пакеты принимаются,
отбрасываются и протоколируются. Просмотр используется для
определения содержимого набора правил (называемого еще цепочкой) и
счетчиков пакетов (учет). Сброс используется для удаления всех
правил цепочки. Очистка используется для обнуления одного или
нескольких счетчиков.Изменение правил IPFWСинтаксис этой формы команды такой:
ipfw-NкоманданомердействиеlogпротоколадресапараметрыПри использовании этой формы команды доступен один
флаг:-NРазрешение адресов и имен сервисов при отображении.Задаваемая команда может быть сокращена
до более короткой уникальной формы. Существующие
команды:addДобавление правила к списку фильтрации/учетаdeleteУдаление правила из списка фильтрации/учетаПредыдущие версии IPFW использовали отдельные записи для
фильтрации и учета пакетов. Современные версии учитывают
пакеты для каждого правила.Если указано значение номер, оно
используется для помещения правила на определенную позицию в
цепочке. Иначе правило помещается в конец цепочки с номером
на 100 больше, чем у предыдущего правила (сюда не включается
правило по умолчанию с номером 65535).С параметром log соответствующие правила
выводят информацию на системную консоль, если ядро собрано с
опцией IPFIREWALL_VERBOSE.Существующие действия:rejectОтбросить пакет и отправить в адрес источникаICMP пакет,
сообщающий о недостижимости хоста или порта.allowПропустить пакет как обычно. (синонимы:
pass, permit, и
accept)denyОтбросить пакет. Источнику не выдается ICMP сообщение
(как если бы пакет вообще не достиг цели).countОбновить счетчик пакета, но не применять по отношению к
нему правила allow/deny. Поиск продолжится со следующего
правила в цепочке.Каждое действие может быть записано в
виде более короткого уникального префикса.Могут быть определены следующие
протоколы:allСоответствует всем IP пакетамicmpСоответствует ICMP пакетамtcpСоответствует TCP пакетамudpСоответствует UDP пакетамПоле адреса формируется так:источникадрес/маскапортцельадрес/маскапортvia интерфейсВы можете указать port только
вместе с протоколами, поддерживающими
порты (UDP и TCP).Параметр опционален и может содержать IP
адрес или имя домена локального IP интерфейса, или имя интерфейса
(например ed0), он настраивает правило
на соответствие только тем пакетам, которые проходят через этот
интерфейс. Номера интерфейсов могут быть заменены на опциональную
маску. Например, ppp* будет соответствовать
PPP интерфейсам ядра.Синтаксис, используемый для указания
адреса/маски:
адрес
или
адрес/маска-биты
или
адрес:маска-шаблонВместо IP адреса возможно указание существующего имени хоста.
это
десятичный номер, указывающий количество бит, которые должны быть
установлены в маске адреса. Например,
192.216.222.1/24 создаст маску,
соответствующую всем адресам подсети класса C (в
данном случае, 192.216.222).
A valid hostname may be specified in place of the IP address.
это
IP, который будет логически перемножен с заданным адресом.
Ключевое слово any может использоваться для
обозначения любого IP адреса.Номера портов указываются в следующем формате:
порт,порт,порт…
для указания одного порта или списка портов, или
порт-порт
для указания диапазона портов. Вы можете также комбинировать
указание одного диапазона со списком портов, но диапазон всегда
должен указываться первым.Доступные параметры:fragСрабатывает, если пакет не является первым пакетом
дейтаграммы.inСоответствует входящим пакетам.outСоответствует исходящим пакетам.ipoptions specСрабатывает, если заголовок IP содержит перечисленный
через запятую список параметров, указанных в
spec. Поддерживаемые параметры IP:
ssrr (strict source route),
lsrr (loose source route),
rr (record packet route), и
ts (time stamp). Действие отдельных
параметров может быть изменено путем указания префикса
!.establishedСрабатывает, если пакет является частью уже установленного
TCP соединения (т.е. если установлены биты RST или ACK).
Вы можете поднять производительность межсетевого экрана,
поместив правило с established близко
к началу цепочки.setupСоответствует, если пакет является попыткой установки
TCP соединения (установлен бит SYN, а бит ACK не
установлен).tcpflags флагиСрабатывает, если заголовок TCP содержит список
перечисленных через запятую флагов.
Поддерживаемые флаги:
fin, syn,
rst, psh,
ack, и urg. Действие
правил по отдельным флагам может быть изменено указанием
префикса !.icmptypes типыСрабатывает, если тип пакета ICMP находится в списке
типы. Список может быть указан
в виде любой комбинации диапазонов и/или отдельных типов,
разделенных запятыми. Обычно используемые типы ICMP:
0
echo reply (ping reply), 3 destination
unreachable, 5 redirect,
8 echo request (ping request), и
11 time exceeded (используется для
обозначения истечения TTL, как с &man.traceroute.8;).Просмотр правил IPFWСинтаксис этой формы команды такой:
ipfw-a-c-d-e-t-N-SlistДля этой формы команды существует семь флагов:-aПоказывать значения счетчиков. Этот параметр –
единственный путь для просмотра значений счетчиков.-cПросмотр правил в компактной форме.-dПоказывать динамические правила в дополнение к
статическим.-eЕсли определен параметр , показывать
также динамические правила с истекшим сроком действия.-tОтображать последнее время срабатывание для каждого
правила в цепочке. Этот список несовместим с синтаксисом,
принимаемым &man.ipfw.8;.-NПопытаться разрешить заданные адреса и имена
сервисов.-SОтображать набор, к которому принадлежит каждое правило.
Если этот флаг не указан, заблокированные правила не будут
отображены.Сброс правил IPFWСинтаксис для сброса правил:
ipfwflushВсе правила в цепочке будут удалены, за исключением правила
по умолчанию, устанавливаемого ядром (номер 65535). Будьте
осторожны при сбросе правил; правило, отбрасывающее пакеты по
по умолчанию отключит систему от сети, пока разрешающие правила
не будут добавлены в цепочку.Очистка счетчиков пакетов IPFWСинтаксис для очистки одного или нескольких счетчиков
пакетов:
ipfwzeroindexПри использовании без аргумента номер
будут очищены все счетчики пакетов. Если
index указан, операция очистки
применяется только к указанному правилу цепочки.Примеры команд для ipfwСледующая команда запретит все пакеты с хоста evil.crackers.org на telnet порт хоста
nice.people.org:&prompt.root; ipfw add deny tcp from evil.crackers.org to nice.people.org 23Следующий пример запрещает и протоколирует весь TCP трафик из
сети crackers.org (класса C)
к компьютеру nice.people.org
(на любой порт).&prompt.root; ipfw add deny log tcp from evil.crackers.org/24 to nice.people.orgЕсли вы хотите запретить организацию X сессий в вашу сеть
(часть сети класса C), следующая команда осуществит необходимую
фильтрацию:&prompt.root; ipfw add deny tcp from any to my.org/28 6000 setupДля просмотра записей учета:
&prompt.root; ipfw -a list
или в краткой форме
&prompt.root; ipfw -a lВы можете также просмотреть время последнего срабатывания правил
с помощью команды:&prompt.root; ipfw -at lСоздание межсетевого экрана с фильтрацией пакетовСледующие рекомендации означают только одно: рекомендации.
Требования к каждому межсетевому экрану различаются, и мы не
можем рассказать вам, как создать межсетевой экран, отвечающий
вашим потребностям.При первоначальной настройке межсетевого экрана, до тестирования
производительности и введения сервера в строй, настоятельно
рекомендуется использовать версии команд с протоколированием и
включить протоколирование в ядре. Это позволит вам быстро выявить
проблемные области и исправить настройку без больших усилий.
Даже после завершения первоначальной настройки рекомендуется
использовать протоколирование для `deny', поскольку это позволяет
отслеживать возможные атаки и изменять правила межсетевого экрана,
если требования к нему изменятся.Если вы используете версию команды accept
с протоколированием, будьте осторожны, поскольку она может
создать большой объем протокольных данных.
Будет произведено протоколирование каждого пакета, проходящего
через межсетевой экран, поэтому большие объемы FTP/http и другого
трафика существенно замедлят систему. Это также увеличит задержку
таких пакетов, поскольку ядру требуется выполнить дополнительную
работу перед тем, как пропустить пакет.
syslogd также будет использовать гораздо
больше времени процессора, поскольку он отправит все дополнительные
данные на диск, и раздел /var/log может быть
быстро заполнен.Вам потребуется включить межсетевой экран в
/etc/rc.conf.local или
/etc/rc.conf. Соответствующая страница
справочника разъясняет что именно необходимо сделать и содержит
примеры готовых настроек. Если вы не используете предустановленную
настройку, команда ipfw list может поместить
текущий набор правил в файл, откуда он может быть помещен в
стартовые файлы системы. Если вы не используете
/etc/rc.conf.local или
/etc/rc.conf для включения межсетевого экрана,
важно убедиться в том, что он включается после настройки
интерфейсов.Далее необходимо определить, что именно
делает ваш межсетевой экран! Это в основном зависит от того,
насколько широкий доступ вы хотите открыть снаружи к вашей сети.
Вот несколько общих правил:Заблокируйте доступ снаружи к портам TCP с номерами ниже 1024.
Здесь расположена большая часть критичных для безопасности
сервисов, таких как finger, SMTP (почта) и telnet.Заблокируйте весь входящий трафик UDP.
Есть очень немного полезных сервисов, работающих через UDP,
но они обычно представляют угрозу безопасности (например,
Sun RPC и NFS протоколы). У этого способа есть и недостатки,
поскольку протокол UDP не поддерживает соединения, и запрещение
входящих пактов заблокирует также ответы на исходящий UDP трафик.
Это может стать проблемой для тех, кто использует внешние серверы,
работающие с UDP. Если вы хотите открыть доступ к этим сервисам,
потребуется разрешить входящие пакеты с соответствующих портов.
К примеру, для ntp вам может
потребоваться разрешить пакеты, приходящие с порта 123.Заблокировать весь трафик снаружи к порту 6000. Порт 6000
используется для доступа к серверам X11, и может быть угрозой
безопасности (особенно если у пользователей есть привычка
выполнять на своих рабочих станциях команду xhost
+). X11 может использовать диапазон портов,
начинающийся с 6000, верхний предел определяется количеством
X дисплеев, которые могут быть запущены на машине. Верхний
предел, определенный RFC 1700 (Assigned Numbers), равен
6063.Проверьте порты, используемые внутренними сервисами
(например, SQL серверами и т.п.). Возможно хорошей идеей является
блокирование и этих портов, поскольку они обычно не попадают в
диапазон 1-1024, указанный выше.Еще один список для проверки настроек межсетевого экрана доступен
на CERT по адресу Как сказано выше, все эти правила всего лишь
руководство. Вы сами сможете решить, какие
правила фильтрации будут использованы в межсетевом экране. Мы не
можем нести НИКАКОЙ ответственности в случае взлома вашей сети,
даже если вы следовали советам, представленным выше.Накладные расходы и оптимизация IPFWМногие пользователи хотят знать, как сильно IPFW нагружает
систему. Ответ в основном зависит от набора правил и скорости
процессора. При небольшом наборе правил для большинства приложений,
работающих в Ethernet ответ незначительно.
Для тех, кому нужен более точный ответ, и предназначен этот
раздел.Последующие измерения были выполнены с 2.2.5-STABLE на
486-66. (Хотя IPFW немного изменился в последующих релизах
FreeBSD, скорость осталась приблизительно той же.) IPFW был
модифицирован для измерения времени, затраченного
ip_fw_chk, с выводом на консоль результата
после каждого 1000–го пакета.Были протестированы два набора из 1000 правил. Первый
был составлен для демонстрации плохого набора правил путем повторения
правила:&prompt.root; ipfw add deny tcp from any to any 55555Этот набор правил плох, поскольку большая часть правил IPFW
не соответствует проверяемым пакетам (из-за номера порта).
После 999–й итерации этого правила следует
правило allow ip from any to any.Второй набор правил был разработан для быстрейшей проверки
каждого правила:&prompt.root; ipfw add deny ip from 1.2.3.4 to 1.2.3.4Не совпадающий IP адрес источника в правиле выше приведет к
очень быстрой проверке этих правил. Как и прежде, 1000–е
правило allow ip from any to any.Затраты на проверку пакета в первом случае приблизительно
2.703 мс/пакет, или приблизительно 2.7 микросекунд на
правило. Теоретический предел скорости проверки около
370 пакетов в секунду. Предполагая подключение через
10 Mbps Ethernet и размер пакета приблизительно 1500 байт,
получаем только 55.5% использования пропускной способности.Во втором случае каждый пакет был проверен приблизительно за
1.172 мс, или приблизительно 1.2 микросекунд на правило.
Теоретический предел скорости проверки около 853 пакетов в
секунду, что делает возможным полное использование пропускной
способности 10 Mbps Ethernet.Чрезмерное количество проверяемых правил и их вид не позволяет
составить картину близкую к обычным условиям — эти правила
были использованы только для получения информации о времени проверки.
Вот несколько рекомендаций, которые необходимо учесть для создания
эффективного набора правил:Поместите правило established как можно
раньше для обработки большей части TCP трафика. Не помещайте
перед ним правила allow tcp.Помещайте часто используемые правила ближе к началу набора
чем редко используемые (конечно же, без изменения
действия всего набора). Вы можете определить
наиболее часто используемые правила путем проверки счетчиков
пакетов командой ipfw -a l.OpenSSLбезопасностьOpenSSLOpenSSLНачиная с FreeBSD 4.0, OpenSSL является частью базовой системы.
OpenSSL предоставляет
как криптографическую библиотеку общего назначения, так и сетевые
протоколы безопасности Secure Sockets Layer v2/v3 (SSLv2/SSLv3) и
Transport Layer Security v1 (TLSv1).Однако, один из алгоритмов (а именно IDEA), включенный в OpenSSL,
защищен патентом в USA и повсеместно, и не доступен для
неограниченного использования. IDEA включен в исходные тексты
FreeBSD, но не собирается по умолчанию. Если вы собираетесь
использовать его, и согласны с положениями лицензии, включите
переменную MAKE_IDEA в
/etc/make.conf и пересоберите исходные тексты
с помощью команды make world.На данный момент алгоритм RSA свободно доступен к использованию
в USA и других странах. В прошлом он был защищен патентом.OpenSSLустановкаУстановка из исходных текстовOpenSSL является частью CVSup коллекций
src-crypto и src-secure.
Обратитесь к разделу Получение FreeBSD за дополнительной
информацией о получении и обновлении исходных текстов FreeBSD.NikClaytonnik@FreeBSD.orgНаписал VPN через IPsecСоздание VPN между двумя сетями, соединенными через интернет,
с использованием шлюзов FreeBSD.Hiten M.Pandyahmp@FreeBSD.orgНаписал Принципы работы IPsecЭтот раздел послужит вам руководством по настройке IPsec и его
использованию в среде FreeBSD и µsoft.windows;
2000/XP, соединяемых безопасным способом.
Для настройки IPsec необходимо ознакомиться с процессом
сборки ядра ().IPsec это протокол, расположенный поверх
слоя Internet Protocol (IP). Он позволяет двум или более хостам
связываться защищенным способом (отсюда и название протокола).
Сетевой стек FreeBSD IPsec основан на
реализации KAME,
поддерживающей оба семейства протоколов, IPv4 и IPv6.FreeBSD 5.X содержит аппаратно
поддерживаемый стек IPsec, известный как Fast
IPsec, заимствованный из OpenBSD. Для оптимизации
производительности IPsec он задействует криптографическое
оборудование (когда оно доступно) через подсистему &man.crypto.4;.
Это новая подсистема и она не поддерживает всех возможностей,
доступных в KAME версии IPsec. Для включения IPsec с аппаратной
поддержкой необходимо добавить в файл настройки ядра следующий
параметр:
options FAST_IPSEC # new IPsec (cannot define w/ IPSEC)
Обратите внимание, что на данный момент невозможно
использовать подсистему Fast IPsec вместе
с KAME реализацией IPsec. Обратитесь к странице справочника
&man.fast.ipsec.4; за дальнейшей информацией.IPsec состоит из двух субпротоколов:Encapsulated Security Payload
(ESP), защищающей данные IP пакета от вмешательства
третьей стороны путем шифрования содержимого с помощью
симметричных криптографических алгоритмов (таких как
Blowfish,3DES).Authentication Header (AH),
защищающий заголовок IP пакета от вмешательства третьей стороны
и подделки путем вычисления криптографической контрольной суммы
и хеширования полей заголовка IP пакета защищенной функцией
хеширования. К пакету добавляется дополнительный заголовок
с хешем, позволяющий аутентификацию информации пакета.ESP и AH могут быть
использованы вместе или по отдельности, в зависимости от
обстоятельств.IPsec может быть использован или для непосредственного шифрования
трафика между двумя хостами (транспортный
режим); или для построения виртуальных
туннелей между двумя подсетями, которые могут быть
использованы для защиты соединений между двумя корпоративными
сетями (туннельный режим). Последний обычно
называют виртуальной частной сетью
(Virtual Private Network, VPN). За детальной информацией о
подсистеме IPsec в FreeBSD обратитесь к странице справочника
&man.ipsec.4;.Для включения поддержки IPsec в ядре, добавьте следующие
параметры к файлу настройки ядра:
options IPSEC #IP security
options IPSEC_ESP #IP security (crypto; define w/ IPSEC)
Если желательна поддержка отладки IPsec, должна быть также
добавлена следующая строка:
options IPSEC_DEBUG #debug for IP security
ПроблемаНе существует стандарта VPN. Они могут быть реализованы
множеством различных технологий, каждая из которых имеет свои
сильные и слабые стороны. Этот материал представляет несколько
сценариев и стратегию реализации VPN для каждого сценария.Сценарий #1: Две сети, подключенных к интернет, работающие как
однаС этого сценария начато изучение VPN. Исходные условия
таковы:Существует как минимум две сетиВнутри обеих сетей используется IPОбе сети соединены через интернет через шлюз,
работающий на FreeBSD.У шлюза каждой из сетей есть как минимум один публичный
IP адрес.Внутренние IP адреса двух сетей могут быть публичными или
приватными, не имеет значения. На шлюзе может работать
NAT, если это необходимо.Внутренние IP адреса двух сетей не должны
пересекаться. Хотя вероятно теоретически возможно
использование комбинации VPN технологии и NAT для настройки
такой конфигурации, эта конфигурация будет кошмарна.Если две сети, которые вы пытаетесь соединить, используют один
и тот же диапазон приватных адресов (например, обе используют
192.168.1.x), номера в одной из
сетей необходимо изменить.Топология сети может выглядеть примерно так:Сеть #1 [ Внутренние хосты ] Приватная сеть, 192.168.1.2-254
[ Win9x/NT/2K ]
[ UNIX ]
|
|
.---[fxp1]---. Приватный IP, 192.168.1.1
| FreeBSD |
`---[fxp0]---' Публичный IP, A.B.C.D
|
|
-=-=- Интернет -=-=-
|
|
.---[fxp0]---. Публичный IP, W.X.Y.Z
| FreeBSD |
`---[fxp1]---' Приватный IP, 192.168.2.1
|
|
Сеть #2 [ Внутренние хосты ]
[ Win9x/NT/2K ] Приватная сеть, 192.168.2.2-254
[ UNIX ]Здесь два публичных IP адреса. Для упоминания их в дальнейшем
будут использоваться буквы. Если вы увидите эти буквы, замените
их на свои публичные IP адреса. Также обратите внимание, что
у обеих шлюзов внутренний адрес заканчивается на .1 и диапазоны
приватных адресов двух сетей различны (192.168.1.x и 192.168.2.x соответственно). Все компьютеры
локальных сетей настроены на использование в качестве шлюза по
умолчанию компьютера с адресом, оканчивающимся на
.1.С сетевой точки зрения замысел в том, чтобы каждая сеть
видела компьютеры из другой сети так, как если бы они были
непосредственно подключены к тому же самому маршрутизатору —
хотя и немного медленному маршрутизатору, иногда теряющему
пакеты.Это означает, что (например) компьютер 192.168.1.20 может запуститьping 192.168.2.34и это будет прозрачно работать. Компьютеры с &windows;
должны видеть компьютеры в другой сети, просматривать сетевые
ресурсы, и так далее, точно так же, как и для компьютеров в
локальной сети.И все это безопасным способом. Это означает, что трафик
между сетями зашифрован.Создание VPN между этими двумя сетями это многошаговый
процесс. Этапы создания VPN таковы:Создание виртуального сетевого подключения
между двумя сетями через интернет. Тестирование подключения с
помощью таких инструментов как &man.ping.8;, чтобы убедиться, что
оно работает.Применение политики безопасности чтобы убедиться, что трафик
между двумя сетями прозрачно шифруется и расшифровывается если
необходимо. Тестирование с помощью таких инструментов как
&man.tcpdump.1;, чтобы убедиться, что трафик шифруется.Настройка дополнительных программ на шлюзах FreeBSD,
чтобы компьютеры &windows; из одной сети видели компьютеры
в другой через VPN.Шаг 1: Создание и тестирование виртуального
сетевого подключенияПредположим, что вы работаете на шлюзе сети #1 (с публичным
адресом A.B.C.D, приватным
адресом 192.168.1.1) и запускаете
ping 192.168.2.1, т.е. на приватный адрес
машины с IP адресом W.X.Y.Z.
Что должно произойти, чтобы это сработало?Шлюз должен знать, как достичь 192.168.2.1. Другими словами, у него
должен быть маршрут к 192.168.2.1.Приватные IP адреса, такие как диапазон 192.168.x не адресуются в
интернет. Каждый пакет, отправляемый на
192.168.2.1 должен быть
завернут в другой пакет. Исходным адресом пакета
должен быть A.B.C.D,
а адресом назначения W.X.Y.Z.
Этот процесс называется
инкапсуляцией.Как только этот пакет достигнет W.X.Y.Z, необходимо будет
разинкапсулировать его и доставить к 192.168.2.1.Как вы можете увидеть, это требует туннеля
между двумя сетями. Два конца туннеля
это IP адреса A.B.C.D и
W.X.Y.Z. Туннель используется для
передачи трафика с приватными IP адресами через интернет.В FreeBSD этот туннель создается с помощью устройства generic
interface, или gif. Как вы можете
догадаться, интерфейс gif на каждом хосте
должен быть настроен с четырьмя IP адресами; два для публичных
IP адресов и два для приватных IP адресов.В ядро обеих компьютеров FreeBSD должна быть встроена
поддержка устройства gif. Вы можете сделать это, добавив
строку:pseudo-device gifк файлу настройки ядра на обеих компьютерах, с последующей
компиляцией, установкой и перезагрузкой.Настройка туннеля это двухшаговый процесс. Во-первых,
необходимо задать сведения о внешнем (или публичном) IP адресе
с помощью &man.gifconfig.8;. Затем о приватном IP адресе
с помощью &man.ifconfig.8;.На шлюзе сети #1 для настройки туннеля вам потребуется запустить
следующие две команды.gifconfig gif0 A.B.C.D W.X.Y.Z
ifconfig gif0 inet 192.168.1.1 192.168.2.1 netmask 0xffffffff
На другом шлюзе подобные команды, но с IP адресами в обратном
порядке.gifconfig gif0 W.X.Y.Z A.B.C.D
ifconfig gif0 inet 192.168.2.1 192.168.1.1 netmask 0xffffffff
Затем вы можете запустить:gifconfig gif0для просмотра настройки. Например, на шлюзе сети #1
вы увидите:&prompt.root; gifconfig gif0
gif0: flags=8011<UP,POINTTOPOINT,MULTICAST> mtu 1280
inet 192.168.1.1 --> 192.168.2.1 netmask 0xffffffff
physical address inet A.B.C.D --> W.X.Y.Z
Как вы можете видеть, был создан туннель между физическими
адресами A.B.C.D и
W.X.Y.Z, для тунеллирования разрешен
трафик между 192.168.1.1 и 192.168.2.1.Это также добавляет запись к таблице маршрутизации на обеих
машинах, вы можете проверить запись командой netstat
-rn. Вот вывод этой команды на шлюзе сети #1.&prompt.root; netstat -rn
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
...
192.168.2.1 192.168.1.1 UH 0 0 gif0
...
Как показывает значение поля Flags, это маршрут
к хосту, что означает, что каждый шлюз знает, как достичь другого
шлюза, но не знает как достичь остальной части соответствующей сети.
Эта проблема будет быстро решена.Вероятно, на обеих машинах запущен межсетевой экран. VPN
должен обходить его. Вы можете разрешить весь трафик между
двумя сетями, или включить правила, защищающие каждый конец
соединения от другого.Это сильно упрощает тестирование настройки межсетевого экрана,
если вы разрешаете весь трафик через VPN. Вы всегда можете
Вы всегда можете усилить защиту позже. Если вы используете
на шлюзах &man.ipfw.8;, команда вроде этойipfw add 1 allow ip from any to any via gif0разрешит весь трафик между двумя концами VPN без влияния на
другие правила межсетевого экрана. Очевидно, вам потребуется
запустить эту команду на обеих шлюзах.Этого достаточно для включения ping с одного шлюза на другой.
На 192.168.1.1, вы сможете
запуститьping 192.168.2.1и получить ответ, и аналогично на другом шлюзе.Однако, машины в другой сети пока недоступны. Это из-за
маршрутизации — хотя шлюзы знают, как связаться друг с
другом, они не знают, как связаться с сетью за другим шлюзом.Для решения этой проблемы вы должны добавить статический маршрут
на каждом шлюзе. Команда на первом шлюзе будет выглядеть так:route add 192.168.2.0 192.168.2.1 netmask 0xffffff00
Она говорит Для достижения хостов в сети
192.168.2.0, отправляйте пакеты
хосту 192.168.2.1. Вам
потребуется запустить похожую команду на другом шлюзе, но с
адресами 192.168.1.x.IP трафик с хостов в одной сети теперь может достичь хосты в
другой сети.Теперь создано две трети VPN между двумя сетями, поскольку
это виртуальная (virtual)сеть (network).
Она еще не приватная (private). Вы можете протестировать ее
с помощью &man.ping.8; и &man.tcpdump.1;. Войдите на шлюз и
запуститеtcpdump dst host 192.168.2.1В другой сессии на этом же хосте запуститеping 192.168.2.1Вы увидите примерно такие строки:
16:10:24.018080 192.168.1.1 > 192.168.2.1: icmp: echo request
16:10:24.018109 192.168.1.1 > 192.168.2.1: icmp: echo reply
16:10:25.018814 192.168.1.1 > 192.168.2.1: icmp: echo request
16:10:25.018847 192.168.1.1 > 192.168.2.1: icmp: echo reply
16:10:26.028896 192.168.1.1 > 192.168.2.1: icmp: echo request
16:10:26.029112 192.168.1.1 > 192.168.2.1: icmp: echo reply
Как вы видите, ICMP сообщения пересылаются вперед и назад
незашифрованными. Если вы использовали с &man.tcpdump.1; параметр
для получения большего объема данных пакета,
то увидите больше информации.Конечно же это неприемлемо. В следующем разделе мы обсудим
защиту соединения между двумя сетями, так что весь трафик будет
автоматически шифроваться.Резюме:Настройте оба ядра с pseudo-device
gif.Отредактируйте /etc/rc.conf на шлюзе
#1 и добавьте следующие строки (подставляя IP адреса где
необходимо).gifconfig_gif0="A.B.C.D W.X.Y.Z"
ifconfig_gif0="inet 192.168.1.1 192.168.2.1 netmask 0xffffffff"
static_routes="vpn"
route_vpn="192.168.2.0 192.168.2.1 netmask 0xffffff00"
Отредактируйте скрипт межсетевого экрана
(/etc/rc.firewall, или подобный) на обеих
хостах и добавьтеipfw add 1 allow ip from any to any via gif0Выполните соответствующие изменения в
/etc/rc.conf на шлюзе #2,
меняя порядок IP адресов.Шаг 2: Защита соединенияДля защиты соединения мы будем использовать IPsec. IPsec
предоставляет хостам механизм определения ключа для шифрования
и для последующего использования этого ключа для шифрования
данных между двумя хостами.Здесь будут рассмотрены два аспекта настройки.У хостов должен быть способ согласования используемого
алгоритма шифрования. Как только хосты договорятся об этом,
можно говорить об установленном между ними
безопасном соединении.Должен быть механизм определения, какой трафик необходимо
шифровать. Конечно, вам не требуется шифровать весь исходящий
трафик — достаточно шифровать только трафик, идущий
через VPN. Правила, определяющие то, какой трафик необходимо
шифровать, называются политикой безопасности.Безопасное соединение и политика безопасности поддерживаются
ядром, и могут быть изменены программами пользователя. Однако
перед тем, как вы сможете сделать это, необходимо настроить
поддержку протоколов IPsec и Encapsulated Security Payload (ESP) в
ядре. Это делается добавлением в настройку ядра параметров:options IPSEC
options IPSEC_ESP
с последующим перекомпилированием, переустановкой и
перезагрузкой. Как и прежде вам потребуется сделать это с ядрами на
обеих шлюзах.При настройке параметров безопасности (security associations)
у вас есть два варианта. Вы можете настроить их вручную для обеих
хостов, задав алгоритм шифрования, ключи для шифрования и так далее,
или использовать даемоны, реализующие Internet Key Exchange protocol
(IKE), который сделает это за вас.Рекомендуется последнее. Помимо прочего, этот способ более
прост.Редактирование и отображение политики безопасности выполняется
с помощью &man.setkey.8;. По аналогии, setkey
используется для настройки таблиц политики безопасности ядра так же,
как &man.route.8; используется для настройки таблиц маршрутизации
ядра. setkey также может отображать текущие
параметры безопасности, и продолжая аналогию дальше, это
соответствует netstat -r.Существует множество даемонов для управления параметрами
безопасности в FreeBSD. Здесь будет описано использование одного из
них, racoon. racoon находится в категории security/ коллекции портов
FreeBSD и устанавливается обычным способом.racoon должен работать на обеих шлюзах. На каждом из хостов
он настраивается с IP адресом другого конца VPN, и секретным
ключом (по вашему выбору, должен быть одним и тем же на обеих
шлюзах).Эти два даемона подключаются друг к другу, подтверждают, что они
именно те, за кого себя выдают (используя секретный ключ, заданный
вами). Затем даемоны генерируют новый секретный ключ и используют
его для шифрования трафика через VPN. Они периодически изменяют
этот ключ, так что даже если атакующий сломает один из ключей
(что теоретически почти невозможно) это не даст ему слишком много
— он сломал ключ, который два даемона уже сменили на
другой.Настройки racoon сохраняются в
${PREFIX}/etc/racoon. Этот файл не требует
слишком больших изменений. Другим компонентом настройки
racoon, который потребуется изменить, является предварительный
ключ.В настройке по умолчанию racoon ищет его в файле
${PREFIX}/etc/racoon/psk.txt. Необходимо
отметить, что предварительный ключ не
используется для шифрования трафика через VPN соединение
это просто маркер, позволяющий управляющим ключами даемонам
доверять друг другу.psk.txt содержит строку для каждого
удаленного сервера, с которым происходит соединение. В этом примере
два сервера, каждый файл psk.txt будет
содержать одну строку (каждый конец VPN общается только с другим
концом.На шлюзе #1 эта строка будет выглядеть примерно так:W.X.Y.Z secretТо есть публичный IP адрес удаленной
стороны, пробел и текстовая строка, секретная фраза.
На шлюзе #2 строка будет выглядеть примерно так:A.B.C.D secretТо есть публичный IP адрес удаленной стороны и та же
секретная фраза. Перед запуском racoon режим доступа к файлу
psk.txt должен быть установлен в
0600 (т.е. запись и чтение только для
root).Вы должны запустить racoon на обеих шлюзах. Вам также
потребуется добавить правила для включения IKE трафика,
передающегося по UDP через порт ISAKMP (Internet Security Association
Key Management Protocol). Опять же, они должны быть
расположены насколько возможно ближе к началу набора правил.ipfw add 1 allow udp from A.B.C.D to W.X.Y.Z isakmp
ipfw add 1 allow udp from W.X.Y.Z to A.B.C.D isakmp
Как только racoon будет запущен, вы можете попробовать
выполнить ping с одного шлюза на другой. Соединение все еще не
зашифровано, но racoon установит параметры безопасности между
двумя хостами — это может занять время и вы можете заметить
небольшую задержку перед началом ответа команды ping.Как только параметры безопасности установлены, вы можете
просмотреть их используя &man.setkey.8;. Запуститеsetkey -Dна любом из хостов для просмотра информации о параметрах
безопасности.Это одна сторона проблемы. Другая сторона это настройка
политики безопасности.Для создания разумной политики безопасности давайте вспомним,
что уже было настроено. Это рассмотрение относится к обеим
концам соединения.Каждый отправляемый IP пакет имеет заголовок, содержащий информацию
о пакете. Заголовок включает IP адреса источника и назначения.
Как мы уже знаем, приватные IP адреса, такие как 192.168.x.y, не могут появиться в
интернет. Они должны быть сначала включены внутрь другого
пакета. В этом пакете приватные IP адреса источника и назначения
заменяются публичными IP адресами.То есть исходящий пакет, который выглядит примерно так:
.----------------------------.
| Src: 192.168.1.1 |
| Dst: 192.168.2.1 |
| <другие данные заголовка> |
+----------------------------+
| <данные пакета> |
`----------------------------'будет инкапсулирован в другой пакет, выглядящий примерно
так:
.--------------------------------.
| Src: A.B.C.D |
| Dst: W.X.Y.Z |
| <другие данные заголовка> |
+--------------------------------+
| .----------------------------. |
| | Src: 192.168.1.1 | |
| | Dst: 192.168.2.1 | |
| | <другие данные заголовка> | |
| +----------------------------+ |
| | <данные пакета> | |
| `----------------------------' |
`--------------------------------'Этой инкапсуляцией занимается устройство
gif. Как вы можете видеть, теперь
у пакета есть реальный IP адрес, исходный пакет был включен
в этот пакет в виде данных, которые передаются через
интернет.Конечно, мы хотим зашифровать весь трафик между VPN.
Вы можете сформулировать это на словах так:Если пакет отправляется с A.B.C.D, и предназначен для W.X.Y.Z, зашифровать его, используя
необходимые параметры безопасности.Если пакет отправляется с W.X.Y.Z, и предназначен для A.B.C.D, расшифровать его, используя
необходимые параметры безопасности.Это похоже на желаемое, но не совсем то. Если вы сделаете
это, весь трафик от и к W.X.Y.Z,
даже если он не является частью VPN, будет зашифрован. Правильная
политика такова:Если пакет отправляется с A.B.C.D, в нем инкапсулирован другой пакет
и адрес назначения W.X.Y.Z,
зашифровать его, используя необходимые параметры
безопасности.Если пакет отправляется с W.X.Y.Z, в нем инкапсулирован другой пакет
и адрес назначения A.B.C.D,
зашифровать его, используя необходимые параметры
безопасности.Тонкое, но необходимое различие.Политика безопасности также устанавливается с использованием
&man.setkey.8;. В &man.setkey.8; предусмотрен язык определения
политики &man.setkey.8;. Вы можете или ввести инструкции
по настройке со стандартного ввода, или использовать параметр
для задания файла, содержащего эти
инструкции.Настройка на шлюзе #1 (где есть публичный IP адрес
A.B.C.D) для включения шифрования
всего предназначенного W.X.Y.Z
трафика:
spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P out ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/require;
Поместите эти команды в файл (например,
/etc/ipsec.conf) и запустите&prompt.root; setkey -f /etc/ipsec.conf указывает &man.setkey.8; добавить
правило к базе данных политики безопасности. Остальная часть
строки указывает какие пакеты будут соответствовать политике.
A.B.C.D/32 и W.X.Y.Z/32 это IP адреса и сетевые маски,
определяющие сети или хосты, к которым будет применяться данная
политика. В данном случае мы хотим применить их к трафику между
этими двумя хостами. Параметр сообщает
ядру, что эта политика должна применяться только к пакетам,
инкапсулирующим другие пакеты. Параметр
сообщает, что эта политика применяется к исходящим пакетам, и
– то, что пакеты будут
зашифрованы.Оставшаяся часть строки определяет, как эти пакеты будут
зашифрованы. Будет использоваться протокол ,
а параметр показывает, что пакет в дальнейшем
будет инкапсулирован в IPsec пакет. Повторное использование
A.B.C.D и W.X.Y.Z предназначено для выбора
используемых параметров безопасности, и наконец параметр
разрешает шифрование пакетов, попадающих
под это правило.Это правило соответствует только исходящим пакетам. Вам
потребуется похожее правило, соответствующее входящим пакетам.spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P in ipsec esp/tunnel/W.X.Y.Z-A.B.C.D/require;Обратите внимание, что вместо используется
и IP адреса переставлены.Другому шлюзу (с публичным IP адресом
W.X.Y.Z) потребуются похожие
правила.spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P out ipsec esp/tunnel/W.X.Y.Z-A.B.C.D/require;
spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P in ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/require;Наконец, вам потребуется добавить правила к межсетевому экрану
для включения прохождения пакетов ESP и IPENCAP в обе стороны.
На обеих хостах потребуется добавить следующие правила:ipfw add 1 allow esp from A.B.C.D to W.X.Y.Z
ipfw add 1 allow esp from W.X.Y.Z to A.B.C.D
ipfw add 1 allow ipencap from A.B.C.D to W.X.Y.Z
ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D
Поскольку правила симметричны, можно использовать их без
изменения на обеих хостах
Исходящие пакеты теперь будут выглядеть примерно так:
.------------------------------. --------------------------.
| Src: A.B.C.D | |
| Dst: W.X.Y.Z | |
| <other header info> | | Encrypted
+------------------------------+ | packet.
| .--------------------------. | -------------. | contents
| | Src: A.B.C.D | | | | are
| | Dst: W.X.Y.Z | | | | completely
| | <other header info> | | | |- secure
| +--------------------------+ | | Encap'd | from third
| | .----------------------. | | -. | packet | party
| | | Src: 192.168.1.1 | | | | Original |- with real | snooping
| | | Dst: 192.168.2.1 | | | | packet, | IP addr |
| | | <other header info> | | | |- private | |
| | +----------------------+ | | | IP addr | |
| | | <packet data> | | | | | |
| | `----------------------' | | -' | |
| `--------------------------' | -------------' |
`------------------------------' --------------------------'
Когда эти пакеты будут получены на удаленном конце VPN
соединения, они будут расшифрованы (используя параметры
безопасности, о которых договорился racoon). Затем они будут
переданы интерфейсу gif, который
развернет второй слой, оставив пакет с внутренними
адресами, который сможет попасть во внутреннюю сеть.Вы можете проверить безопасность тем же &man.ping.8;, который
использовался ранее. Сначала войдите на шлюз A.B.C.D и запустите:tcpdump dst host 192.168.2.1В другой сессии на том же хосте запуститеping 192.168.2.1В этот момент вы должны увидеть примерно это:XXX tcpdump outputТеперь, как видите, &man.tcpdump.1; показывает ESP пакеты. Если
вы попытаетесь просмотреть их с параметром ,
то вероятно увидите нечто непонятное, поскольку применяется
шифрование.Поздравляем. Вы только что настроили VPN между двумя удаленными
сетями.РезюмеНастройте оба ядра с:options IPSEC
options IPSEC_ESP
Установите security/racoon. Отредактируйте
${PREFIX}/etc/racoon/psk.txt на обеих
шлюзах, добавив запись для каждого IP адреса удаленного хоста
и секретный ключ, который будет известен им обеим. Убедитесь,
что режим доступа к файлу 0600.Добавьте к
/etc/rc.conf на каждом хосте следующие
строки:ipsec_enable="YES"
ipsec_file="/etc/ipsec.conf"
Создайте /etc/ipsec.conf на каждом
хосте с необходимыми строками spdadd. На шлюзе #1 он будет
таким:
spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P out ipsec
esp/tunnel/A.B.C.D-W.X.Y.Z/require;
spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P in ipsec
esp/tunnel/W.X.Y.Z-A.B.C.D/require;
А на шлюзе #2 таким:
spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P out ipsec
esp/tunnel/W.X.Y.Z-A.B.C.D/require;
spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P in ipsec
esp/tunnel/A.B.C.D-W.X.Y.Z/require;
Добавьте правила к межсетевым экранам обеих хостов для
включения IKE, ESP и IPENCAP трафика:
ipfw add 1 allow udp from A.B.C.D to W.X.Y.Z isakmp
ipfw add 1 allow udp from W.X.Y.Z to A.B.C.D isakmp
ipfw add 1 allow esp from A.B.C.D to W.X.Y.Z
ipfw add 1 allow esp from W.X.Y.Z to A.B.C.D
ipfw add 1 allow ipencap from A.B.C.D to W.X.Y.Z
ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D
Двух приведенных шагов должно быть достаточно для настройки
и включения VPN. Машины в каждой сети смогут обращаться друг к
другу по IP адресам, и весь трафик через соединение будет
автоматически надежно зашифрован.ChernLeeПредоставил OpenSSHOpenSSHбезопасностьOpenSSHOpenSSH это набор сетевых инструментов,
используемых для защищенного доступа к удаленным компьютерам.
Он может быть использован в качестве непосредственной замены
rlogin, rsh,
rcp и telnet.
Кроме того, любые другие TCP/IP соединения могут быть безопасно
тунеллированы/перенаправлены через SSH.
OpenSSH шифрует весь трафик, эффективно
предотвращая кражу данных, перехват соединения и другие сетевые
атаки.OpenSSH поддерживается проектом
OpenBSD, он основан на SSH v1.2.12 со всеми последними исправлениями
и обновлениями, совместим с протоколами SSH версий 1 и 2.
OpenSSH включен в базовую систему
начиная с FreeBSD 4.0.Преимущества использования OpenSSHОбычно при использовании &man.telnet.1; или &man.rlogin.1;
данные пересылаются по сети в незашифрованной форме. Перехватчик
пакетов в любой точке сети между клиентом и сервером может
похитить информацию о пользователе/пароле или данные, передаваемые
через соединение. Для предотвращения этого
OpenSSH предлагает различные методы
шифрования.Включение sshdOpenSSHвключениеУбедитесь, что добавили в файл rc.conf
следующую строку:sshd_enable="YES"При следующей загрузке системы запущен &man.sshd.8;, даемон для
OpenSSH. Вы можете также запустить
sshd непосредственно, набрав в
командной строке sshd.SSH клиентOpenSSHклиентУтилита &man.ssh.1; работает подобно &man.rlogin.1;.&prompt.root; ssh user@example.com
Host key not found from the list of known hosts.
Are you sure you want to continue connecting (yes/no)? yes
Host 'example.com' added to the list of known hosts.
user@example.com's password: *******Вход продолжится так же, как если бы сессия была инициирована
с использованием rlogin или
telnet. SSH использует систему опознавательных
ключей для проверки подлинности сервера при подключении клиента.
Пользователю предлагается yes только при первом
подключении. Дальнейшие попытки входа предваряются проверкой
сохраненного ключа сервера. SSH клиент сообщит вам, если сохраненный
ключ будет отличаться от только что полученного. Ключи серверов
сохраняются в ~/.ssh/known_hosts, или в
~/.ssh/known_hosts2 для SSH v2.По умолчанию, сервер OpenSSH настроен
для приема соединений SSH v1 и SSH v2. Клиент может выбирать между
этими двумя протоколами. Версия 2 безопаснее своего
предшественника.Команде &man.ssh.1; можно указать использование определенной
версии протокола, запустив ее с параметром
или для версии 1 или 2 соответственно.Безопасное копированиеOpenSSHбезопасное копированиеscpКоманда &man.scp.1; работает подобно &man.rcp.1;; она копирует
файл с удаленного компьютера, но делает это безопасным
способом.&prompt.root; scp user@example.com:/COPYRIGHT COPYRIGHT
user@example.com's password: *******
COPYRIGHT 100% |*****************************| 4735
00:00
&prompt.root;Поскольку в предыдущем примере ключ сервера уже был сохранен,
в этом примере он проверяется при использовании &man.scp.1;.Параметры, передаваемые &man.scp.1;, похожи на параметры
&man.cp.1;, с файлом или файлами в качестве первого аргумента и
приемником копирования во втором. Поскольку файлы файлы передаются
по сети через SSH, один или более аргументов принимают форму
.НастройкаOpenSSHнастройкаСистемные файлы настройки для даемона и клиента
OpenSSH расположены в каталоге
/etc/ssh.Файл ssh_config используется для настройки
клиента, а sshd_config для даемона.Кроме того, параметры
(по умолчанию /usr/sbin/sshd), и
rc.conf
дают дополнительные возможности настройки.ssh-keygenВместо использования паролей, с помощью &man.ssh-keygen.1;
пользователи могут аутентифицироваться ключами RSA:&prompt.user; ssh-keygen -t rsa1
Initializing random number generator...
Generating p: .++ (distance 66)
Generating q: ..............................++ (distance 498)
Computing the keys...
Key generation complete.
Enter file in which to save the key (/home/user/.ssh/identity):
Enter passphrase:
Enter the same passphrase again:
Your identification has been saved in /home/user/.ssh/identity.
...&man.ssh-keygen.1; создаст пару публичного и приватного
ключей, используемых для аутентификации. Приватный ключ сохраняется
в ~/.ssh/identity, а публичный в
~/.ssh/identity.pub. Для включения
аутентификации по ключам публичный ключ должен
быть помещен в ~/.ssh/authorized_keys
на удаленном компьютере.Это позволяет соединяться с удаленным компьютером с помощью
RSA аутентификации вместо паролей.Параметр приведет к созданию RSA
ключей, используемых SSH протоколом версии 1. Если вы хотите
использовать RSA ключи с SSH протоколом версии 2, используйте
команду ssh-keygen -t rsa.Если при генерации ключей был использован пароль, каждый раз
для при использовании приватного ключа он будет запрашиваться
у пользователя.DSA ключ для SSH протокола версии 2 может быть создан в тех же
целях командой ssh-keygen -t dsa. Эта команда
создаст публичный/приватный ключи DSA для использования только
с SSH протоколом версии 2. Публичный ключ сохраняется в
~/.ssh/id_dsa.pub, а приватный ключ в
~/.ssh/id_dsa.Публичный ключ DSA также должен быть помещен в каталог
~/.ssh/authorized_keys на удаленном
компьютере.Утилиты &man.ssh-agent.1; и &man.ssh-add.1; используются
для управления множеством защищенных паролем приватных
ключей.Параметры и имена файлов могут различаться для разных
версий OpenSSH, установленных в системе,
для решения проблем обратитесь к странице справочника
&man.ssh-keygen.1;.
-
+ SSH тунеллированиеOpenSSHтунеллированиеOpenSSH поддерживает возможность
создания туннеля для пропуска соединения по другому протоколу
через защищенную сессию.Следующая команда указывает &man.ssh.1; создать туннель для
telnet:&prompt.user; ssh -2 -N -f -L 5023:localhost:23 user@foo.example.com
&prompt.user;Команда ssh используется со следующими
параметрами:Указывает ssh использовать версию
2 протокола (не используйте этот параметр, если работаете
со старыми SSH серверами).Означает использование в не-командном режиме, только для
тунеллирования. Если этот параметр опущен,
ssh запустит обычную сессию.Указывает ssh запускаться в фоновом
режиме.Означает локальный туннель в стиле
localport:remotehost:remoteport.Удаленный сервер SSH.Туннель SSH создается путем создания прослушивающего сокета
на определенном порту localhost. Затем все
принятые на локальном хосту/порту соединения переправляются на
через SSH на определенный удаленный хост и порт.В этом примере, порт 5023 на
localhost перенаправляется на порт
23 на localhost
удаленного компьютера. Поскольку 23
это порт telnet, будет создано защищенное
соединение telnet через туннель
SSH.Этот метод можно использовать для любого числа небезопасных
протоколов, таких как SMTP, POP3, FTP, и так далее.Использование SSH для создания защищенного туннеля на
SMTP&prompt.user; ssh -2 -N -f -L 5025:localhost:25 user@mailserver.example.com
user@mailserver.example.com's password: *****
&prompt.user; telnet localhost 5025
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mailserver.example.com ESMTPЭтот метод можно использовать вместе с &man.ssh-keygen.1;
и дополнительными пользовательскими учетными записями для
создания более удобного автоматического SSH тунеллирования.
Ключи могут быть использованы вместо паролей, и туннели
могут запускаться от отдельных пользователей.Практические примеры SSH тунеллированияЗащищенный доступ к серверу POP3На работе находится SSH сервер, принимающий соединения
снаружи. В этой же офисной сети находится почтовый сервер,
поддерживающий протокол POP3. Сеть или сетевое соединение
между вашим домом и офисом могут быть или не быть полностью
доверяемыми. По этой причине вам потребуется проверять
почту через защищенное соединение. Решение состоит в создании
SSH соединения к офисному серверу SSH и тунеллирование
через него к почтовому серверу.&prompt.user; ssh -2 -N -f -L 2110:mail.example.com:110 user@ssh-server.example.com
user@ssh-server.example.com's password: ******Когда туннель включен и работает, вы можете настроить
почтовый клиент для отправки запросов POP3 на
localhost, порт 2110. Соединение будет
безопасно переправлено через туннель на
mail.example.com.Прохождение через Драконовский БрандмауэрНекоторые сетевые администраторы устанавливают
на межсетевых экранах (брандмауэрах) драконовские правила,
фильтруя не только входящие соединения, но и исходящие.
Вам может быть разрешен доступ к удаленным компьютерам только
по портам 22 и 80, для SSH и просмотра сайтов.Вам может потребоваться доступ к другому (возможно, не
относящемуся к работе) сервису, такому как Ogg Vorbis
для прослушивания музыки. Если этот сервер Ogg Vorbis
выдает поток не с портов 22 или 80, вы не сможете получить
к нему доступ.Решение состоит в создании SSH соединения с компьютером
вне межсетевого экрана и использование его для тунеллирования
сервера Ogg Vorbis.&prompt.user; ssh -2 -N -f -L 8888:music.example.com:8000 user@unfirewalled-system.example.org
user@unfirewalled-system.example.org's password: *******Клиентскую программу теперь можно настроить на
localhost порт 8888, который будет перенаправлен
на music.example.com порт 8000, успешно
обойдя межсетевой экран.Для дальнейшего чтенияOpenSSH&man.ssh.1; &man.scp.1; &man.ssh-keygen.1;
&man.ssh-agent.1; &man.ssh-add.1;&man.sshd.8; &man.sftp-server.8;RobertWatsonСпонсировали DARPA и Network Associates Laboratories.
Предоставил MACПринудительный контроль доступа (MAC)FreeBSD 5.0 включает новую систему (framework) безопасности уровня
ядра, TrustedBSD MAC Framework. Система MAC позволяет применять
расширения безопасности при компилировании, загрузке и выполнении,
она может быть использована для поддержки принудительного контроля
доступа (Mandatory Access Control, MAC), а также
специфических модулей безопасности.
Система MAC на данный момент считается экспериментальной, и без
внимательного изучения не должна использоваться в реальных задачах.
Ожидается, что MAC будет лучше подходить для широкого использования
начиная с FreeBSD 5.2.При включении в ядро система MAC использует модули безопасности для
усиления существующей модели безопасности ядра, ограничивая доступ к
системным сервисам и объектам. Например, модуль
&man.mac.bsdextended.4; усиливает контроль доступа к файловой системе,
позволяя администраторам задавать набор правил подобный тому, который
используется для межсетевого экрана, ограничивая доступ к объектам
файловой системы на основе id пользователя и его принадлежности к
группам. Некоторые модули требуют мало или вообще не требуют
настройки, например &man.mac.seeotheruids.4;, в то время как другие
требуют тотальной маркировки объектов и большого объема настройки,
например &man.mac.biba.4; и &man.mac.mls.4;.Для включения системы MAC Framework в ядро системы вы должны
добавить в файл настройки ядра следующую строку:options MACМодули политики безопасности, поставляемые с базовой системой,
могут быть загружены с помощью &man.kldload.8; или при загрузке
через &man.loader.8;. Они также могут быть непосредственно встроены
в ядро с помощью приведенных ниже параметров, если использование
модулей нежелательно.Различные политики MAC могут быть настроены разными способами;
зачастую модули политики MAC экспортируют параметры настройки через
&man.sysctl.8; MIB, используя пространство имен
security.mac. Политики безопасности, относящиеся
к файловой системе или другим меткам могут требовать действий по
присвоению начальных меток системным объектам или создания файла
настройки политики безопасности. За информацией по настройке и
использованию каждого модуля политики обращайтесь к его справочной
странице.Существует множество инструментов для настройки системы MAC
и меток, поддерживаемых различными политиками безопасности.
Были созданы расширения для входа в систему и управления доступом
(&man.setusercontext.3;), поддерживающие присвоение пользователям
метки с помощью &man.login.conf.5;. Кроме того, были сделаны
изменения в &man.su.1;, &man.ps.1;, &man.ls.1;, и &man.ifconfig.8;
для проверки и установки меток на процессы, файлы и интерфейсы.
Были добавлены несколько новых инструментов для управления
метками объектов, включая &man.getfmac.8;, &man.setfmac.8; и
&man.setfsmac.8; для управления метками файлов, а также
&man.getpmac.8; и &man.setpmac.8;.Ниже представлен список модулей политики безопасности, поставляемых
с FreeBSD 5.0.Политика целостности Biba (mac_biba)Политика целостности BibaПоставщик: TrustedBSD ProjectИмя модуля: mac_biba.koПараметр ядра: MAC_BIBATCBПолитика целостности Biba (Biba Integrity Policy,
&man.mac.biba.4;) создана для иерархического и не иерархического
присвоения всем системным объектам уровня доступа и применение
политики контроля за потоками информации для предотвращения
повреждения субъектов с высоким уровнем доступа и данных
субъектами с низким уровнем доступа. Целостность достигается
предотвращением чтения объектов с низким уровнем доступа
(зачастую файлов) субъектами с высоким уровнем доступа (обычно
процессами), и предотвращение записи в объекты с высоким уровнем
доступа субъектами с низким уровнем доступа. Эта политика
безопасности часто используется в коммерческих доверяемых
системах для обеспечения высокого уровня защиты
Trusted Code Base (TCB). Вследствие необходимости
тотального маркирования, политика целостности Biba должна быть
встроена в ядро или загружена при старте системы.Брандмауэрная политика файловой системы (mac_bsdextended)Брандмауэрная политика файловой системыПоставщик: TrustedBSD ProjectИмя модуля: mac_bsdextended.koПараметр ядра: MAC_BSDEXTENDEDFile System Firewall Policy (брандмауэрная политика файловой
системы, &man.mac.bsdextended.4;) это расширение системы
контроля доступа файловой системы BSD, позволяющая администратору
определять набор брандмауэр-подобных правил для ограничения доступа
к объектам файловой системы, принадлежащим пользователям и группам.
Правила, управляемые &man.ugidfw.8;, могут ограничить доступ к
файлам и каталогам на основе uid и gid процесса, пытающегося получить
доступ, владельца и группы цели, на которую направлена попытка
доступа. Все правила ограничивающие, так что они могут быть
помещены в любом порядке. Эта политика не требует предварительной
настройки или маркировки и может подходить для многопользовательской
среды, где требуется принудительное ограничение на обмен данных
между пользователями. Необходимо соблюдать осторожность при
ограничения доступа к файлам, принадлежащим суперпользователю или
другим системным пользователям, поскольку множество полезных программ
и каталогов принадлежат этим пользователям. Как и сетевым
брандмауэром, неправильное применение правил брандмауэра файловой
системы может привести систему в неработоспособное состояние.
Новые инструменты для управления набором правил легко могут быть
написаны с использованием библиотеки &man.libugidfw.3;.Политика тишины интерфейса (mac_ifoff)Политика тишины интерфейсаПоставщик: TrustedBSD ProjectИмя модуля: mac_ifoff.koПараметр ядра: MAC_IFOFFПолитика тишины интерфейса (Interface silencing
policy, &man.mac.ifoff.4;) запрещает использование сетевых
интерфейсов во время загрузки, пока они не будут явно включены,
предотвращая ответ сетевого стека на входящие пакеты.
Эта политика подходит, если требуется мониторинг пакетов, без
генерации трафика.Low-Watermark Mandatory Access Control (LOMAC)
(mac_lomac)MACLow-WatermarkLOMACПоставщик: Network Associates LaboratoriesИмя модуля: mac_lomac.koПараметр ядра: MAC_LOMACПодобно политике целостности Biba, политика LOMAC
(&man.mac.lomac.4;) основывается на тотальной маркировке
всех системных объектов метками уровня доступа. В отличие
от Biba, LOMAC разрешает субъектам с высоким уровнем доступа
читать из объектов с низким уровнем доступа, но уровень
доступа субъекта понижается для предотвращения последующей
записи в объекты с высоким уровнем доступа. Эта политика
может применяться для обеспечения совместимости, поскольку
требует меньшей начальной настройки, чем Biba. Однако, как
и в случае Biba, она основана на тотальной маркировке объектов
и следовательно должна быть встроена в ядро или загружена
при старте системы.Многоуровневая политика безопасности (MLS) (mac_mls)Многоуровневая политика безопасностиMACMulti-LevelПоставщик: TrustedBSD ProjectИмя модуля: mac_mls.koПараметр ядра: MAC_MLSМногоуровневая безопасность (Multi-Level Security,
MLS, &man.mac.mls.4;) предназначена для
иерархической и не-иерархической метки всех системных
объектов с важными данными и жесткого ограничения передачи
информации для предотвращения утечки конфиденциальной информации.
Логическое соединение политики целостности Biba и
MLS зачастую поставляется в коммерческих
доверяемых операционных системах для обеспечения безопасности
данных в многопользовательской среде.
Как и с Biba, происходит тотальное маркирование объектов,
следовательно необходимо встраивание в ядро или загрузка модуля
при старте системы. Как и с Biba, может потребоваться обширная
начальная настройка.Шаблон политики MAC (mac_none)Шаблон политики MACПоставщик: TrustedBSD ProjectИмя модуля: mac_none.koПараметр ядра: MAC_NONEОтсутствие политики безопасности (None policy, &man.mac.none.4;)
предоставляет пример политики безопасности для разработчиков,
реализуя все необходимое, но не меняя политику контроля доступа
системы. Запуск этой политики в реальных задачах не принесет
существенных преимуществ.Политика разделения процессов (mac_partition)Политика разделения процессовПоставщик: TrustedBSD ProjectИмя модуля: mac_partition.koПараметр ядра: MAC_PARTITIONПолитика разделения процессов, (Partition policy,
&man.mac.partition.4;) предназначена для простого разграничения
видимости процессов, путем присвоения процессам меток,
определяющих, в каком из разделов системы они находятся.
При отсутствии меток все процессы могут просматриваться с
помощью стандартных инструментов мониторинга; если идентификатор
раздела существует, видны только процессы в том же разделе.
Эта политика может быть встроена в ядро, загружена при старте
системы или в любое другое время.Просмотр других uid (mac_seeotheruids)Просмотр других uidПоставщик: TrustedBSD ProjectИмя модуля: mac_seeotheruids.koПараметр ядра: MAC_SEEOTHERUIDSПросмотр других uid (See Other Uids policy,
&man.mac.seeotheruids.4;) реализует модель видимости процессов,
похожую на mac_partition, но основывается на правах процессов,
а не на метках разделов. Политика может быть настроена для
исключения определенных пользователей и групп, включая разрешение
просмотра всех процессов операторам системы без специальных
привилегий. Политика может быть встроена в ядро, загружена при
запуске системы или в любое другое время.политика для тестирования системы MAC (mac_test)политика для тестирования системы MACПоставщик: TrustedBSD ProjectИмя модуля: mac_test.koПараметр ядра: MAC_TESTПолитика для тестирования (Test policy,
&man.mac.test.4;) реализует регрессивное тестирование
среды для системы MAC, и завершится с ошибкой, если
внутренняя проверка правильности меток системы MAC не пройдет.
Этот модуль может использоваться для обнаружения ошибок
в маркировке системных объектов. Политика может быть встроена
в ядро, загружена при старте системы или в любое другое
время.TomRhodesПредоставил ACLСписки контроля доступа файловой системы (ACL)В дополнение к другим расширениям файловой системы, таким как
снимки (snapshots), FreeBSD 5.0 и более поздние версии системы
предлагают защиту с помощью списков контроля доступа файловой системы
(File System Access Control Lists, ACLs).Списки контроля доступа расширяют стандартную модель прав &unix;
высоко совместимым (&posix;.1e) способом. Эта возможность позволяет
администратору получить преимущество от использования более
интеллектуальной модели безопасности.Для включения поддержки ACL в файловой
системе UFS, следующая строка:options UFS_ACLдолжна быть добавлена в файл настройки ядра. Если параметр не
добавлен, при попытке монтирования систем, поддерживающих
ACL, появится предупреждающее сообщение.
Этот параметр включен в ядро GENERIC.
ACL основывается на дополнительных атрибутах,
встроенных в файловую систему. Дополнительные атрибуты
поддерживаются по умолчанию следующим поколением файловых систем
&unix;, UFS2.Для включения дополнительных атрибутов в
UFS1 требуется больше усилий по сравнению с
UFS2. Производительность дополнительных
атрибутов в UFS2 также существенно выше.
По этим причинам для работы с списками контроля доступа
предпочтительно использование UFS2ACL включаются во время монтирования флагом
, который добавляется к
/etc/fstab. Этот флаг также можно сделать
постоянным с помощью &man.tunefs.8;, изменив флаг
ACL в заголовке файловой системы. Вообще говоря,
использование флага в суперблоке предпочтительно по нескольким
причинам:Постоянный ACL флаг не может быть изменен
путем перемонтирования системы (&man.mount.8; ),
а только через &man.umount.8; и &man.mount.8;. Это означает,
что ACL нельзя включить на корневой файловой
системе после загрузки. Это также означает, что вы не можете
изменить флаг на используемой файловой системе.Установка флага в суперблоке приводит к постоянному монтированию
файловой системы с включенным ACL, даже если
нет записи в fstab или при смене порядка
устройств. Это предотвращает случайное монтирование файловой
системы без ACL, которое может повлечь за
собой проблемы с безопасностью.Мы можем изменить поведение ACL для
включения флага без полного перемонтирования, но считаем, что
желательно исключить случайное монтирование без
ACL, поскольку вы можете попасть в неприятную
ситуацию, если включите ACL, затем выключите
их, затем опять включите без сброса расширенных атрибутов.
Обычно, как только вы включили ACL в файловой
системе, они не должны быть выключены, поскольку получающаяся
защита файлов может быть не совместима с той, что применяется
пользователями системы, и повторное включение ACL
может подключить предыдущие списки контроля доступа к файлам,
права на которые изменены, что приведет к непредсказуемому
поведению.Файловые системы с включенными ACLs показывают
знак + при просмотре прав на файлы.
Например:drwx------ 2 robert robert 512 Dec 27 11:54 private
drwxrwx---+ 2 robert robert 512 Dec 23 10:57 directory1
drwxrwx---+ 2 robert robert 512 Dec 22 10:20 directory2
drwxrwx---+ 2 robert robert 512 Dec 27 11:57 directory3
drwxr-xr-x 2 robert robert 512 Nov 10 11:54 public_htmlЗдесь мы видим, что каталоги directory1,
directory2, и directory3
используют преимущества ACL. Каталог
public_html их не использует.Использование ACLACL файловой системы можно просмотреть
с помощью утилиты &man.getfacl.1;. Например, для просмотра
настроек ACL файла
test, может использоваться команда:&prompt.user; getfacl test
#file:test
#owner:1001
#group:1001
user::rw-
group::r--
other::r--Для изменения ACL этого файла,
вызовите утилиту &man.setfacl.1;. Выполните:&prompt.user; setfacl -k testПараметр удалит все установленные
на данный момент ACL из файла или файловой
системы. Более предпочтительный метод это использование
параметра , который оставит необходимые
для работы ACL поля.&prompt.user; setfacl -m u:trhodes:rwx,group:web:r--,o::--- testВ вышеприведенной команде параметр
использован для изменения записей ACL
по умолчанию. Поскольку предустановленных записей не было (они были
удалены предыдущей командой), эта команда восстановит параметры
по умолчанию и задаст приведенные параметры. Имейте ввиду,
при добавлении пользователя или группы, которых нет в системе,
на stdout будет выведена ошибка
Invalid argument.TomRhodesПредоставил Сообщения безопасности FreeBSDСообщения безопасности &os;Как многие и высококачественные операционные системы, &os;
публикует Сообщения безопасности (Security
Advisories). Эти сообщения обычно отправляются по почте
в списки рассылки, посвященные безопасности и публикуются
в списке проблем только после выхода исправлений к соответствующим
релизам. В этом разделе разъясняется, что такое сообщения безопасности,
как их читать и какие меры принимать для исправления системы.Как выглядит сообщение?Сообщение безопасности &os; выглядит подобно сообщению ниже,
взятому из списка рассылки &a.security-notifications.name;.=============================================================================
&os;-SA-XX:XX.UTIL Security Advisory
The &os; Project
Topic: denial of service due to some problem
Category: core
Module: sys
Announced: 2003-09-23
Credits: Person@EMAIL-ADDRESS
Affects: All releases of &os;
&os; 4-STABLE prior to the correction date
Corrected: 2003-09-23 16:42:59 UTC (RELENG_4, 4.9-PRERELEASE)
2003-09-23 20:08:42 UTC (RELENG_5_1, 5.1-RELEASE-p6)
2003-09-23 20:07:06 UTC (RELENG_5_0, 5.0-RELEASE-p15)
2003-09-23 16:44:58 UTC (RELENG_4_8, 4.8-RELEASE-p8)
2003-09-23 16:47:34 UTC (RELENG_4_7, 4.7-RELEASE-p18)
2003-09-23 16:49:46 UTC (RELENG_4_6, 4.6-RELEASE-p21)
2003-09-23 16:51:24 UTC (RELENG_4_5, 4.5-RELEASE-p33)
2003-09-23 16:52:45 UTC (RELENG_4_4, 4.4-RELEASE-p43)
2003-09-23 16:54:39 UTC (RELENG_4_3, 4.3-RELEASE-p39)
&os; only: NO
For general information regarding FreeBSD Security Advisories,
including descriptions of the fields above, security branches, and the
following sections, please visit
-http://www.freebsd.org/security/.
+http://www.FreeBSD.org/security/.
I. Background
II. Problem Description
III. Impact
IV. Workaround
V. Solution
VI. Correction details
VII. ReferencesПоле Topic показывает в чем именно
заключается проблема. Это обычно введение в сообщение
безопасности, упоминающее утилиту, в которой возникла
ошибка.Поле Category относится к затронутой части
системы и может быть выбрана из core,
contrib, или ports.
Категория core означает, что
уязвимость затрагивает основной компонент операционной системы
&os;. Категория contrib означает, что
уязвимость затрагивает программы, предоставленные проекту
&os;, например sendmail. Наконец,
категория ports означает, что уязвимость
затрагивает программное обеспечение, доступное из коллекции
портов.Поле Module указывает на местоположение
компонента, например sys. В этом примере
мы видим, что затронут модуль sys,
следовательно, эта уязвимость относится к компоненту,
используемому в ядре.Поле Announced отражает дату публикации
сообщения безопасности, или его анонсирования. Это означает,
что команда обеспечения безопасности убедилась, что проблема
существует и что патч помещен в репозиторий исходных текстов
&os;.Поле Credits упоминает частное лицо или
организацию, обнаружившую уязвимость и сообщившую о ней.Поле Affects дает информацию о релизах
&os;, к которым относится данная уязвимость. Для базовой
системы, просмотр вывода команды ident
для файлов, затронутых уязвимостью, поможет определить
ревизию. Номер версии портов приведен после имени порта
в каталоге /var/db/pkg. Если система
не синхронизируется с CVS репозиторием
&os; и не пересобирается ежедневно, высок шанс, что
она затронута уязвимостью.Поле Corrected показывает дату, время,
смещение во времени и релиз, в котором исправлена ошибка.Поле &os; only показывает, существует
ли эта уязвимость только в &os;, или затрагивает и другие
системы.Поле Background дает информацию именно
о той утилите, для которой выпущено сообщение. Как правило
информация о том, зачем утилита присутствует в &os;, для
чего она используется, и немного информации о том, как
появилась эта утилита.Поле Problem Description дает более
глубокие разъяснения возникшей проблемы. Оно может включать
информацию об ошибочном коде, или даже о том, как утилита
может быть использована для создания бреши в системе
безопасности.Поле Impact описывает тип воздействия,
который проблема может оказать на систему. Это может быть
все, что угодно, от атаки на отказ в обслуживании до
получения пользователями дополнительных привилегий, или
даже получения атакующим прав суперпользователя.Поле Workaround предлагает тем,
системным администраторам, которые не могут обновить систему,
обходной путь решения проблемы. Он может пригодиться при
недостатке времени, отсутствии подключения к сети или по
массе других причин. В любом случае, к безопасности нельзя
относиться несерьезно, и необходимо либо применить указанный
обходной путь, либо исправить систему.Поле Solution предлагает инструкции по
исправлению затронутой системы. Это пошаговое руководство,
протестированный метод восстановления безопасности системы.Поле Correction Details показывает
ветвь CVS (имя релиза с точками, замененными
на символы подчеркивания). Здесь также показан номер ревизии
каждого файла из каждой ветви.Поле References обычно упоминает
другие источники информации. Это могут быть веб страницы,
книги, списки рассылки и группы новостей.