Бруй В.В., Карлов С.В. - Linux-сервер - пошаговые инструкции - инсталляции и настройки (1077321), страница 73
Текст из файла (страница 73)
ISC BIND – программное обеспечение для организации службы DSN311Шаг 2Скопируйте файл resolv.conf в соответствующий каталог окружения chroot-jail:[root@drwalbr /]# cp /etc/resolv.conf /chroot/named/etc/Шаг 3Создайте файл инициализации lwresd:#!/bin/bash########This shell script takes care of starting and stopping lwresd.chkconfig: - 55 45description: Lwresd is essentially a Caching-Only Name Server that \answers requests using the lightweight resolver protocol \rather than the DNS protocol.processname: lwresd# Source function library.. /etc/init.d/functions# Source networking configuration..
/etc/sysconfig/network# Source for additional options if we have them.if [ -f /etc/sysconfig/named ] ; then. /etc/sysconfig/namedfi# Check that networking is up.[ "${NETWORKING}" = "no" ] && exit 0#[[[If-f-f-fLwresd is not available stop now./usr/sbin/lwresd ] || exit 0"${ROOTDIR}"/etc/lwresd.conf ] || exit 0"${ROOTDIR}"/etc/resolv.conf ] || exit 0# Path to the Lwresd binary.lwresd=/usr/sbin/lwresdRETVAL=0prog="Lwresd"start() {echo -n $"Starting $prog: "if [ -n "${ROOTDIR}" -a "x${ROOTDIR}" != "x/" ]; thenOPTIONS="${OPTIONS} -t ${ROOTDIR}"fidaemon $lwresd -P 53 -u named ${OPTIONS}RETVAL=$?echo[ $RETVAL -eq 0 ] && touch /var/lock/subsys/lwresdreturn $RETVAL}stop() {echo -n $"Shutting down $prog: "killproc $lwresdRETVAL=$?echo[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/lwresdreturn $RETVAL}312Часть 5.
Служба DSN# See how we were called.case "$1" instart)start;;stop)stop;;status)status $lwresdRETVAL=$?;;restart)stopstartRETVAL=$?;;condrestart)if [ -f /var/lock/subsys/lwresd ]; thenstopstartRETVAL=$?fi;;*)echo $"Usage: $0 {start|stop|status|restart|condrestart}"exit 1esacexit $RETVALШаг 4Сделайте файл исполняемым и определите его владельцем пользователя root:[root@drwalbr /]# chmod 700 /etc/init.d/lwresd[root@drwalbr /]# chown 0.0 /etc/init.d/lwreadШаг 5Для автоматического запуска lwresd создайте необходимые символьные ссылки:[root@drwalbr /]# chkconfig --add lwresd[root@drwalbr /]# chkconfig --level 2345 lwresd onи удалите инициализационный файл и ссылки, используемые ранее для автоматического запуска демонаnamed:[root@drwalbr /]# chkconfig --del named[root@drwalbr /]# chkconfig --level 2345 named off[root@drwalbr /]# rm -f /etc/init.d/namedШаг 6Формат файла идентичен формату файла named.conf./chroot/named/etc/named.conf в lwresd.conf:[root@drwalbr /]# cd /chroot/named/etc/[root@drwalbr etc]# mv named.conf lwresd.confПоэтомупереименуйтефайлШаг 7Для запуска демона lwresd выполните команду:[root@drwalbr /]# /etc/init.d/lwresd startЗапускается Lwresd:[OK]Шаг 8Протестируйте lwresd в соответствии с рекомендациями по тестированию named, приведенными выше.Глава 24.
Кэширующий прокси-сервер Squid313Часть 6Программное обеспечениедля организации шлюза314Часть 6. Программное обеспечение для организации шлюзаГлава 24Кэширующий прокси-сервер SquidВ этой главе:1. Ограничения и допущения2. Пакеты3. Инсталляция с помощью rpm-пакетов4. Компиляция, оптимизация и инсталляция Squid5. Конфигурирование Squid6. Пример конфигурации Squid для шлюза7. Тестирование Squid8. Администрирование Squid9. Пример конфигурации Squid в качестве Web-ускорителяГлава 24. Кэширующий прокси-сервер Squid315Кэширующий прокси-сервер Squid разработан на основе результатов научно-исследовательского проекта Harvest, финансируемого управлением перспективных исследований и разработок (ARPA). Исследования проводились в национальной Лаборатории прикладных сетевых исследований (National Laboratory forApplied Network Research) и финансировались национальным научным Фондом (National ScienceFoundation).
Squid сохраняет в оперативной памяти и на диске документы и другие объекты данных, получаемые с Web-ресурсов, ускоряя при этом доступ к ним и сокращая затраты на трафик. Обычно Squid используется для организации шлюза из локальных сетей в Интернет. Использование Squid в качестве кэширующего прокси-сервера на корпоративном шлюзе в сочетании с IPTables и GIPTables Firewall позволяет установить ограничения на доступ пользователей к Web-ресурсам (аутентификация пользователей,ограничения по IP-адресам, времени и пропускной способности канала). Кроме того, Squid может использоваться для увеличения производительности сильно загруженных Web-серверов путем предоставления клиентам часто запрашиваемых объектов из кэша прокси-сервера без обращения к Web-серверу.Ограничения и допущенияИсходные коды находятся в каталоге /var/tmp.Используется дистрибутив ASPLinux 7.3 (Vostok).Все команды выполняются от имени суперпользователя root.Перекомпиляции ядра не требуется.Процедуры, описанные в этой главе, могут оказаться применимыми для других дистрибутивов Linux,но авторы этого не проверяли.ПакетыПоследующие рекомендации основаны на информации, полученной с домашней страницы проектаSquid Web Proxy Cache от 01.03.2003.
Регулярно проверяйте обновления на http://www.squidcache.orq. Мы используем установку требуемых компонентов с исходного архива, так как это открываетширокие возможности для настроек инсталляции.Исходные коды содержатся в пакете squid-version.tar.gz (последняя доступная на момент написания главы версия squid-2.5.STABLE1.tar.gz).Инсталляция с помощью rpm-пакетовЕсли вы предпочитаете использование системы со стандартным ядром и программным обеспечением,установленным из rpm-пакетов, для установки или обновления пакета необходимо выполнить следующиеоперации.ЗАМЕЧАНИЕ Авторы настоятельно рекомендуют устанавливать программное обеспечение из исходных кодов.Шаг 1Проверьте, установлен ли пакет программы Squid с помощью следующей команды:[root@bastion /]# rpm –iq squidЕсли вы следовали нашим рекомендациям, то пакет не установлен.Шаг 2Перейдите в каталог, где находится пакет squid-2.4.STABLE6-1.7.2.asp.i386.rpm.
Если выв соответствии с рекомендациями главы 2 скопировали все пакеты, входящие в дистрибутив, в каталог/home/distrib, то выполните команду:[root@bastion /]# cd /home/distribи установите:[root@bastion distrib]# rpm –ihv openssl-0.9.6b-24asp.i686.rpm\cyrus-sasl-1.5.24-25.i386.rpm\openldap-2.0.23-4.i386.rpm\squid-2.4.STABLE6-1.7.2.asp.i386.rpmили обновите пакет:[root@bastion distrib]# rpm –Uhv squid-2.4.STABLE6-1.7.2.asp.i386.rpm316Часть 6.
Программное обеспечение для организации шлюзаЗАМЕЧАНИЕ Процедура настройки Squid версии 2.4.STABLE6 существенно отличаются от процедурынастройки Squid версии 2.5.STABLE1, подробно описанной ниже. Особенно это касается аутентификациипользователей. Если вы устанавливаете Squid версии 2.4.STABLE6 ознакомьтесь с документацией, котораяможет быть получена с домашней страницы проекта http://www.squid-cache.org/.Компиляция, оптимизация и инсталляция SquidДля инсталляции Squid из исходных кодов необходимо выполнить следующие операции.Шаг 1Распакуйте архив с пакетом squid-2.5.STABLE1.tar.gz в каталоге /var/tmp:[root@bastion tmp]# tar -xzpf squid-2.5.STABLE1.tar.gzПерейдите в каталог /var/tmp/squid-2.5.STABLE1:[root@bastion tmp]#cd /var/tmp/squid-2.5.STABLE1Шаг 2Создайте учетную запись пользователя squid без пароля и доступа к командному интерпретатору:[root@bastion squid-2.5.STABLE1]# useradd -c "Squid user" –u 23 -s/bin/false –r -d /var/spool/squid squid 2>/dev/null || :Шаг 3Для изменения заданных по умолчанию каталогов размещения файлов cache.log, access.log иstore.log на /var/log/squid, файла squid.pid – на каталог /var/run и местоположения каталогакэша – на /var/spool/squid, в файле /var/tmp/squid-2.5.STABLE1/src/Makefile.in измените строку:DEFAULT_LOG_PREFIX = $(localstatedir)/logsна:DEFAULT_LOG_PREFIX = $(localstatedir)/log/squidСтроку:DEFAULT_PID_FILE = $(DEFAULT_LOG_PREFIX)/squid.pidна:DEFAULT_PID_FILE = /var/run/squid.pidСтроку:DEFAULT_SWAP_DIR = $(localstatedir)/cacheна:DEFAULT_SWAP_DIR = $(localstatedir)/var/spool/squidЗАМЕЧАНИЕ Размещение кэша в каталоге /var/spool/, находящегося на отдельном разделе, позволит оптимизировать производительность кэширующего прокси-сервера, например, используя ulimit.Шаг 4Сконфигурируйте исходные коды Squid:[root@bastion squid-2.5.STABLE1]# CFLAGS="-O2 -march=i686 -funroll-loops"\./configure \--prefix='' \--sysconfdir=/etc/squid \--libexecdir=/usr/lib/squid \--localstatedir=/var \--bindir=/usr/sbin \--exec_prefix=/usr \--datadir=/usr/lib/squid \--mandir=/usr/share/man \--enable-gnuregex \--with-pthreads \--enable-storeio=diskd,ufs \--enable-removal-policies="heap" \--enable-delay-pools \Глава 24.