Резюме
Ограничение сферы действия сервера поддеревом chroot
позволяет уменьшить риск, связанный с работой этого сервера. Такой подход приемлем в основном для серверов, обращающихся в процессе выполнения к ограниченному набору файлов. Для того чтобы обеспечить функционирование сервера в рамках поддерева, надо продублировать в поддереве chroot
некоторые каталоги и файлы системы Linux. В ряде случаев приходится копировать в каталог поддерева и исполняемый файл сервера. Некоторые серверы самостоятельно вызывают функцию chroot()
, а для запуска других приходится применять программу chroot
. Независимо от способа запуска, сервер не может обращаться за пределы поддерева. Корневой каталог поддерева chroot
он воспринимает как корневой каталог всей файловой системы. При подготовке сервера к выполнению в рамках поддерева chroot
следует выяснить, какие файлы нужны для его выполнения и с какими вспомогательными программами он должен взаимодействовать в работе. Соответствующие файлы надо скопировать в каталоги поддерева chroot
. Чтобы сервер мог выполняться в поддереве chroot
, необходимо также модифицировать стандартную процедуру его запуска. Среда chroot
требует поддержки, но для выполнения соответствующих действий администратору приходится затрачивать не слишком много времени.
Глава 24
Расширенные средства маршрутизации
Несмотря на то что Linux считается операционной системой общего назначения, количество специальных применений Linux постоянно увеличивается. Известны даже случаи использования данной системы в устройствах PDA и видеомагнитофонах. Одним из специальных (хотя и не столь экзотических) применений Linux является
Если вы собираетесь создавать NAT-маршрутизатор на базе Linux, вам следует ознакомиться с материалом, изложенным в следующей главе.
Базовая конфигурация маршрутизатора на базе Linux устанавливается достаточно просто, но при использовании расширенных средств маршрутизации могут возникнуть проблемы. В данной главе приведены лишь общие сведения о способах маршрутизации и об инструментальных средствах, используемых для этого. Дополнительную информацию вы найдете в документации на конкретные инструменты. Кроме того, вопросы, рассматриваемые в данной главе, подробно изложены в книге Лебланка (LeBlanc) и др.
Использование расширенных средств маршрутизации
Приступая к чтению данной главы, следует иметь в виду, что в ней рассматриваются расширенные средства маршрутизации. Если трафик, связанный с обменом внутренней сети с Internet, невелик и если от маршрутизатора требуется поддержка лишь простых статических маршрутов, вам нет никакой необходимости использовать средства, описанные в данной главе. На компьютере, содержащем две сетевые карты, вы можете реализовать перенаправление пакетов с помощью следующей команды:
# echo '1' > /proc/sys/net/ipv4/ip_forward
При наличии нескольких сетей для организации доставки пакетов достаточно простой таблицы маршрутизации.
Для того чтобы обеспечить маршрутизацию на локальном компьютере с несколькими интерфейсами, достаточно лишь правильно заполнить таблицу маршрутизации, а компьютеры, к которым он непосредственно подключен по сети, должны лишь знать о том, что этот компьютер выполняет функции маршрутизатора. В качестве примера рассмотрим компьютер под управлением Linux, который используется для подключения небольшой сети к Internet посредством линии SDSL. Если компьютер не поддерживает NAT, маршрутизатор провайдера, к которому рассматриваемый компьютер подключен посредством сетевого интерфейса, должен знать, что этот компьютер является маршрутизатором для локальной сети. Если маршрутизатор провайдера не имеет таких сведений, он будет передавать по назначению пакеты, отправленные из локальной сети, но не сможет доставить пакеты, переданные в ответ. В большинстве случаев необходимо, чтобы администратор сети, к которой подключена ваша сеть, настроил свой маршрутизатор для взаимодействия с вашим. Кроме того, вам надо сконфигурировать узлы вашей сети так, чтобы они использовали компьютер под управлением Linux в качестве маршрутизатора.
В данной главе рассматриваются вопросы принятия решений о маршрутах пакетов на основании исходного адреса, адреса назначения и типа протокола. От того, насколько правильно приняты такие решения, зависит эффективность работы Internet. Так, например, целесообразно присвоить высокий приоритет пакетам, которые соответствуют интерактивным протоколам, за счет задержки менее важных данных. Конфигурация, позволяющая выполнить подобные действия, обычно устанавливается на выделенных маршрутизаторах, предназначенных для обработки больших объемов информации.
В этой главе также рассматриваются протоколы маршрутизации, которые позволяют организовать взаимодействие с другими маршрутизаторами. Маршрутизаторы, поддерживающие эти протоколы, позволяют динамически заполнять таблицы маршрутизации, обеспечивая наиболее быструю доставку пакетов. Благодаря использованию этих протоколов повышается производительность сети, однако они в основном применяются тогда, когда маршрутизатор подключен к Internet через несколько сетевых интерфейсов. Если же для соединения с Internet используется лишь один интерфейс, применять протоколы маршрутизации бессмысленно, так как они не будут оказывать влияния на содержимое таблицы маршрутизации.
Расширенные опции ядра